- From: Reto Gmür <reto@wymiwyg.com>
- Date: Mon, 31 Mar 2014 11:51:55 +0200
- To: Kingsley Idehen <kidehen@openlinksw.com>
- Cc: "public-ldp@w3.org" <public-ldp@w3.org>
- Message-ID: <CALvhUEWm=vK8nb7fbaRt-F4yv8Pw9xwqM9A3-pVhzZ48=+29+A@mail.gmail.com>
On Fri, Mar 28, 2014 at 2:42 PM, Kingsley Idehen <kidehen@openlinksw.com>wrote:
> On 3/28/14 7:02 AM, Reto Gmür wrote:
>
> On Fri, Mar 28, 2014 at 12:04 AM, Kingsley Idehen <kidehen@openlinksw.com>wrote:
>
>> On 3/27/14 4:42 PM, Reto Gmür wrote:
>>
>>
>>>
>>> If you consider RFC5995 ( Using POST to Add Members to WebDAV )
>>> http://tools.ietf.org/html/rfc5995
>>> you need only consider that it does not say anything about relative URIs
>>> to understand
>>> that because it says nothing it does exactly what we are proposing. If
>>> you were to use
>>> a RFC5995 compliant server to POST some Turtle with relative URIs in it,
>>> then you'd
>>> get exactly the LDP intended result. A turtle document that was posted
>>> with a <> URI would refer
>>> to the document created.
>>>
>> Granted. The same happens if you send an email with text/turtle
>> content-type. Still, a bit far fetched to see this use as the intended
>> design or even as to see an established design pattern in that, imho.
>>
>>
>> This is an established design pattern, that's poorly understood.
>> Relative URIs are really a major route to taking a lot of confusion and
>> tedium out of Linked Data exploitation.
>>
>
> I doubt about the this being established (given that it violates
> RFC3986). But maybe you're right and relative URIs would be elegant and
> powerful. But then they should be in the RDF data model rather than having
> LDP breaking the abstraction. (I'm a bit afraid relative URIs in RDF might
> also add more confusion by people expecting the URIs so be relative to the
> position of the resource in the graph).
>
> What is need to create the body of a POST request using RDF toolkits with
> the current design:
>
> var i = new NamedResource("
> http://some.temporary.uri/that/must/not/be/used/elsewere/in/representation
> ")
> graph.addTriple(i, RDFS.descrition, "This is the resource that will be
> created")
> ..add more triples
> var turtleToPost = graph.serializeAsTurtleWithBaseUri("
> http://some.temporary.uri/that/must/not/be/used/elsewere/in/representation")
>
>
> In my opinion, using this throwaway URI and hoping it doesn't escape
> from the context of our code is a dirty hack.
>
> If the RDF would support relative URIs things would be straight forward:
>
> var i = new NamedResource("") //Currently illegal and not supported by
> most toolkits!!!
> graph.addTriple(i, RDFS.descrition, "This is the resource that will be
> created")
> ..add more triples
> var turtleToPost = graph.serializeAsTurtle()
>
> Of course if RDF would support relative URIs we could use any
> serialization and also the problem I initially illustrated would be gone.
>
> The current question is not about using relative URIs or not but if the
> spec should be defined in terms of RDF or in terms of some particular
> serializations. The latter prevents RDF tools from being used, at least
> from being used in a straight forward way.
>
> Cheers,
> Reto
>
>
> To be clearer, an actual RDF graph isn't comprised or relative URIs. Those
> URIs have to be absolute. Put differently, the final product of an RDF
> document processing pipeline has to be a graph comprised of absolute URIs.
>
The problem is that with RDF tools you cannot create (unless you use a
throwaway URI hack as described above) what needs to be posted against an
LDP server.
>
> There is still a subtle conflation of notation for describing an RDF graph
> and the actual serialization that manifests when said has been processed by
> a processor. For instance, a Turtle doc with relative URIs is basically an
> RDF description that a processor will transform into a final RDF document
> that's comprised of a graph with absolute URIs.
>
That's why I think that relying on turtle documents with undefined
based-URI conflicts with the turtle spec that says: "A Turtle document
defines an RDF graph
<http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-graph>composed of set of
RDF triple <http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple>s"
Cheers,
Reto
>
> If I import data into Virtuoso (for instance) from a Turtle doc comprised
> of relative URIs, the RDF graph that manifests in the DBMS isn't comprised
> of relative URIs. It can't be.
>
>
> [1] http://bit.ly/1fWnvCP -- Linked Data Deployment Tutorial based on
> Relative URIs using Turtle.
>
> --
>
> Regards,
>
> Kingsley Idehen
> Founder & CEO
> OpenLink Software
> Company Web: http://www.openlinksw.com
> Personal Weblog: http://www.openlinksw.com/blog/~kidehen
> Twitter Profile: https://twitter.com/kidehen
> Google+ Profile: https://plus.google.com/+KingsleyIdehen/about
> LinkedIn Profile: http://www.linkedin.com/in/kidehen
>
>
>
>
Received on Monday, 31 March 2014 09:52:20 UTC