Re: Containers and membership subject/object asymmetry

On 20 Mar 2013, at 17:29, Steve Battle <steve.battle@sysemia.co.uk> wrote:
> How does the PUT interact with section 5.5.1?
> "5.5.1 LDPC servers should not allow HTTP PUT to update a LDPC's members;
> if the server receives such a request, it should respond with a 409
> (Conflict) status code."
> 
> I think the use of the membership predicate with the membership subject in
> the PUT would trigger the 409.

I don't understand the reasoning behind issuing 409s here anyway. I understand 409 to indicate an update conflict -- two parties tried to update the same resource at the same time. This isn't the case here.

> However, I agree that avoiding the POST somehow is probably better because
> the intention is not for <http://example.org/richard#me>to become managed
> by the LDPC.
> 
> Maybe 5.5.1 needs adjustment.

+1

Richard



> 
> Steve.
> 
>> -----Original Message-----
>> From: Richard Cyganiak [mailto:richard@cyganiak.de]
>> Sent: 20 March 2013 16:25
>> To: Steve Battle
>> Cc: public-ldp-wg@w3.org
>> Subject: Re: Containers and membership subject/object asymmetry
>> 
>> Steve,
>> 
>> I think it can be done this way:
>> 
>> [[[
>> PUT /steves/friends HTTP/1.1
>> Host: example.org
>> Content-Type: text/turtle
>> 
>> @prefix foaf: <http://xmlns.com/foaf/0.1/>.
>> <http://example.org/steves#me> foaf:knows
>> <http://example.org/richard#me>.
>> ]]]
>> 
>> I believe that the members of LDPCs can be arbitrary RDF terms,
> including
>> literals and non-LDPR URIs (e.g., hash URIs).
>> 
>> It's probably true that you can't do this with POST. Is that a problem?
> (I think
>> it's not a problem with the example you've chosen, because the documents
>> for Steve and Richard will not be created through a "friend" container
> but
>> through some "all personal profiles" container.)
>> 
>> In my mind, the kind of container that creates new resources through
> POST is
>> only for containers that have "collection of documents" semantics. A
>> collection of friends is different.
>> 
>> Best,
>> Richard
>> 
>> 
>> On 20 Mar 2013, at 15:31, Steve Battle <steve.battle@sysemia.co.uk>
> wrote:
>> 
>>> I'm experiencing mild anxiety about containers and membership
>> subject/object asymmetry. Consider the Steve's friends example.
>>> 
>>> Consider an LDPR representing Steve foaf profile
>> <http://example.org/steves>:
>>> 
>>> <> a ldp:Resource, foaf:PersonalProfileDocument ;
>>>                foaf:primaryTopic <#me> .
>>> 
>>> <#me> a foaf:Person ;
>>>                foaf:name "Steve" ;
>>>                foaf:nick "SteveS" .
>>> 
>>> And another LDPR representing Richard's foaf profile
>> <http://example.org/cygri>:
>>> 
>>> <> a ldp:Resource, foaf:PersonalProfileDocument ;
>>>                foaf:primaryTopic <#me> .
>>> 
>>> <#me> a foaf:Person ;
>>>                foaf:name "Richard" ;
>>>                foaf:nick "cygri" .
>>> 
>>> To represent Steve's friends, I'll create a container
>> <http://example.org/steves/friends>. Note that the membership subject is
>> not the container, nor the LDPR for SteveS, but the hash URI
> representing
>> Steve himself, because the subject of the 'knows' predicate is a Person
>> rather than a document. Now I want to assert that Steve knows Richard as
>> defined below. Note that the object of 'knows' is also a Person.
>>> 
>>> <> a ldp:Container ;
>>>                ldp:membershipSubject foaf:knows ;
>>>                ldp:membershipSubject <http://example.org/steves#me> .
>>> 
>>> <http://example.org/steves#me> foaf:knows
>> <http://example.org/richard#me> .
>>> 
>>> Here comes the asymmetry; while I can use a hash URI as the membership
>> subject, I can't see how I can construct the above reference to the
> member
>> hash URI <http://example.org/richard#me> using POST. Could we allow a
>> URL to be POSTed (with an empty body) to a container via
> Content-Location?
>> Is this perhaps something along the lines that Roger Menday was asking
> for
>> (atomic operations)?
>>> 
>>> Thoughts?
>>> 
>>> Steve.

Received on Wednesday, 20 March 2013 17:48:42 UTC