Re: ldp-ISSUE-75 (monotonicity): rdf:membershipProperty makes LDP PATCHing non-monotonic [Linked Data Platform core]

> but according to the current spec the world where 
> 
>    { <> a ldp:Container .}
> 
> is true is the world where 
> 
>    { <> ldp:membershipPredicate rdf:member . }
> 

Where exactly do you find that?
I ask because when I convert that into 2119-language in my head, the 
second assertion comes out "LDPCs MUST use rdfS:member as their 
ldp:membershipPredicate". 
And we know the current spec is not that simple.
So is my conversion wrong, or your logic (granted, finding such flaws ... 
if this is one... is exactly the purpose of rendering them so explicit, so 
my compliments to the chef)? 
The rest of the arguments build on this foundation, so if the logic is 
flawed then implications based on them are also suspect.

Following your lead, I copied your example in below in the same style and 
rewrote/added new cases as necessary to reflect what I think the spec says 
today.

What I expected, to see, if it accurately reflects the current spec, is 
something like this:

but according to the current spec the world where 

   { <> a ldp:Container .}

is true is the world where EXACTLY ONE OF THE FOLLOWING is true

   { <> ldp:membershipPredicate rdfS:member . }

OR

   { <> ldp:membershipPredicate ?mp . }

Which is compatible with 

   { <> ldp:membershipPredicate ex:attachment }



example 2: ldp:membershipSubject
--------------------------------

Let's take the more complex example

  { <> a ldp:Container;
        ldp:membershipPredicate ex:attachment .
        ldp:membershipSubject <../bugs/13> }

entails according to the Subgraph Lemma

  { <> a ldp:Container . }

but the world in which that entailment is true
is according to our spec the world where EXACTLY ONE OF THE FOLLOWING is 
true

 { <> a ldp:Container;
        ldp:membershipPredicate rdfs:member .
        ldp:membershipSubject <> } .

OR

 { <> a ldp:Container;
        ldp:membershipPredicate rdfs:member .
        ldp:membershipSubject ?ms } .

OR

 { <> a ldp:Container;
        ldp:membershipPredicate ?mp .
        ldp:membershipSubject <> } .

OR

 { <> a ldp:Container;
        ldp:membershipPredicate ?mp .
        ldp:membershipSubject ?ms } .

But according to our spec you can't have two distinct 
ldp:membershipSubjects.
Therefore ANY INTERPRETATION OTHER THAN THE FINAL ONE (with ?mp and ?ms) 
implies

 { <> owl:sameAs <../bugs/13> }

Which I don't think is the intended consequence.



Best Regards, John

Voice US 845-435-9470  BluePages
Tivoli OSLC Lead - Show me the Scenario

Received on Friday, 31 May 2013 18:33:00 UTC