Using relative URIs is almost always ill-advised since URI resolution will
be system and environment dependent

In this case the problem is that the URI gets resolved differently in
different parts of the system

Try listing the graphs to see the actual graph names that end up in the
store:

SELECT ?g WHERE { GRAPH ?g { } }

Rob

On 28/07/2015 11:18, "Jean-Marc Vanel" <jeanmarc.va...@gmail.com> wrote:

>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