[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [xdi] Definition of $has metagraph predicate
I think I may see the root of the problem. Drummond you say in the last email:
"First, let's tackle the question of equivalence of
+a and (+a). On last week's telecon, Bill said that (+a) infers +a. While I agree that (+a) infers that +a exists, I was adamant that +a and (+a) could not identify the same node in an XDI RDF graph or the logic of XDI will be destroyed."
I agree and think that different meanings of equivalence are causing an issue.
From my standpoint an XRI has two value in relation to a graph:
(a) it exists in the graph, i.e. it is resolvable
(b) it provides an address to a resolvable document, which may be an XDI graph
Applying this to the semantics of XDI, an XRI assertion is true if it is present in the graph, i.e. if (a) is true. The semantic reasoning does not concern itself with the document an XRI addresses, except when it
is another XDI graph. In that special case the XRIs in the document are a sub-graph that is part of the larger graph,so we're still really only concerned with a.
So two XRIs are logically equivalent if and only if they are both resolvable (logical true) or neither are resolvable (logical false).
Two XRI's are aliases (what I've previously been calling equivalent (note NOT logically equivalent)) if and only if they are logically equivalent AND resolve to the same document. Another way of saying aliases might
be resolution equivalent.
Given the above (+A/+B) and +A/+B are logically equivalent, but are not aliases.
Does everyone agree?
Still doesn't solve the associativity issue, in fact it expands it to logical associativity and resolution associativity.
Kind regards,
Bill Barnhill
Booz Allen Hamilton - Rome, NY
315-330-7386 | william.barnhill.ctr@rl.af.mil |
barnhill_william@bah.com
From: drummond.reed@gmail.com [drummond.reed@gmail.com] On Behalf Of Drummond Reed [drummond.reed@xdi.org] Sent: Thursday, January 14, 2010 5:15 AM To: Barnhill, William [USA] Cc: OASIS - XDI TC Subject: Re: [xdi] Definition of $has metagraph predicate Bill,
You are correct that the problem you describe stems from the assumption you make that a $has statement implies a min cardinality of 1. This is contrary to the conclusion that we reached as a TC last spring, and which was documented in the wiki spec (http://wiki.oasis-open.org/xdi/XdiOne/RdfGraphModel#A.24hasand.24is.24has):
******* BEGIN EXCERPT ********
[TODO: add explanation that $has statements do not and cannot infer cardinality.]
******* END EXCERPT ********
In this message, I will: 1) explain what I believe the source of the problem is, and 2) show why it is logically disastrous for XDI to say that either (+x/+y) is equivalent to +x/+y (or for that matter to say that +a and (+a) are equivalent).
PART ONE: WHAT I BELIEVE THE SOURCE OF THE PROBLEM IS
I believe the source of the problem is the interpretation of what is currently the following text from our wiki draft spec:
******* BEGIN 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.
******* END EXCERPT ********
Reading this sentence, I completely understand how TC members are coming away with the understanding, "$has statements are saying there is an RDF arc on an RDF node". While this is in fact true, the problem is that this is not the complete semantics of a $has statement. The complete semantics are that a $has statement is identifying a relationship. In doing so, the $has statement is creating a new node in the XDI RDF graph. That node is an XDI context (an identifiable XDI RDF graph). That XDI RDF graph consists of a single XDI RDF subject node (the subject of the $has statement) with a single XDI RDF outgoing arc (the object of the $has statement).
What this means – and this is the reason the parentheses are so important – is that what is identified by the $has statement is not the XDI RDF subject node inside the graph, nor the XDI RDF arc inside the graph, but the XDI RDF context containing the graph.
That XDI RDF context by itself is another XDI RDF node. Just a node. The $has statement that identifies this node does not assert any arcs (either outgoing or incoming) on this new XDI RDF node. It only asserts that what defines this node is that: a) it is an XDI RDF context, and b) this XDI RDF context that contains a graph consisting of one node and one outgoing arc.
Since this can be difficult to visualize, I have added a new Appendix B to version 3 of the XDI RDF Cell Graphs PDF that I just uploaded tonight. The link is:
http://www.oasis-open.org/committees/download.php/35926/xdi-rdf-cell-graphs-v3.pdf
I'd like to go over Appendix B on tomorrow's call because I believe it can settle this question about the definition of $has once and for all.
PART TWO: WHY (+X/+Y) AND +X/+Y CANNOT BE EQUIVALENT
First, let's tackle the question of equivalence of +a and (+a). On last week's telecon, Bill said that (+a) infers +a. While I agree that (+a) infers that +a exists, I was adamant that +a and (+a) could not identify the same node in an XDI RDF graph or the logic of XDI will be destroyed.
The reason is that +a identifies a specific node withing an XDI RDF graph, while (+a) identifies THE GRAPH CONTAINING THE NODE +a, which we call its XDI context. I think we can all agree that the node and the graph containing the node cannot be the same thing, or else the entire concept of XDI contexts collapses.
The same is true of any form of reification in XDI RDF. Let's take the example of (+x/+y) and +x/+y. If they are equivalent – if they identify the same XDI RDF graph node, then they can be substituted for each other in XDI RDF statements. That would mean that the following two XDI statements would both be valid:
(+x/+y)/+z/+k +x/+y/+z/+k
But the second statement is not valid XDI RDF. What makes the first statement valid XDI RDF is that the parentheses identify a single XDI RDF node – the graph CONTAINING the graph +x/+y – as the subject of the statement that has the predicate +z and the object +k. As soon as you take away those parentheses, to get the XDI RDF statement +x/+y, you no longer are identifying an XDI RDF subject. Rather you have an XDI RDF subject and an XDI RDF predicate, which means you can only add an XDI RDF object.
This is why the parentheses, representing reification, are so critical to XDI semantics. Just as an RDF statement and the reification of that RDF statement are not the same thing in RDF, an XDI RDF statement and the reification of that statement (enclosing it in parentheses) are not the same thing in XDI RDF.
Again, I believe the new Appendix B in the XDI RDF Cell Graphs document will help illustrate this. I look forward to discussing it on the call tomorrow (agenda going out now).
=Drummond On Wed, Jan 13, 2010 at 6:01 AM, Barnhill, William [USA]
<barnhill_william@bah.com> wrote:
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]