You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RDFLib SPARQL query processor considers the initBindings parameter of the Store/Graphquery method as a set of binds to do at the beginning of the query, inside of the SELECT expression. However SPARQLStore considers it as a join to be done after the query have been processed using a final VALUES clause when it generates a SPARQL query to send to the remote store.
For example the call
store.query("SELECT ?s WHERE { FILTER(BOUND(?s)) }", initBindings={Variable("s"): URIRef("http://example.com/foo")})
I can confirm the issue. FWIW, I found what might be a workaround, you can set the use_store_provided kwarg to False and get the desired behaviour.
Using a Fuseki instance primed with:
RDFLib SPARQL query processor considers the
initBindings
parameter of theStore
/Graph
query
method as a set of binds to do at the beginning of the query, inside of the SELECT expression. HoweverSPARQLStore
considers it as a join to be done after the query have been processed using a finalVALUES
clause when it generates a SPARQL query to send to the remote store.For example the call
will be evaluated by the
Memory
store likeand by the
SPARQLStore
like:This leads the
Memory
store to return one solution with the assignation?s -> <http://example.com/foo>
and theSPARQLStore
to return no solution.It would be great to harmonize the behavior. I encountered this issue while working on
oxrdflib
that currently follows theSPARQLStore
behavior, breaking some usages relying on theMemory
store behavior.The text was updated successfully, but these errors were encountered: