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

Reply via email to