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

 


Help: OASIS Mailing Lists Help | MarkMail Help

xdi message

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


Subject: +x/+y/+x+y


Dunno if there is much point in this post, but it's sort of a global  
response to Giovanni's postings over the past month; it is a "+1" to  
what Drummond and Bill said, and an attempt to stand back and  
summarise things that have been worked through.

I won't make tomorrow's teleconf, and don't want this to sidetrack the  
teleconf: could you point out glaring errors on list?



XDI models a universe with the following characteristics:

* There is no primitive distinction made between instances and  
subclasses in the metagraph: both are encompassed by $a
* As a result, there is no primitive distinction made through  
operators between instances and classes: +friend could be either (as  
Bill argued)
* There *is* a primitive distinction made by the Global Context Symbol  
between individuals and groups in $ and @; but that is so bound up  
with XRI authority, that I think it's of only limited use in overall  
inferencing.
* There is a distinction between RDF terms (subjects and objects) and  
RDF predicates...
* ... however, any RDF predicate defines the class of all its objects:
  * e.g. +son defines the class of all x such that there exists y such  
that y/+son/x. (In English: "Y has-son X" defines the class of all sons.
* So any predicate can be used as a term, the term being the class of  
objects of the term.
  * Which complicates things. :-)
* This allows us to treat predication and type hierarchy as the same  
thing ("incoming arrows" in the metagraph): any object of a predicate  
$is$a member of the predicate class.
  * So =abraham/+son/=isaac corresponds to the metagraph statement  
+son/$a/=isaac, and the assertion that $a represents incoming RDF arcs  
(+son is an arc incoming to =isaac)
* On the flip side, $has in the metagraph conflates properties and  
predication: any subject of a predicate has that predicate as a property
  * So =abraham/+son/=isaac corresponds to the metagraph statement  
=abraham/$has$a/+son, and the assertion that $has represents outgoing  
RDF arcs (+son is an arc outgoing from =abraham)

* We can also define the class of all objects of a predicate with a  
given subject:
  * e.g. =abraham/+son defines the class of all x such that =abraham/ 
+son/x
  * This introduces restrictions on classes: it is equivalent to  
relative clauses.
* Related to that, we have a notation of concatenation XY (e.g.  
=abraham+son), defined as the class of all Y such that X/$has$a/Y.
* Because X/Z/Y corresponds directly to X/$has$a/Z, it follows that if  
Z is a predicate, then XZ expresses the class of all y such that X/Z/ 
y. This lets us express X/Z as a XZ, which is more straightforward  
syntactically as a term.
  * But note that XZ is meaningful even if Z is NOT a predicate: it  
just presupposes that X and Z are in some relation (an arc metagraphed  
to $has$a), but not what that relation is.
  * This makes XZ in general vague. In fact, even if Z was a predicate  
class, I was originally inclined to leave it vague --- to allow  
=shakespeare+wife to refer to the wives Shakespeare wrote about,  
instead of the woman he was married to. (So =shakespeare/+writes-about/ 
=gertrude/$is$a/+wife, not =shakespeare/+wife/=ann.hathaway). But I do  
not now think allowing that vagueness for predicate classes is useful.

* We can further say that a full RDF clause defines the class of all  
of its subjects.
  * e.g. +australian/+member/@XRI.TC defines the class of all  
Australians who are members of the XRI TC.
* But syntactically this is awkward to express as a term ---  
particularly because we also want to refer to reifications of XRI  
statements.
* We'd rather have (+australian/+member/@XRI.TC)/$is$a/+true-statement

* =drummond/+friend === =drummond+friend is a class, of which  
=giovanni and =markus are instances
  * But bear in mind what we said above: outside of the Global Context  
Symbol (and even then), XDI does not diferentiate classes from  
instances.
  * So while Giovanni and Markus are instances of =, it is also true  
to say they are instances of the class +friend. XDI certainly allows  
things to be instances of more than one class! In some sense, = is  
more primitive than +friend as a class, and is a global root for their  
ontology, as Giovanni says. But as Bill retorted (I interpret), XDI  
graphs are closed worlds anyway.
    * And nodes in a graph are there only because arcs are connecting  
them to other nodes: if Jack is unrelated to any other node, he has no  
business showing up in the graph. An RDF graph is not the world, it's  
a slice of the world.
    * So I don't quite agree with the consensus of 2009-02-26 that "+x/ 
+y/=z does not mean that =z is a +y". Giovanni is a friend too. (In  
fact not even +friend/$member, as Bill responded: +friend/$a or just  
plain +friend will do.) It's the priority of what hierarchies Giovanni  
belongs to that is at issue: Giovanni is defined first through = , and  
only contingently through +friend. (That's what Giovanni means by  
"would exist without +friend.)
    * Giovanni in response distinguishes between "references" and "is  
instance of" for  =Drummond/+Friend. I am having difficulty seeing the  
distinction.

* +car/$has/*monte.carlo can correspond to +car/+name/"monte carlo",  
since $has is so vague (and names are clearly properties of things);  
in that case +car*monte.carlo is the class of Monte Carlos such that  
cars are associated with them (XZ = Z such that X/$has/Z).
  * It's widely known that names *should* be individuals, but end up  
being classes, because they're not globally unique. (Bill said as much.)
    * So I disagree with Giovanni's initial statement:  
+city*monte.carlo/$is$a/*monte.carlo is meaningful (given the smudging  
of classes and instances), though it is pathological.
      * Giovanni now characterises this as a metalevel; of course,  
that metalevel potentially applies to any individual in XDI, so it's a  
feature not a bug that XDI does not clearly differentiate them.
  * I admit I find +car*monte.carlo a bit too cute, but it is  
meaningful the way Drummond said. (It is also pretty vague: it's not  
just the cars named Monte Carlo, but also the cities called Monte  
Carlo that a car has driven through: how the car relates to "Monte  
Carlo" is undefined!)
  * We could decide that X*Y, where *Y is a literal, means only "is  
the individual of the class named *Y). That's where 2009-03-05 seems  
to have headed. Looks somewhat artificial to me, but meh, it's not  
like I spoke up at the time...
* *flipper/$has/+animal is even vague. It *can* be the animal Flipper  
(so $has in the metagraph is $is$a in the graph), but it needn't be.  
It can be just Flipper's animal -- a parasite or whatnot. Again, $has  
is any outgoing arc in the RDF -- any property.


^ 
^ 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dr Nick Nicholas, Link Affiliates    Rode like foam on the river of pity
skype:opoudjis                       Turned its tide to strength
http://www.opoudjis.net              Healed the hole that ripped in  
living
opoudjis@optushome.com.au               - Suzanne Vega, Book Of Dreams
__________________________________________________________________________






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