Hi, I have two Fuseki 4.6.1 instances in a Docker network (fuseki-admin and fuseki-end-user) that federate SPARQL queries between each other.
When I execute this query on fuseki-admin: PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX acl: <http://www.w3.org/ns/auth/acl#> PREFIX sioc: <http://rdfs.org/sioc/ns#> SELECT * FROM <urn:x-arq:UnionGraph> WHERE { VALUES ( ?this ?Container ) { ( <https://localhost:4443/whateverest/> <https://localhost:4443/> ) } SERVICE <http://fuseki-end-user:3030/ds/> { GRAPH ?Container { ?Container a ?Type } } } then I can see the ?Container binding was injected into the query string executed on fuseki-end-user: Query = SELECT * WHERE { GRAPH <https://localhost:4443/> { <https://localhost:4443/> a ?Type } } However when I add FILTER NOT EXISTS to the federated part PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX acl: <http://www.w3.org/ns/auth/acl#> PREFIX sioc: <http://rdfs.org/sioc/ns#> SELECT * FROM <urn:x-arq:UnionGraph> WHERE { VALUES (?this ?Container) { (<https://localhost:4443/whateverest/> <https://localhost:4443/>) } SERVICE <http://fuseki-end-user:3030/ds/> { GRAPH ?Container { ?Container a ?Type } FILTER NOT EXISTS { GRAPH ?this { ?this sioc:has_parent|sioc:has_container ?Container } } } } I see a single request in fuseki-end-user but none of the variables are bound to anything: Query = Query = SELECT * WHERE { GRAPH ?Container { ?Container a ?Type } FILTER NOT EXISTS { GRAPH ?this { ?this <http://rdfs.org/sioc/ns#has_parent>|<http://rdfs.org/sioc/ns#has_container> ?Container } This looks plain wrong because without bindings it eliminates too many (positive) results, and the final result on fuseki-end-user comes out empty. Is this a bug or am I misunderstanding something about VALUES and/or SERVICE? Martynas