Re: Practical issues arising from the "null relative URIs"-hack

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>

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.

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.

Received on Wednesday, 26 March 2014 11:54:20 UTC