Re: A modest attempt to re-open ISSUE-20

On Thu, Mar 14, 2013 at 9:09 AM, Henry Story <henry.story@bblfish.net>wrote:

>
> On 14 Mar 2013, at 08:26, Reto Bachmann-Gmür <reto@apache.org> wrote:
>
>
>
> On Wed, Mar 13, 2013 at 11:54 AM, Henry Story <henry.story@bblfish.net>wrote:
>
>>
>> On 13 Mar 2013, at 10:40, Andy Seaborne <andy.seaborne@epimorphics.com>
>> wrote:
>>
>> >
>> >
>> > On 13/03/13 07:10, Pierre-Antoine Champin wrote:
>> >> Henry,
>> >>
>> >> On Wed, Mar 13, 2013 at 2:15 AM, Henry Story <henry.story@bblfish.net
>> >> <mailto:henry.story@bblfish.net>> wrote:
>> >
>> >
>> >>
>> >>    The abstract syntax  specificiation allows for relative URLs:
>> >>    http://www.w3.org/TR/rdf11-concepts/#rdf-documents
>> >>
>> >>
>> >> This section is about serialization; it explicitly says "concrete
>> syntaxes".
>> >> On the other hand, the definition of IRI for the graph model
>> >>
>> >> http://www.w3.org/TR/rdf11-concepts/#dfn-iri
>> >>
>> >> explicitly says "IRIs in the RDF abstract syntax MUST be absolute".
>> >
>> > Yes.
>> >
>> > A syntax may allow a relative URI but that's in a document and a
>> document has a base URI.  The relative URI is relative to some base URI.
>>  Relative URI have a role in syntax
>> >
>> > RFC 3986 makes it clear:
>> >
>> > [[
>> > 5.1.  Establishing a Base URI
>> >
>> >   The term "relative" implies that a "base URI" exists against which
>> >   the relative reference is applied.  Aside from fragment-only
>> >   references (Section 4.4), relative references are only usable when a
>> >   base URI is known.
>> > ]]
>>
>> And indeed they are: when you POST content the server will know what
>> URIs the relative ones are referring to, once he has created the resource.
>>
>> IIUC, the server will know but the producer of the RDF serialization does
> not. So what is effectively serialized is not actually RDF but a pseudo RDF
> supporting relative URIs that can only be serialized in those RDF
> serializations implicitly supporting this.
>
>
> What you are serialising is a concrete syntax, not an abstract syntax.
> Concrete syntaxes can have
> relative URLs.
>

It seems to me that I'm serializing an RDF graph using a concrete syntax.


>
> When the Jena or Sesame APIs allow you to create such serialisations are
> those libraries lying because they don't know where the serialisation is
> going to end up on your hard drive or on your server?
>

For Clerezza and afaik also for Jena and Sesame you cannot create a graph
with relative URIs. You have to create valid RDF graphs and on
serialization you can specify to use a certain base URI against which
relative URIs are created.


> When an artist produced HTML with relative URLs and sends a tar of it to
> the company that made the request, is the html sent  to them flawed because
> the artist does not know the exact path for where the html is going to end
> up at? ( Put some RDFa in the html if you feel like saying the example is
> irrelevant )
>

For RDFa like other serializations formats with relative URI the
serilaization does not represent an RDF graph without the additional base
URI.


>
> I think not letting the client deal with the RDF on the abstract syntax
> level is quite a severe limitation.
>
>
> That is why we are using the concrete syntax Turtle to pass information to
> and fro, not the abstract one.
>

The spec mandates turtle as a serialization format. As turtle is designed
to serialize RDF graphs it seemed save to  assumed the payloads of the
messages are actually supposed to serialize RDF. The Turtle spec does not
foresee Turtle to be used to serialize a pseudo RDF without proper RDF URI
references. It can of course trivially be used for that purpose (with a
slight modification of section 2.1 and 2.2 of the turtle spec). But then
the LDP spec should clearly specify what turtle is supposed to serialize
and what other formats might be (ab)used for this.

Reto


>
> Henry
>
>
> Cheers,
> Reto
>
>
>
> Social Web Architect
> http://bblfish.net/
>
>

Received on Thursday, 14 March 2013 08:34:03 UTC