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

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

> On 10/11/2012 10:25 AM, Henry Story wrote:
>> 
>> On 11 Oct 2012, at 15:59, Andy Seaborne <andy.seaborne@epimorphics.com> wrote:
>> 
>>> 
>>> 
>>> On 11/10/12 14:29, Kingsley Idehen wrote:
>>>>> I thinkAndy was saying that that the RDF triples -/containing absolute
>>>>> URIs/- are the data.
>>>>> 
>>>> 
>>>> But that simply isn't accurate.
>>> 
>>> Kingsley -
>>> 
>>> We can resolve this quite simply - what do the specs say?  We can wish for one thing but that does not make it automatically true.
>>> 
>>> So please reference the spec text - I'm quite happy to be shown to be wrong here, it wouldn't be the first time!
>> 
>> :-) Ok so please hold on here
>> 
>> http://www.w3.org/TR/rdf11-concepts/#section-IRIs
>> [[
>> Some concrete syntaxes permit relative IRIs as a shorthand for absolute IRIs, and define how to resolve the relative IRIs against a base IRI.
>> ]]
> 
> Andy is right: there is no relative URIs in RDF-as-a-model.
> 
> But that's ok as this does not prevent one to write an algorithm
> defining a "graph of relative IRIs" that is waiting to be a plain RDF
> graph. For example in the RDB2RDF Direct Mapping [1]:
> 
> [[
> The algorithms in this document compose a graph of relative IRIs which
> must be resolved against a base IRI [RFC3987] to form an RDF graph.
> ]]
> 
> Alexandre.
> 
> [1] http://www.w3.org/TR/rdb-direct-mapping/#emp-addr

Nice find!

And I agree. One can define a new concept of a graph of relative URIs.
Certain rules of RDF logic just won't be able to apply in such a graph.

(eg: it won't be possible to merge two graphs using normal RDF merging
 without finding some new method such as graph context skolemization )

> 
>> 
>> ( They should really say "most")
>> 
>> The syntaxes can only specify how to resolve a relative URI relative to a base URI.
>> It is up to other specs to define how you get the BASE url. For example it is
>> not necessarily the URL you GET, because http allows the server to return a 301
>> which changes how you interpret the relative URLs in the graph. If you open a file
>> on the file system, you don't even use HTTP but the relative URL is then
>> file:///localhost/...
>> 
>> 
>> So the same here with POST. With POST *we* define how we get the BASE URL.
>> We are not the first to do so, as I mentioned previously here is an RFC
>> which I suppose had a lot of reviews
>> 
>>  http://tools.ietf.org/html/rfc5995#section-3.4
>> 
>> Adapted that section to Turtle you get:
>> 
>>  _Request_
>> 
>>   POST /collection;add-member/ HTTP/1.1
>>   Host: example.com
>>   Content-Type: text/turtle
>>   Slug: Sample Title
>>   Content-Length: 67
>> 
>>   @prefix foaf: <http://xmlns.com/foaf/0.1/>
>>   <> a foaf:Document .
>> 
>>  _Response_
>> 
>>   HTTP/1.1 201 Created
>>   Location: http://example.com/collection/sample%20title
>> 
>> Good so I think we can multiply the number of RFCs and documents on this subject.
>> 
>> 
>> 
>>> 
>>> 	Andy
>>> 
>> 
>> Social Web Architect
>> http://bblfish.net/
>> 
> 

Social Web Architect
http://bblfish.net/

Received on Thursday, 11 October 2012 14:56:26 UTC