Hi,
I am running the following query with stardog studio:
(.........)
Service ?connectionURI{
graph ?namedGraphs{
?s ?p <https://pid.bayer.com/2000/I/SolubilityResult_45094> ;
OPTIONAL{?s ?p2 ?o .
} FILTER (!isLITERAL(?o) || LANG(?o) = "" || LANG(?o) = "en")
}
OPTIONAL{?o2 a ?s}
} }}
the federation part is send to a fuseki server. on the fuseki output I see the following:
08:55:53 INFO Fuseki :: [143] Query = SELECT ?s ?p ?namedGraphs ?p2 ?o ?o2 WHERE { { GRAPH ?namedGraphs { ?s ?p <https://pid.bayer.com/2000/I/SolubilityResult_45094> . } OPTIONAL { GRAPH ?namedGraphs { ?s ?p2 ?o . } } FILTER ((!(isLiteral(?o)) || ("" = Lang(?o) || "en" = Lang(?o)))) } OPTIONAL { ?o2 rdf:type ?s . } }
08:55:53 INFO Fuseki :: [143] 400 Bad Request (0 ms)
I see that "a" was replaced by rdf:type but rdf as a prefix ist not defined. When I copy paste this query to the fuseki UI and add a prefix definition for rdf, the query works. Is it possible that stardog forgets to forward the prefixes for the part within the service element?
Thanks in advance