On 19/07/12 16:28, Elli Schwarz wrote:
Hello,


I'm using the Jena API to connect to Fuseki via a DatasetAccessor, and I've 
noticed that when I attempt to create a named graph with a URI that contains 
the # sign that the URI is cut off from the # sign and on.

In other words, I have this code:
          Model m = ModelFactory.createDefaultModel();
          m.add(ResourceFactory.createResource("http://example.com/foo#test";),
          ResourceFactory.createProperty("http://example.com/prop";), "foo");

          DatasetAccessor ds = 
DatasetAccessorFactory.createHTTP("http://localhost:3030/ds/data";);
          ds.add("http://mygraph.com/foo#test";, m);     //the characters #test 
are cut off in the named graph URI

          Model otherModel = ds.getModel("http://mygraph.com/foo#test";);  
//this doesn't work since the graph is actually namedhttp://mygraph.com/foo

When I look at the named graphs created in Fuseki with a SPARQL query, I also see that the 
graph is named <http://mygraph.com/foo> without the trailing #test. Is that on purpose? 
While I understand that the # is used as an anchor tag to represent the position within a 
document, and therefore perhaps I shouldn't use # in a named graph URI since it represents an 
entire "document", it is still a valid URI so I find it weird that it gets cut off.


Thank you,
  Elli


(note to self - move the DatasetAccessor code into ARQ)

The client code is failing to %-encode the graph name (the SOH scripts do the right thing).

JENA-282 - and fixed, since it turned out only one point needed fixing.

(And, yes, using a # fragment is a bit odd)

By the way, have you seen Stephen's jena-client project? It's an experimental new client interface to working with RDF data in a repository-like fashion.

http://s.apache.org/vzm

https://svn.apache.org/repos/asf/jena/Experimental/jena-client/


        Andy

Reply via email to