Hello, I'm getting an exception thrown for running a query through QueryExecutionFactory.sparqlService - yet running the exact same query directly in Fuseki works properly.
I have the following Java code snippet: String queryString = "prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" + "prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" + "select * where {\n" + " {select * where {\n" + " ?s1 ?p1 [\n" + " rdfs:label ?label\n" + " ]. }}\n" + " {select * where {\n" + " ?s2 ?p2 [\n" + " rdf:type ?type\n" + " ]. }}\n" + "} limit 50"; QueryExecution queryExec = QueryExecutionFactory.sparqlService( "http://localhost:3030/ds/query", queryString); ResultSet rs = queryExec.execSelect(); When I try to run this query, I get this exception : HttpException: 400 Parse error: PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT * WHERE { { SELECT * WHERE { ?s1 ?p1 _:b0 . _:b0 rdfs:label ?label } } { SELECT * WHERE { ?s2 ?p2 _:b0 . _:b0 rdf:type ?type } } } LIMIT 50 Line 15, column 19: Blank node label reuse not allowed at this point: _:b0 Error 400: Parse error: PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT * WHERE { { SELECT * WHERE { ?s1 ?p1 _:b0 . _:b0 rdfs:label ?label } } { SELECT * WHERE { ?s2 ?p2 _:b0 . _:b0 rdf:type ?type } } } LIMIT 50 Line 15, column 19: Blank node label reuse not allowed at this point: _:b0 It appears that sparqlService resolves the [ ] notation in advance, before it sends the query to Fuseki, and Fuseki is getting invalid SPARQL. The problem seems to occur only if there are two subqueries that are using the [ ] notation for blank nodes, and it tries to use the same blank node ID in both subqueries - if I run this query w/o using subqueries it works fine. Again, running the query directly in Fuseki works. I'm using Jena 2.7.4, ARQ 2.9.4, and Fuseki 0.2.5 APIs. Thank you for your assistance! -Elli
