The question remains of how to debug a SPARQL execution, but in this particular case , the Jena community might have fun at learning that it's a pure Virtuoso issue (that I'll report ) . This fails:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX dbr: <http://dbpedia.org/resource/> SELECT * WHERE { * BIND ( "PARIS"@fr AS ?CITY_string ) * ?CITY a dbo:PopulatedPlace . ?CITY rdfs:label ?lab . * ?lab <bif:contains> ?CITY_string .* ?CITY dbo:country dbr:France . filter( ucase(str(?lab)) = str(?CITY_string) ) } in YASGUI with this message: Virtuoso 22023 Error SR468: contains() can not be called as plain built-in function, it's a macro handled by SQL compiler FYI, *bif:contains* is the full text operator in Virtuoso. 2018-02-01 21:12 GMT+01:00 Jean-Marc Vanel <[email protected]>: > Sorry , the mail was send by itself ... > > 2018-02-01 21:03 GMT+01:00 Jean-Marc Vanel <[email protected]>: > >> Hi >> >> I'm a bit new to federated) queries, >> so I carefully tested the 2 parts of the final query before merging them: >> > http://semantic-forms.cc:9112/ldp/1517506879382-33187826171709673 > > The query is: > https://github.com/jmvanel/semantic_forms/blob/master/ > sparql/cities-to-URIs.rq , > sent to my endpoint > http://semantic-forms.cc:9112/sparql > > But running the query gives : > > $ runMain arq.rsparql --file > /home/jmv/src/semantic_forms/sparql/cities-to-URIs.rq > --service=http://semantic-forms.cc:9112/sparql --debug --verbose > [info] Running arq.rsparql --file > /home/jmv/src/semantic_forms/sparql/cities-to-URIs.rq > --service=http://semantic-forms.cc:9112/sparql --debug --verbose > ERROR StatusLogger Log4j2 could not find a logging implementation. Please > add log4j-core to the classpath. Using SimpleLogger to log to the console... > org.apache.jena.atlas.json.JsonParseException: *Not a JSON object START: > [STRING:HTTP 500 error making the query: SPARQL Request Failed]* > at org.apache.jena.atlas.json.io.parser.JSONParserBase. > exception(JSONParserBase.java:127) > at org.apache.jena.atlas.json.io.parser.JSONP.parse(JSONP.java:49) > at org.apache.jena.atlas.json.io.parser.JSONParser.parse( > JSONParser.java:58) > at org.apache.jena.atlas.json.io.parser.JSONParser.parse( > JSONParser.java:40) > at org.apache.jena.atlas.json.JSON._parse(JSON.java:126) > at org.apache.jena.atlas.json.JSON.parse(JSON.java:38) > at org.apache.jena.sparql.resultset.JSONInput.parse( > JSONInput.java:113) > at org.apache.jena.sparql.resultset.JSONInput.process( > JSONInput.java:100) > at org.apache.jena.sparql.resultset.JSONInput.fromJSON( > JSONInput.java:63) > at org.apache.jena.query.ResultSetFactory.fromJSON( > ResultSetFactory.java:331) > at org.apache.jena.sparql.engine.http.QueryEngineHTTP. > execResultSetInner(QueryEngineHTTP.java:373) > at org.apache.jena.sparql.engine.http.QueryEngineHTTP. > execSelect(QueryEngineHTTP.java:340) > at org.apache.jena.sparql.util.QueryExecUtils.doSelectQuery( > QueryExecUtils.java:196) > at org.apache.jena.sparql.util.QueryExecUtils.executeQuery( > QueryExecUtils.java:78) > at arq.rsparql.exec(rsparql.java:76) > at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) > at jena.cmd.CmdMain.mainRun(CmdMain.java:58) > at jena.cmd.CmdMain.mainRun(CmdMain.java:45) > at arq.rsparql.main(rsparql.java:44) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at sbt.Run.invokeMain(Run.scala:67) > > It looks like SERVICE Virtuoso of dbpedia.org is sending some *JSON* that > Jena does not understand ... > Hence the title question: > How to debug the execution of a SPARQL query, especially is case of a > federated query ? > > > > > >> >> >> -- >> Jean-Marc Vanel >> http://www.semantic-forms.cc:9111/display?displayuri=http:// >> jmvanel.free.fr/jmv.rdf%23me#subject >> <http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me> >> Déductions SARL - Consulting, services, training, >> Rule-based programming, Semantic Web >> +33 (0)6 89 16 29 52 <+33%206%2089%2016%2029%2052> >> Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui >> > > > > -- > Jean-Marc Vanel > http://www.semantic-forms.cc:9111/display?displayuri=http:/ > /jmvanel.free.fr/jmv.rdf%23me#subject > <http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me> > Déductions SARL - Consulting, services, training, > Rule-based programming, Semantic Web > +33 (0)6 89 16 29 52 <+33%206%2089%2016%2029%2052> > Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui > -- Jean-Marc Vanel http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject <http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me> Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web +33 (0)6 89 16 29 52 Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
