Issue-89, proposal 3: Duplication of triples & inferencing

Part 3 of Issue-89 creates a relation ldp:propertiesOnlyResource
to allow an LDPC to point in its header to the "membership properties".
The reason for this is to avoid so called duplication of triples.

The duplication of triples is an issue mostly for the 
ldp:DirectContainer as is visible for a container such
as the following

<> a ldp:DirectContainer;
        ldp:containerResource <>;
        ldp:containsRelation m:manages;
    ldp:xyz <doc1>, <doc2>, <doc3> ;
    m:manages <doc1>, <doc2>, <doc3> .

( I am using ldp:xyz for what alexander in ISSUE-89 calls 
  ldp:contains. You can replace it without loss here and 
  throughout this e-mail. )

But according to the rule such as the one used in the Membership wiki [1]
it would be very easy to determine the "membership triples" using only 
the ldp:xyz relations

PREFIX ldp: <>

CONSTRUCT { ?subject ?predicate ?object }
   ?ldpc a ldp:DirectContainer;
        ldp:containerResource ?subject;
        ldp:containsRelation ?predicate;

   ?ldpc ldp:xyz ?document .
   BIND (?document AS ?object)                             # the POSTed resource is the member
 } UNION {
   ?ldpc a ldp:DirectContainer;
        ldp:containerResource ?object;
        ldp:containedByRelation ?predicate.                   # ldp:containedByRelation is used
   ?ldpc ldp:xyz ?document .
   BIND (?document AS ?object)

In that case duplication is not a problem at all,
since a client could just infer the "membership triples"
from the ldp:xyz ones using that query.

On the other hand if such a rule is not true, and cannot
be written out, then there is no duplication, since the
"membership triples" are in fact different triples, and
have no necessary relation to the ldp:xyz ones.

But then this does give one a good reason for having them in a
different possibly server managed resource. 

[1]in the Membership wiki "Determining the membership  triples to be added when a new member 
is created"

Social Web Architect

Received on Thursday, 12 December 2013 17:28:04 UTC