Re: Linked Data Platform ISSUE-20: What is the base URI of a POSTed document?

On 11 Oct 2012, at 17:19, Alexandre Bertails <bertails@w3.org> wrote:

> Andy Seaborne wrote:
>> A better framing is that LDP is document manipulation.
> 
> I'd prefer to have a proper way to speak about those things than
> relying on some wording as a workaround.

I think we should dig a bit deeper into what is entailed in this
disagreement.

(1) At the document level we don't have any trouble POSTing documents with
relative URIs as RFC5995 shows. Furthermore web developers
from Tim Berners Lee onwards as he wrote the first web page,
to any web developer worth his salt now, do this all the time.

We can even make it work at the semantic level in a number of ways.

(2) One way pointed out by Alex is to create a new concept of relative-
url-graphs that get their base url context later. This should not
be new to RDF with its Open World Assumption. Clearly it should be
possible for me to have information about something and no longer know
what context it was said in. We do this in natural language all the time:
Some x said "I would like some bread", I overhear at a party. Perhaps I 
later discover that it was said by the King, allowing me to ground the
sentence.

(3) There may be other ways to get the semantics right. One may want to stick
very close to the actual specs only allowing fully formed graphs. A server
somehow in a POST sends a fully formed graph. But the server on the other hand
then maps that graph into another one, by a transformation on all urls
containing the base url. Eg in NTriples we could have

POST /collection/ HTTP/1.1
Host: example.com
Content-Type: text/plain
Origin-Base: <urn:something:>

<urn:something:#me> <http://xmlns.com/foaf/0.1/knows> <http://joe.name/#him> .

We could define such a post to creates a new resource, perhaps one containing the
following 

<http://example.com/collection/123#me> <http://xmlns.com/foaf/0.1/knows> <http://joe.name/#him> .


I bet you that if you do the maths, this version coincides with the previous one 
containing graphs with relative urls, and that that coincides with the purely syntactic version.

So the questions I am interested then are
- what advantages do the semantic version (2) ond (3) give over (1)? 
 My guess is that we can define the protocol in a way that leaves the syntax open, so that we can speak in a way that does not require us to pick winners in the syntactic space (json vs rdf/xml, etc)
- what advantage does (2) have over (3)? 
 In my view it is easier to understand. Relative URLs like indexicals are just part of language ( as soon as you have a speaker you have indexicals, because a speaker should be able to ask: "What is my name?")
  Another advantage is that (2) might be all we need to get the Web2.0 people on our side - because they may just be the people who always made this assumption that graphs could be incomplete. This becomes obvious when you think: how should the server posting the graph come to decide what the global name of the resources should be? He'll inevitably make an arbitrary choice. And rather than make an arbitrary choice, it may just be better to accept the importance of indexicals.

Anyway, I think all of these can do the work needed. 




Social Web Architect
http://bblfish.net/

Received on Thursday, 11 October 2012 20:38:43 UTC