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

*Subject*: **Addressing Giovanni's concern**

*From*:**Drummond Reed <drummond.reed@xdi.org>***To*: Giovanni Bartolomeo <giovanni.bartolomeo@uniroma2.it>*Date*: Wed, 27 Oct 2010 00:03:18 -0700

Giovanni,

Below is the email you sent to the TC together with a snapshot of the graph you attached to your message.

On Fri, Oct 22, 2010 at 6:06 AM, Giovanni Bartolomeo <giovanni.bartolomeo@uniroma2.it> wrote:

When read this, I recognized two problems:

1) The "colors" you are suggesting need to be in the graph are represented in the difference between solid arcs and dotted arcs in the proposed graph notation. See below for examples.

2) Secondly, the XDI statements you have written here do not follow the XDI addressing rules. In a nutshell, those rules are:

* SUBJECT ADDRESSING: The subject of the XDI statement (before the first slash) MUST be composed of the path of all XRI subsegments (solid arcs) that traverse the contexts (black dots) from the root context to the context that is the subject of the XDI statement.

* OBJECT ADDRESSING: Following any XDI subject, the predicate of the XDI statement (after the first slash and before the second slash) MUST be the XRI of the arc that identifies the object. In a graph diagram, this arc MUST be: a) SOLID if the arc identifies an XDI literal, or b) DOTTED if it identifies another XDI subject.

To illustrate this, here are two different XDI graphs and the statements in each graph:

Key points about these graphs and the XDI statements:

1) The graph on the left contains the statement that "Bob has a friend Alice", i.e. =bob (subject) has a +friend (predicate) =alice (object). Because +friend is a predicate here, it must follow the first slash, and because the object is another XDI subject (and not literal), the arc must be dotted. Note that =bob and =alice are the only two uniquely addressable XDI nodes involved in that statement. =bob can have zero-to-n +friend predicates, so =bob/+friend does not identify another exact node, only the set of all nodes that are objects of =bob/+friend.

2) The graph on the right contains the statement "Bob's friend Alice" as an XDI subject. In this statement, there is no predicate, i.e., nothing after the first slash. The XDI address is just =bob+friend=alice, i.e., =bob (path of first subsegment) +friend (path of second subsegment) =alice (path of third subsegment). All three are solid arcs because the object is another XDI subject.

3) Both graphs contain a statement similar to #2: that =alice+knows+charlie. Again that this is an XDI subject because the +knows subsegment identifies the context of all XDI subjects that Alice knows, and =charlie is a subject in that context. There is no predicate in the statement, and thus no slash.

4) The graph on the left provides a way to discover, from the =alice node, that =alice is also present in the graph in the context of =bob+friend. It's the statement =alice/$()/=bob+friend (literally, "=alice has a context of =bob+friend".

5) All XDI addresses in either of these graphs MUST start at the root node. You could "pull out" a subsection of one of these graphs starting at one of the other nodes into a new graph, but that would then be a new graph with a new root node.

In summary, as long as these rules are followed in XDI addressing and graphing, I don't see any issue with ambiguity or information loss.

Hope this helps,

=Drummond

As per my AP, here is attached a picture which illustrates my concern:i.e. that there may be interpretations of the graph introducing statements that were not present in the original document.

Giovanni suggested that Drummond's picture is in fact an overlap of multiple

graphs. This can be a problem from a semantic point-of-view because the

graph can be interpreted differently depending on the node you start from,

and on the arcs you consider in moving from one node to the other (i.e. the

"path" you follow might correspond to a semantically invalid statement).

When read this, I recognized two problems:

1) The "colors" you are suggesting need to be in the graph are represented in the difference between solid arcs and dotted arcs in the proposed graph notation. See below for examples.

2) Secondly, the XDI statements you have written here do not follow the XDI addressing rules. In a nutshell, those rules are:

* SUBJECT ADDRESSING: The subject of the XDI statement (before the first slash) MUST be composed of the path of all XRI subsegments (solid arcs) that traverse the contexts (black dots) from the root context to the context that is the subject of the XDI statement.

* OBJECT ADDRESSING: Following any XDI subject, the predicate of the XDI statement (after the first slash and before the second slash) MUST be the XRI of the arc that identifies the object. In a graph diagram, this arc MUST be: a) SOLID if the arc identifies an XDI literal, or b) DOTTED if it identifies another XDI subject.

To illustrate this, here are two different XDI graphs and the statements in each graph:

Key points about these graphs and the XDI statements:

1) The graph on the left contains the statement that "Bob has a friend Alice", i.e. =bob (subject) has a +friend (predicate) =alice (object). Because +friend is a predicate here, it must follow the first slash, and because the object is another XDI subject (and not literal), the arc must be dotted. Note that =bob and =alice are the only two uniquely addressable XDI nodes involved in that statement. =bob can have zero-to-n +friend predicates, so =bob/+friend does not identify another exact node, only the set of all nodes that are objects of =bob/+friend.

2) The graph on the right contains the statement "Bob's friend Alice" as an XDI subject. In this statement, there is no predicate, i.e., nothing after the first slash. The XDI address is just =bob+friend=alice, i.e., =bob (path of first subsegment) +friend (path of second subsegment) =alice (path of third subsegment). All three are solid arcs because the object is another XDI subject.

3) Both graphs contain a statement similar to #2: that =alice+knows+charlie. Again that this is an XDI subject because the +knows subsegment identifies the context of all XDI subjects that Alice knows, and =charlie is a subject in that context. There is no predicate in the statement, and thus no slash.

4) The graph on the left provides a way to discover, from the =alice node, that =alice is also present in the graph in the context of =bob+friend. It's the statement =alice/$()/=bob+friend (literally, "=alice has a context of =bob+friend".

5) All XDI addresses in either of these graphs MUST start at the root node. You could "pull out" a subsection of one of these graphs starting at one of the other nodes into a new graph, but that would then be a new graph with a new root node.

In summary, as long as these rules are followed in XDI addressing and graphing, I don't see any issue with ambiguity or information loss.

Hope this helps,

=Drummond

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