I resolved my issue by making sure that all URIs are absolute. Nevertheless, I'm still curious about how to address this issue.
Juan Sequeda +1-575-SEQ-UEDA www.juansequeda.com On Thu, Dec 4, 2014 at 3:18 PM, Juan Sequeda <[email protected]> wrote: > Andy, all, > > I have RDF in turtle syntax, which has relative URIs (e.g. <#Foo>) and no > base define. > > If I do the following, > > curl -X POST -d @rdfWithRelativeURI.ttl -H "Content-Type: text/turtle" > http://localhost:3030/ds/data?graph=http%3A%2F%2Ffoo.com%2Ftest > > everything works fine and the absolute URI is now: < > http://localhost:3030/ds/data?graph=http%3A%2F%2Ffoo.com%2Ftest#Foo> > > Now I have the following code: > > > Model m = getModelFromSomewhere(); //This model has a relative URI (same > data as in rdfWithRelativeURI.ttl) > DatasetAccessor accessor = DatasetAccessorFactory.createHTTP(" > http://localhost:3030/ds/data"); > accessor.add("http://foo.com/test", m); > > And I'm getting a BadURIException: > > com.hp.hpl.jena.shared.BadURIException: Only well-formed absolute URIrefs > can be included in RDF/XML output: <#Foo> Code: > 57/REQUIRED_COMPONENT_MISSING in SCHEME: A component that is required by > the scheme is missing. > > What's the best way of dealing with this? > > Is there a way that I can add the content type in the header so it knows > it is Turtle and not RDF/XML? > Or can I change the default syntax of the model to Turtle from RDF/XML (is > that even possible)? > Or can I just add a base somehow? > > Thanks for the pointers. I usually never deal with relative URIs so that's > why this is new to me. > > Thanks! > > Juan >
