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


Bill, I can't make this week's telecon either due to attending the Kynetx Impact Conference in Salt Lake City. So I propose we cancel this week's telecon and try to continue discussion on the list until the next telecon.

Best,

=Drummond

On Tue, Nov 17, 2009 at 7:55 AM, Barnhill, William [USA] <barnhill_william@bah.com> wrote:
If we're going to discuss the link contract terms further this coming meeting I'd like to ask for a temporary meeting time or agenda  shift as I won't be able to make this week's XDI meeting due to another call I need to be on.  I've proposed $allow and $deny and will write that up on the wiki before this Thu. regardless but I'd like to be there when they get discussed.

So I propose either skipping a week and meeting next week, or tabling link contract discussion until next week and discussing other business this week.  I'd reschedule the other call but the 4pm Thu slot is the only one that was available for it that both of us could possibly do.

Thanks,
Bill
________________________________________
From: drummond.reed@gmail.com [drummond.reed@gmail.com] On Behalf Of Drummond Reed [drummond.reed@xdi.org]
Sent: Monday, November 16, 2009 2:15 AM
To: OASIS - XDI TC
Subject: [xdi] Associativity of XDI $has statements

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




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