- From: James Leigh <james@3roundstones.com>
- Date: Thu, 14 Mar 2013 10:07:07 -0400
- To: Henry Story <henry.story@bblfish.net>
- Cc: Reto Bachmann-Gmür <reto@apache.org>, Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr>, Andy Seaborne <andy.seaborne@epimorphics.com>, public-ldp@w3.org
On Thu, 2013-03-14 at 10:03 +0100, Henry Story wrote: > > The relevant section of the Turtle spec is section 6.3 > http://www.w3.org/TR/turtle/#relative-iri > > > Notice that you cannot use NTriples to do what you want either, since > you cannot > know when creating a resource what the URI of the created resource is > going to be. > You would need to only use blank nodes in the graph produced, which > would be > to say the least very awkward. In Callimachus, when a resource is created there is no funny base-uri going on (we use the RDF model). Although we use sparql-update format, any RDF format would work equally well for us including NTriples. Lets calls the to-be-created resource URI the entity URI. All the triples that are to-be-inserted to the store must either have a blank node subject, have a subject URI of the entity URI, or have a subject URI of the entity URI plus a fragment identifier. This makes it very clear what the entity URI is. It is up to the client to decide if that entity URI is serialized as a base directive or absolute (we encourage the client to provide their own base directive). It is up to the server if it will use the entity URI as-is or if it will substitute a different entity URI. Using RDF model for linked data resource creation works, we have a working implementation. Earlier we had experimented with changing base-uri when parsing, but it was too problematic for all the reasons stated in this thread and we replaced it with the above. Regards, James
Received on Thursday, 14 March 2013 14:07:35 UTC