W3C home > Mailing lists > Public > public-ldp-wg@w3.org > November 2013

Re: What does "being a member" mean?

From: Arnaud Le Hors <lehors@us.ibm.com>
Date: Tue, 12 Nov 2013 15:32:18 -0800
To: Linked Data Platform WG <public-ldp-wg@w3.org>
Message-ID: <OF53AFA42D.9351AF6B-ON88257C21.007A8E90-88257C21.00814D50@us.ibm.com>
Henry Story <henry.story@bblfish.net> wrote:

> My definition contains 
> an "or": 
>  - either an LDPR is created through a POST
>  - or if an LDPR is DELETEd the LDPC needs to remove the membership 
triples
> 
> (see http://www.w3.org/2012/ldp/wiki/Member ) 

I think there is a problem with this proposal in that it limits members to 
being LDPRs. This doesn't match what we have in the spec today and what 
we've been talking about all along.

The spec clearly defines that an LDPR is an "HTTP resource whose state is 
represented in RDF" and although this definition now needs updating to 
match the more complex membership mechanism we've developed I think the 
intent of what the members of a container appear in the definition of an 
LDPC: "An LDPR representing a collection of same-subject, same-predicate 
triples which is uniquely identified by a URI that responds to client 
requests for creation, modification, and enumeration of its members." See 
http://www.w3.org/TR/2013/WD-ldp-20130730/#terminology

So, as the spec stands, the members of a container are the resources 
listed as members. These are the resources listed using the membershipXXX 
stuff. Some of these may have been created by POSTing to the container 
some may not. Some may be LDPRs, some may not (binaries for example).

In the case where one uses ldp:insertedContentRelation the member is the 
resource found using the object of that property in the POSTed resource. 
This actually was the whole point of adding this feature to the spec. 
Roger wanted to make zaza the cat the member of his container as opposed 
to the information resource that talks about zaza,

Going back to Alexandre's orginal question, in his example below this 
means <urn:isbn:0470396792> is the member:
>     $ GET http://example.com/shopping/__cart/
>     <http://example.com/shopping/cart/>
>
>     [[
>     </shopping/cart/> a ldp:Container;
>         ldp:containerResource <#>;
>         ldp:containsRelation order:contains;
>         ldp:insertedContentRelation foaf:primaryTopic.
>
>     <#> order:contains <urn:isbn:0470396792>
>     ]]

Similarly, we agreed that when POSTing a binary to a container, it is the 
binary that is listed as a member, and metadata associated to it is to be 
found from the binary. See section 5.9.2: 
http://www.w3.org/TR/2013/WD-ldp-20130730/#ldpc-5_9_2 (side note: I wonder 
why this is under OPTIONS rather than POST, looks like a bug to me).

Given that, I don't see a problem with what figuring out what the members 
of a container are.
Now, I understand Alexandre and others also want to be able to find the 
resources that are created as a result of a POST, including in the above 
example. I think that's a fair request but I don't think that requires 
revisiting what being a member means.
--
Arnaud  Le Hors - Software Standards Architect - IBM Software Group
Received on Tuesday, 12 November 2013 23:32:50 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:17:46 UTC