Re: What does "being a member" mean?

On 11 Nov 2013, at 18:36, Steve Battle <> wrote:

> I thought that "being an LDPR" meant "being a member of an LDPC".
> Questions about Barbers and people who don't shave themselves
> notwithstanding, there's at least one LDPC, and hence an LDPR by
> implication, that is not a member of a LDPC.

This shows that the notion of an LDPR is logically prior to that 
of membership, and that LDPCs are causally prior to their members .

Anyway there are some definitions in the spec:

Linked Data Platform Container (LDPC)
An LDPR representing a collection of membership triples which is uniquely identified by a URI that responds to client requests for creation, modification, and enumeration of its members.

Membership triples
A set of triples in an LDPC's state that lists its members. A container's membership triples all have one of the following patterns:
membership-constant-URI	membership-predicate	member-URI
member-URI	membership-predicate	membership-constant-URI
The difference between the two is simply which position member-URI occupies, which is usually driven by the choice of membership-predicate. Most predicates have a natural forward direction inherent in their name, and existing vocabularies contain useful examples that read naturally in each direction. rdfs:member and dcterms:isPartOf are representative examples.
Each container exposes properties that allow clients to determine which pattern it uses, what the actual membership-predicate and membership-constant-URI values are, and (for containers that allow the creation of new members) what value is used for the member-URI based on the client's input to the creation process.

The spec then tells us how to "create, modify and enumerate" members. But the spec does this by 
describing actions on LDPRs using GET, POST and DELETE. GET enumerates the members, DELETE deletes
a member, POST creates one.

What is missing in the spec is the definition of the ldp:member relation that relates the LDPC to
the LDPRs on which the above actions can be exercised to change the membership triples. We can define
it and thereby make things much clearer. Let me propose the following ldp:member definition

ldp:member a rdf:Property;
   ldp:domain ldp:Container;
   ldp:range ldp:Resource; 
   ldp:comment """
     An ldp:member of a ldp:Container is a LDOR which is created when a POST succeeds 
     on it (creates via the membership triples) or which when DELETED removes the membership 

ldp:created refs:subPropertyOf ldp:member;
   ldp:comment "relates an ldp:Container to a LDPR which is created when a POST succeeds" .

The ldp:member relation is useful to make it clear what the LDPRs on which to act
to change the membership triples.

If we can agree on this then we can have clearer conversations perhaps.


> Steve.
> -----Original Message-----
> From: Alexandre Bertails []
> Sent: 11 November 2013 16:49
> To: Linked Data Platform WG
> Subject: What does "being a member" mean?
> Guys,
> I think we have a problem with semantics :-)
> Can somebody tell me what "being a member" means?
> I thought that "being an LDPR" meant "being a member of an LDPC".
> How is that different from "being managed by an LDPC"? And from
> "ldp:created"?
> Are the LDP interactions driven by "being a member" or by "being an
> Is the notion of membership achieved through membershipXXX? If not, what's
> the name for the feature captured by the membershipXXX relations?
> If a POST succeed, does it mean that the new resource is created, or
> managed, or a member of the LDPC? What about a binary resource then, as
> it's currently not considered as an LDPC?
> Sorry if those are obvious questions, but when I hear the conversations we
> have in the meetings, it looks pretty confused :-/
> Alexandre.

Social Web Architect

Received on Monday, 11 November 2013 18:23:26 UTC