RE: Containers and membership subject/object asymmetry

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