- From: <henry.story@bblfish.net>
- Date: Thu, 27 Mar 2014 08:20:09 +0100
- To: Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr>
- Cc: Reto Gmür <reto@apache.org>, "public-ldp@w3.org" <public-ldp@w3.org>
- Message-Id: <BB625FFE-9DF5-49E0-8656-9662044D0821@bblfish.net>
On 26 Mar 2014, at 12:53, Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr> wrote:
> Henry, all,
>
> for the record, I have accepted the fact that the majority in the WG disagrees with me on that point,
> and although I haven't changed my mind about it, I am not suggesting to make such an important change at this point of the process.
>
> Still,
>
>
> On Wed, Mar 26, 2014 at 12:23 PM, henry.story@bblfish.net <henry.story@bblfish.net> wrote:
>
> On 26 Mar 2014, at 10:29, Reto Gmür <reto@apache.org> wrote:
>> You realize you're forcing developers of clients and servers to operate at a much lower level of abstraction than if LDP would be designed in term of exchanging RDF?
>
> You need to work at the appropriate level of abstraction.
>
> Indeed, and the RDF *abstract* syntax seems more appropriate to me (and apparently to Reto) than some of its concrete syntaxes.
> (remember that N-Triple does not allow relative URIs)
>
> I have implemented this, and so have others.
>
> Nobody argued that it was impossible...
>
> There are really a whole number of ways to get this done.
>
>> The client cannot use a turtle serializer to create the request body. The client must generate the body by other means or modify the turtle created by a turtle serializer.
>
> Jena, Sesame and most other serialisers I have seen allow you to take a graph, and serialise it to a relative graph, by specifying a base URL.
>
> Of course they do, but you can not rely on that.
> Consider the following graph :
>
> <http://example.org/a> a <http://example.org/B> ;
> <http://example.org/b> <http://example.org/c>.
>
>
> When I serialize it in XML with RDFLib, specifying "http://example.org/" as the base URI, I get
>
> <?xml version="1.0" encoding="utf-8"?>
> <rdf:RDF
> xmlns:ns1="http://example.org/"
> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> >
> <ns1:D rdf:about="a">
> <ns1:b rdf:resource="c"/>
> </ns1:D>
> </rdf:RDF>
That is a bit odd. It has not relativized all the URIs. If I move that to my hard drive and use cwm to
translate that back I get
$ cwm eg.rdf --ntriples
<file:///Users/hjs/Documents/card/a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/D> .
<file:///Users/hjs/Documents/card/a> <http://example.org/b> <file:///Users/hjs/Documents/card/c> .
Instead of having all the URIs referring to my file system, half of them still refer to the example.org domain. So there seems to be a bug at least at that level.
> You can see that the base URI still appears in the result (as a namespace declaration).
>
> In my opinion this is not a bug. The base URI you provide to the serializer is just a hint, it does not mandate that this URI is completely absent from the resulting serialization.
A namespace that is not used has no impact on the graph created. You may think of it as a hint, especially if you know that the transform was done with your version
of redland. But I don't think you can go very far otherwise.
>
> So I concur with Reto ; LDP as it is specifies prevent the client to rely on standard serializers, which is a pain in the arm.
You seem to have a problem with a specific version of redland. The serialisers I use ( Jena and Sesame ) don't have this problem.
Henry
Social Web Architect
http://bblfish.net/
Received on Thursday, 27 March 2014 07:20:44 UTC