- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Wed, 20 Mar 2013 17:48:14 +0000
- To: Steve Battle <steve.battle@sysemia.co.uk>
- Cc: public-ldp-wg@w3.org
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