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] Associativity of XDI $has statements


Dear Drummond,

sorry but I believe instead that we should take care of the placement  
of the $has operation between multiple XRI subsegments that have been  
associated. To see why, focus on the following English statement:

house door keyhole

1) house door has keyhole: you are asserting that a specialized DOOR  
(house door), has a KEYHOLE
2) house has door keyhole: you are asserting that HOUSE has a  
specialized KEYHOLE (door keyhole)

Which one does it make sense? To me only 1).

Consider now: contract markus' signature

1) contract Markus has signature: you are asserting that a "specific"  
MARKUS (contract Markus) has a signature
2) contract has Markus' signature: you are asserting that CONTRACT has  
a specific SIGNATURE (Markus' signature)

only 2) seems to make sense to me.

A formal proof follows below.

Kind Regards,
Giovanni

==============

Formal Proof - at the end of last Spring we agreed on these points:

> #1:        +x/$has/+y        INFERS:
>
>
>            +y/$is$has/+x
>            +x+y/$is$a/+y
>            +y/$a/+x+y
>            +x+y
>            +x/+y
>
> #1A:     +x+y                 INFERS
>
>
>            +x/$has/+y
>            +y/$is$has/+x
>            +x+y/$is$a/+y
>            +y/$a/+x+y
>            +x/+y

therefore, supposing $has is a left associative operator, +a+b+c reads as :

+a/$has/+b
+a+b/$is$a$/+b
+a+b/$has/+c

i.e. node +a+b, which is a "specialized" +b, has an outgoing arc +c

When instead you have +a(+b+c) you read:

+b/$has/+c
+b+c/$is$a/+c
+a/$has/+b+c

i.e. node +a has an outgoing arc, +b+c, which is a "specialized" +c














Def. Quota "Drummond Reed" <drummond.reed@xdi.org>:

> After our discussion on last Thursday’s telecon I wanted to post a note
> about the $has predicate and the XDI expressions it produces.
>
>
>
> The rule we established last spring that is that any XDI $has statement can
> be simplified into two other XDI statements:
>
>
>
> 1) A single XRI cross-reference (an XRI in parentheses) containing exactly
> two XRI segments—the first being the subject of the original $has statement
> and the second segment being the object of the original $has statement.
>
>
>
>             +a/$has/+b  <==>  (+a/+b)
>
>
>
> 2) A single XRI segment by directly concatenating the subject of the
> original $has statement and the object of the original $has statement.
>
>
>
>             +a/$has/+b  <==>  +a+b
>
>
>
> All three express the same underlying semantics, i.e.:
>
>
>
>             +a/$has/+b  <==>  (+a/+b)  <==> +a+b
>
>
>
> This example is straightforward because the XDI statement +a+b represents
> only one $has statement and therefore has only one expansion. XDI statements
> consisting of more than two XRI subsegments represent multiple $has
> statements and so the number of expansions increases. Let’s take the
> example:
>
>
>
>             +a+b+c+d
>
>
>
> My understanding is the semantics we want for $has statements is
> associativity (http://en.wikipedia.org/wiki/Associativity). By that I mean
> that sequence matters, but not the placement of the $has operation between
> multiple XRI subsegments that have been associated with $has statements. If
> so, this means our example +a+b+c+d expands into all of the following XDI
> statements:
>
>
>
>             +a+b+c/$has/+d  <==>  (+a+b+c/+d)  <==>  +a+b+c+d
>
>             +a+b/$has/+c+d  <==>  (+a+b/+c+d)  <==>  +a+b+c+d
>
>             +a/$has/+b+c+d  <==>  (+a/+b+c+d)  <==>  +a+b+c+d
>
>
>
> Note that this rule does NOT constrain the use of cross-references to
> perform explicit grouping (reification) of XDI statements. For example:
>
>
>
>             +a+b(+c+d)
>
>
>
> …is different from +a+b+c+d because +a+b(+c+d) is a three-subsegment XRI
> that has two expansions outside the cross-reference…
>
>
>
>             +a/$has/+b(+c+d)  <==>  (+a/+b(+c+d))  <==>  +a+b(+c+d)
>
>             +a+b/$has/(+c+d)  <==>  (+a+b/(+c+d))  <==>  +a+b(+c+d)
>
>
>
> …and two variants on these if you also expand inside the cross-reference:
>
>
>
>             +a/$has/+b(+c/$has/+d)  <==>  (+a/+b((+c/+d)))  <==>  +a+b(+c+d)
>
>             +a+b/$has/(+c/$has/+d)  <==>  (+a+b/((+c/+d)))  <==>  +a+b(+c+d)
>
>
>
> Again, my interpretation is that this is exactly what we want—the same
> associativity between $has statements that we have with left-to-right
> sequences of English adjectives before a noun:
>
>
>
>             Boeing                                                    
>      plane
> engine cowling color
>
>             Boeing plane                                               engine
> cowling color
>
>             Boeing plane engine                                    cowling
> color
>
>             Boeing plane engine cowling                        color
>
>             Boeing plane engine cowling color
>
>
>
> In these five examples, the final word in each column (left and right) is a
> noun, and all the words before it are adjectives. If you then take any
> combination from the left and then concatenate it with the right (without
> changing the sequence), the result is that all but the last word is turned
> into an adjective, and “color” is the noun they all describe.
>
>
>
> I hope this clears up any confusion about $has statements. I definitely see
> the need to include some additional clarification about this in the XDI RDF
> Graph Model spec.
>
>
>
> =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]