OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xdi message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [xdi] Definition of $has metagraph predicate


Giovanni,

Our messages crossed in the mail.

I just read your message and I believe that the message I just sent explains why we have different views on this. As (almost) always, it means we are working from different definitions and assumptions.

I think we can all agree that we must build a solid logical foundation for XDI RDF -- one that can also be expressed clearly and unambiguously in visual graphs.

The message I just sent, and the new V3 of the XDI RDF Cell Graphs diagrams, explains the misunderstandings that I think currently exist. Please read through them, and then we can discuss on the call tomorrow.

Best,

=Drummond (going to bed now - it's 2:20AM in Seattle)

On Thu, Jan 14, 2010 at 1:34 AM, Giovanni Bartolomeo <giovanni.bartolomeo@uniroma2.it> wrote:
Dear all,

I think we all agree on the following claim: "The $has metagraph predicate describes the relationship between a node and an outgoing arc in the XDI RDF graph".

Unless I really did not understand what you want to do, I cannot see how metagraph statements could exist without the graph they describe.

Therefore, to me the following statements are all valid:

#1:        +x/$has/+y        INFERS:

           +y/$is$has/+x
           +x+y/$is$a/+y
           +y/$a/+x+y
           +x+y
           +x/+y

The corollary is also true, i.e.:

#1A:     +x+y                 INFERS

           +x/$has/+y
           +y/$is$has/+x
           +x+y/$is$a/+y
           +y/$a/+x+y
           +x/+y


To summarize my position:

-I agree with Bill when he says "I think $has must infer a minCardinality of 1"

-I disagree with Drummond and Bill on the FULLY associativity of $has. An explanation of why is reported here:

http://lists.oasis-open.org/archives/xdi/201001/msg00014.html
(and in the following of this thread).

Since $has is the pillar of our specs, I would suggest these actions:

- create a summary of the two (or three) models under discussion.
- encourage members of the TC to discuss this topic
- open a poll and record decisions

Kind Regards,
Giovanni

Def. Quota "Barnhill, William [USA]" <barnhill_william@bah.com>:

Coments inline, look for =Bill.Barnhill+comment and =Bill.Barnhill+endcomment
Kind regards,

Bill Barnhill
Booz Allen Hamilton - Rome, NY
315-330-7386  | william.barnhill.ctr@rl.af.mil<mailto:william.barnhill.ctr@rl.af.mil> | barnhill_william@bah.com<mailto:barnhill_william@bah.com>


________________________________
From: drummond.reed@gmail.com [drummond.reed@gmail.com] On Behalf Of Drummond Reed [drummond.reed@xdi.org]
Sent: Wednesday, January 13, 2010 4:43 AM
To: OASIS - XDI TC
Subject: [xdi] Definition of $has metagraph predicate


Giovanni's message raised the question of whether there is consensus on the TC about the definition of $has semantics that we reached last spring and documented on May 15 2009 the wiki spec (http://wiki.oasis-open.org/xdi/XdiOne/RdfGraphModel).



=Bill.Barnhill+comment



Based on the email threads I think we cannot have consensus yet.



=Bill.Barnhill+endcomment



In that definition, we say (emphasis in red added):



********** EXCERPT ***********

The $has metagraph predicate describes the relationship between a node and an outgoing arc in the XDI RDF graph. The subject of a $has statement is the XRI of the node from which the arc originates, and the object is the XRI of the arc.

The inverse predicate, $is$has, describes the same relationship, however the subject and object are reversed, i.e., the object is the XRI of the node from which the arc originates, and the subject is the XRI of the arc.

When used alone as a metagraph predicate, $has is an assertion that reifies this subject/predicate relationship so that this reification can serve as a new XDI RDF subject node. The XDI address of this new subject node is a direct concatenation of the XRI for the subject of the $has statement and the XRI for the object of the $has statement. For example:

       +x/$has/+y     ==>     (+x/+y)     ==>     +x+y



*********** END EXCERPT ************



=Bill.Barnhill+comment



I believe we may reached consense on the above.  I think it would be helpful to hash out a list of axioms like this (the above would be 6 separate axioms and hold an informal recorded vote (OASIS voting process maybe but seems heavy weight).



=Bill.Barnhill+endcomment



Also, at the end of the $has and $is$has definition section, we said:



********** EXCERPT ***********



[TODO: add explanation that $has statements do not and cannot infer cardinality.]

=Bill.Barnhill+comment



I don't remember reaching consensus on this. I remember you and Markus have said that you believe the above must be the case. I think $has must infer a minCardinality of 1 and have said so in the past.



=Bill.Barnhill+endcomment

*********** END EXCERPT ************

The red highlighted section in the first excerpt documents, in my recollection, the realization we had that $has statements expressed a reification of a subject/predicate relationship. That's why the parentheses on (+x/+y) are necessary.

Secondly, the fact that a $has statement resulted in reification that produce a new XDI subject node explains why $has statements have no cardinality – a conclusion that as I recall clearly had consensus across all of us that were active in the discussion.



=Bill.Barnhill+comment



Drummond I do not see how the first part explains the second, can you or Markus do a contradiction proof that shows that if $has statements have a minCardinality of 1 then reification can't work?



Sounds like we didn't have enough people active in the discussion. Was the discussion on the mailing list?



=Bill.Barnhill+endcomment

To use an analogy to English, I can say "ball color", but that statement has no cardinality about ball colors – it is just defining a TYPE of color. Type has no cardinality.

If we wanted to talk about the specific colors a specific balls has, we would say, "a ball has a color" (i.e., a $has$a relationship). With a $has$a relationship, you can now add cardinality, i.e., "a ball has 3 colors".

But "ball color" as a concept (a noun in English), identifying a type of color, is very different than the statement "a ball has a color", which is not a noun, but a complete statement about the relationship of a ball (a noun) and "color" (another noun, representing a property). In XDI, I believe this is illustrated by the difference between the following:




       $HAS STATEMENT

       ball color

       +ball/$has/+color
       (+ball/+color)
       +ball+color

       $HAS$A STATEMENT
       ball has a color

       +ball/$has$a/+color
       +ball/+color

In conclusion, I believe the current definition of $has is what is currently documented in the spec, as specifically illustrated in the example:


       +x/$has/+y     ==>     (+x/+y)     ==>     +x+y

The only revision I would make to this example is that the arrows may imply the inferences are only unidirectional, while I think we all believe they are bidirectional. So the revised diagram would be:


       +x/$has/+y     <==>     (+x/+y)     <==>     +x+y

If this is true, then I believe it follows that $has statements cannot be either only left or only right associative, but only full associative, because if the inferences above are true, then both of the following are true:


       +x+y/$has/+z     <==>     (+x+y/+z)     <==>     +x+y+z

       +x/$has/+y+z     <==>     (+x/+y+z)     <==>     +x+y+z

Again, I believe this is entirely logically consistent, because it also means:


       +x+y+z/$is$a/+z

       +x+y+z/$is$a/+y+z

=Bill.Barnhill+comment



I changed my mind on this one and agree on fully associative



=Bill.Barnhill+endcomment
Now, it is important to point out (which we do not currently do in the spec – I think this should be fixed) that left or right associativity CAN be specified through the use of XDI reification (cross-references). In other words, to make +x+y+z either left or right associative, the XDI statements would be:


       (+x+y)/$has/+z     <==>     ((+x+y)/+z)     <==>     (+x+y)+z

       +x/$has/(+y+z)     <==>     (+x/(+y+z))     <==>     +x(+y+z)


=Bill.Barnhill+comment

To me the above just doesn't hunt as they say in the south. Or rather it does, but doesn't say what I think you mean to say. In english I would translate (+x+y)+z as saying the following: the statement +x+y has a metadata property +z.



This discussion and above example may mean we need to revisit discussion of a grouping operator, which kind of got dropped after the last face to face.



=Bill.Barnhill+endcomment
I believe this provides the expressivity that Giovanni believes is required to accurately reflect semantics where two XDI RDF nodes can only be considered in their own context (e.g., his "Markus contract sig" example, where "Markus contract" is to be treated as a unit).

The result, in my understanding, is a definition that has no logical inconsistencies or ambiguities.

So, the question to the TC is: does anyone disagree with these definitions? If so, why?



=Bill.Barnhill+comment



Yes, for the above reasons and the reasons in the previous email today. I think we can't address these definitions as a single unit. We need to look at each in turn starting with the most fundamental ones, get agreement, and build from there. I'd suggest starting with $has implying minCardinality of 1.



=Bill.Barnhill+endcomment

=Drummond





----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]