Hi I'm not sure if if having a named graph with its name being a relative URI is compliant with the W3C recommendations, But what is sure is that it does not work in TDB. The outcome of this code is that the named graph's content is not retrieved.
The use case behind is that I'm developing a simplified LDP server backed by TDB with Scala and Banana-RDF: https://github.com/jmvanel/semantic_forms/blob/master/scala/forms/src/main/scala/deductions/runtime/services/LDP.scala import com.hp.hpl.jena.query.*; import com.hp.hpl.jena.rdf.model.*; import com.hp.hpl.jena.tdb.*; import com.hp.hpl.jena.vocabulary.*; public class TestTDBNamedGraphRelativeURI { public static void main(String[] args) { String graphURI = "test1/test1.ttl"; Dataset dataset = TDBFactory.createDataset("TDB1"); Model model = ModelFactory.createDefaultModel(); String personURI = "http://somewhere/JohnSmith"; Resource johnSmith = model.createResource(personURI); String fullName = "John Smith"; johnSmith.addProperty(VCARD.FN, fullName); dataset.addNamedModel(graphURI, model); String q = "CONSTRUCT { ?s ?p ?o } " + "WHERE { GRAPH <" + graphURI + "> {?s ?p ?o } }"; Query query = QueryFactory.create(q) ; QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ; Model resultModel = qexec.execConstruct() ; qexec.close() ; System.out.println( resultModel ); } } -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
