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

# xdi message

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

Subject: Re: [xdi] InnerRoots - XDI Wiki

• From: Drummond Reed <drummond.reed@xdi.org>
• To: Joseph Boyle <planetwork@josephboyle.net>
• Date: Sat, 4 May 2013 13:30:20 -0700

On Sat, May 4, 2013 at 10:03 AM, Joseph Boyle wrote:
In this example the shorthand form =a/+b/(=x/+y/=z) doesn't use the inner root notation, the expanded form does. So this does not seem like a justification for having inner root syntax as a shorthand.

What benefit do we get from supporting the inner root syntax? Is it to avoid repetition of a prefix in both subject and object?

Funny, but I don't think about it in terms of "benefit". I think about it in terms of addressing consistency. Look at it this way:
1. ( ) is our syntax for referring to an XDI graph as a whole. That's why all peer roots need to be enclosed in parentheses.
2. (=x/+y/=z) is a complete XDI statement as a whole, i.e., it says, "The XDI statement =x/+y/=z".
3. You can make a statement about a statement.
4. Thus you can make the statement =a/+b/(=x/+y/=z).
5. In that statement, the object (=x/+y/=z) is a graph-within-a-graph. Relative to the outer graph, the object is an inner graph.
6. Since you can address every node in a graph-within-a-graph either relative to the outer root node or the inner root node, that means there two ways you can address the nodes in the inner graph:
1. Relative to the outer root node: =a/+b/(=x/+y/=z)
2. Relative to the inner root node: (=a/+b)=x/+y/(=a/+b)=z.
Of course it's not ideal to have two equally valid ways to address a node, because it can lead to false negatives in equivalence tests. But we can deal with that in the spec by declaring a canonical addressing form for purposes of equivalence.

But the "benefit" we get of having two ways of addressing nodes in an inner root is the same benefit we have of addressing any XDI node under any type of root (outer, inner, peer, statement): a fully addressable global P2P semantic graph model.

I can live with having to declare canonical address rules for purposes of equivalence if the benefit is a fully addressable global P2P semantic graph model.

=Drummond

> Yes I think you could call it a prefix in the same sense as the address of any context node becomes a prefix of all its child context nodes.
>
> The only "special" thing about an inner root is that its address is composed of the address of another, unrelated context node, plus a relational arc.
>
> Example:
>
> You have context node =a
> You have relational arc +b
> The address of the target context node of the relational arc is (=a/+b)  <--- That's the inner root.
>
> Then underneath that inner root you could have a statement such as the following:
>
> (=a/+b)=x/+y/(=a/+b)=z
>
> Which in its shorthand form would be:
>
> =a/+b/(=x/+y/=z)
>
> So yes you could call (=a/+b) a prefix, but again, every context address is a prefix to its child context addresses.
>
> Markus
>
> On 03.05.2013 17:11, Joseph Boyle wrote:
>> Last time we had a discussion of the meaning of inner roots, where I observed they can be interpreted as a common prefix to be prefixed to both the subject and object. Is this (one) valid interpretation?
>>
>> https://wiki.oasis-open.org/xdi/InnerRoots
>> ---------------------------------------------------------------------
>> To unsubscribe from this mail list, you must leave the OASIS TC that
>> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>>
>

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that