I'm trying to query a named graph in an in-memory dataset using SPARQL. What is the correct way to refer to the named graph in the FROM clause? Enclosing the graph's name (a URN) in braces isn't working for me (see reproduction below).
I suspect it has something to do with how the in-memory dataset resolves the FROM clause (cf. https://jena.apache.org/tutorials/sparql_datasets.html)? I don't have problems when using a TDB-backed dataset. Tracking as: https://issues.apache.org/jira/browse/JENA-1135 Thanks, Todd ======= Jena 3.0.1 import org.apache.jena.query.*; import org.apache.jena.rdf.model.*; import org.apache.jena.vocabulary.RDFS; public class GraphTest { public static void main(String [] args) { Dataset data = DatasetFactory.create(); Model model = ModelFactory.createDefaultModel(); model.getResource("urn:foo").addLiteral(RDFS.label, "foobar"); data.addNamedModel("urn:graph", model); String sparql = "SELECT ?s ?p ?o FROM <urn:graph> WHERE { ?s ?p ?o }"; ResultSet results = QueryExecutionFactory.create(sparql, data).execSelect(); int cnt = 0; while (results.hasNext()) { cnt++; results.next(); } // should both print 1 System.out.println("# results: " + cnt); // prints 0 System.out.println("Model size: " + data.getNamedModel("urn:graph").size()); // prints 1 } }
