Closed gianluca-pepe closed 2 years ago
Eliminando una variabile in testa, se questa è coinvolta in un alias (immagino in generale in un'espressione), non viene eliminata (dallo sparql) perché viene rimossa con: https://github.com/obdasystems/sparqling-ws/blob/8880daaf9faab5a348893b424b528b53e8a879b7/src/main/java/com/obdasystems/sparqling/query/QueryGraphHandler.java#L337 Che a quanto ho capito non tocca le espressioni esistenti.
Oppure anche se si rinomina due volte di fila una variabile, in testa ci sarà qualcosa del tipo: SELECT (?v as ?rename1) (?v as ?rename2), perché viene eliminata la vecchia variabile di nuovo con: https://github.com/obdasystems/sparqling-ws/blob/8880daaf9faab5a348893b424b528b53e8a879b7/src/main/java/com/obdasystems/sparqling/query/QueryGraphHandler.java#L360-L365 In realtà credo che eventuali alias già presenti andrebbero solo modificati perché potrebbero esserci funzioni o filtri definiti, giusto?
SELECT (?v as ?rename1) (?v as ?rename2)
Ho fatto un nuovo code generation. L'id della testa non può essere un intero ma deve essere una variabile (a causa delle API di Jena)
Eliminando una variabile in testa, se questa è coinvolta in un alias (immagino in generale in un'espressione), non viene eliminata (dallo sparql) perché viene rimossa con: https://github.com/obdasystems/sparqling-ws/blob/8880daaf9faab5a348893b424b528b53e8a879b7/src/main/java/com/obdasystems/sparqling/query/QueryGraphHandler.java#L337 Che a quanto ho capito non tocca le espressioni esistenti.
Oppure anche se si rinomina due volte di fila una variabile, in testa ci sarà qualcosa del tipo:
SELECT (?v as ?rename1) (?v as ?rename2)
, perché viene eliminata la vecchia variabile di nuovo con: https://github.com/obdasystems/sparqling-ws/blob/8880daaf9faab5a348893b424b528b53e8a879b7/src/main/java/com/obdasystems/sparqling/query/QueryGraphHandler.java#L360-L365 In realtà credo che eventuali alias già presenti andrebbero solo modificati perché potrebbero esserci funzioni o filtri definiti, giusto?