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