[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [xdi] Proposal to kill two birds with one stone with $same
Hello Drummond, all your argumentations seem to be based one central notion: "canonical XRI". Could you clarify in more details what a canonical XRI is? (sorry, maybe I'm the only one to require this clarification, however want to be sure that my understanding is correct...) Thanks, Giovanni Def. Quota Drummond Reed <drummond.reed@xdi.org>: > XDI TC Members: > > Having had the long weekend (in the U.S.) to think about it, plus Giovanni's > email yesterday, I had an insight about defining a predicate for > equivalence/synonymity that has owl:sameAs semantics. This could kill two > current birds with one stone. Here's a summary of my thinking: > > 1) WHY WE SHOULD AVOID MULTIGRAPHS > > First, with regards to the option we discussed last Thursday of the XDI > graph supporting multiple XRI arcs between the same XDI subject and XDI > object -- a directed multigraph <http://en.wikipedia.org/wiki/Multigraph>. > As I've pointed out before, this creates problems determining the canonical > XRI for identifying an XDI context node. But over the weekend I realized > there's a second reason to avoid multigraphs: RDF graphs are not multigraphs > either. In RDF, you must use an owl:sameAs statement to create an > equivalence statement between two distinct RDF graph nodes. The owl:sameAs > statement is a way to assert that the two nodes represent the same logical > subject, but the two nodes still remain distinct and separate nodes in the > RDF graph. Thus RDF graphs and XDI graphs currently share the same quality: > every graph node has exactly one arc (one URI) that identifies it. > > With XDI graphs this has the further advantage that *every arc in an XDI > graph corresponds to exactly one XDI statement and vice versa*. This is not > only conceptually very clean and easy to understand and teach, but it is a > very computation-friendly rule. > > So I would submit that XDI graphs should to follow the same underlying > architecture as RDF graphs, i.e., be simple directed > graphs<http://en.wikipedia.org/wiki/Graph_%28mathematics%29#Simple_graph>and > not multigraphs. > > > 2) USE $SAME FOR OWL:SAMEAS SEMANTICS > > My second realization was that if we want to be able to express the > owl:sameAs semantics for equivalence, which only expresses general > equivalence and does not include the notion of canonical equivalence, then > we should assign an XRI to have the same semantics as owl:sameAs. To keep it > simple, I propose that we use $same. > > As a relational arc, a $same assertion of equivalence would NOT be > canonical, i.e., any two XDI subjects could have a $same relational arc that > asserts that they are equivalent, and this arc could go in either or both > directions between them, i.e., $same would be its own inverse (like $is, see > below). So we would say: > > =!1111/$same/=example.name1 > =!1111/$same/=example.name2 > =example.name1/$same/=!1111 > =example.name2/$same/=!1111 > > > 3) KEEP $IS FOR BOTH CANONICAL EQUIVALENCE AND ALGORITHMIC INVERSION > > Lastly, because $same solves the RDF-equivalence semantics issue, I > recommend keeping $is for exactly what we are using it for right now, i.e.: > > 1. By itself, for canonical equivalence (as illustrated in slide #3 of > the latest XDI Graph Patterns > PDF<http://www.oasis-open.org/committees/download.php/42654/xdi-graph-patterns-2011-06-23.pdf> > ). > 2. As a prefix, for algorithmic inversion for any other XDI predicate > (example: $is$do as shown in slide 9 of the latest XDI Graph > Patterns > PDF<http://www.oasis-open.org/committees/download.php/42654/xdi-graph-patterns-2011-06-23.pdf> > ). > > There are three reasons for this recommendation: > > 1. Since we have a separate $word for owl:sameAs equivalence, $same, > there is no longer a conflict with using $is for canonical equivalence or > algorithmic inversion or both. The latter are both XDI-only > concepts, so it > makes sense to use an XDI-defined predicate for them. > 2. The reason for using it for both canonical equivalence and algorithmic > inversion lies in the underlying metagraph model. In short, $is > represents a > self-referential arc (a loop <http://en.wikipedia.org/wiki/Graph_loop>). > Since you can't actually express a loop in a simple directed > graph, you use > the $is metagraph statement to do it -- that's how we express canonical > equivalence. When you then put any other XDI graph statement in > the context > of a parent self-referential arc (loop), you are "turning it back upon > itself", i.e., expressing the inverse. > 3. $is for inversion reads very well in English. We have seen numerous > examples over the past several years. One of the most frequent is using > $is$a to express supertype, which is the inverse of $a to express subtype. > Or in the current link contract proposal, using $is$do to express the > inverse of $do. But it also works works with virtually any > English word. For > example, =abraham/+son/=cain has the inverse =cain/$is+son/=abraham. > > =Drummond > ---------------------------------------------------------------- Invito da parte dell'Ateneo: Il tuo futuro e quello della Ricerca Scientifica hanno bisogno del tuo aiuto. Dona il 5 x mille all'Universita' di Roma Tor Vergata codice fiscale: 80213750583 http://5x1000.uniroma2.it
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]