[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Key implications of new metagraph $has definition
It was an extremely productive XDI TC telecon this last week (see the minutes at http://lists.oasis-open.org/archives/xdi/200905/msg00000.html) because it resulted in, I believe, a precise definition of Giovanni's proposal for the definition of $has statements. I want to reiterate that definition here and discuss two key implications that need to be reflected in the XDI Addressing & RDF Graph Model spec. 1) REVISED DEFINITION OF $HAS PREDICATE An XDI RDF $has statement between +x and +y, i.e., +x/$has/+y, asserts that +y is a predicate on the subject +x. It infers the following two XDI RDF subjects exist: (+x/+y) +x+y These two XDI RDF subjects are synonyms, i.e. this means the following two XDI RDF statements are true: +x+y/$is/(+x/+y) (+x/+y)/$is/+x+y In addition, both the subjects (+x/+y) and +x+y identify the set of all XDI RDF nodes that are objects of the XDI RDF statement +x/+y. Lastly, this definition is recursive. So the XDI RDF statement +x+y/$has/+z identifies the set of all XDI RDF nodes that are objects of the XDI RDF statement +x+y/+z, and that this set can be identified by either of the following two XDI RDF subjects: ((+x/+y)/+z) +x+y+z This recursion repeats to any depth; ordering is always left-to-right. 2) THREE PART XDI RDF STATEMENTS Giovanni's email (http://lists.oasis-open.org/archives/xdi/200904/msg00017.html) also proposed that +x/+y/+z infers +x+y+z. However the above definition does not allow this. +x+y+z expresses +x+y/$has/+z, which is equivalent to ((+x/+y)/+z). Rather, if there is a need to refer to a complete three-part XDI RDF statement such as +x/+y/+z, the entire statement becomes a cross-reference (+x/+y/+z). There is no shorthand for this statement. 3) $HAS$A STATEMENTS NOT NEEDED Another key implication of this new definition is profound: $has$a statements no longer appear to be necessary. Rather $, $a, $is, and $has appear to be the complete set of metagraph predicates needed to express the fundamental relationships in an RDF graph: $a is an incoming arc relationship (inverse: $is$a) $is is a self-referential arc relationship (and is its own inverse) $has is an outgoing arc relationship (inverse: $is$has) This actually solves some longstanding issues around clarifying the relationship of $has and $has$a If everyone is in agreement with these conclusions, I will update http://wiki.oasis-open.org/xdi/XdiOne/RdfGraphModel to reflect them, which will move us one step closer to publishing it as a spec. =Drummond
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]