[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [xdi] $is is the universal inverse restriction
On Jun 9, 2010, at 11:22 PM, Drummond Reed wrote: Joseph, first, my apologies for not replying earlier - I had another trip this week so my email is way behind. Agreed, we must do this, and explain what the 3 usages for a given predicate have in common. (Are these the only 3, or are there even more possible uses?) I believe the definitions in each of these three roles must be logically consistent. For example, the definition of $is as a standalone predicate is synonymity between the subject XRI and object XRI (they both identify the same logical resource). This is as shown as a reflexive arc (self-referential -- originating and terminating in the same node) as illustrated in the golden triangle. The Golden Triangle diagram (I'm tempted to say the XDI Holy Trinity but should probably refrain) itself shows S and O as separate nodes though connected by arrows labeled $is. For the arc to be reflexive, S and O would have to merge and become a single node. Sorry if this sounds too literal. We do understand "$is" as making S and O equivalent - but this is something that we have to explain with text external to the diagram. Looking at the diagram alone naively, it is not obvious that the $is arcs merge S and O but that the other $a, $has arcs do not make S and P equivalent or P and O equivalent. The definition of $is as a restriction on another predicate is that it expresses the inverse of that predicate, e.g., the inverse of +b is $is+b (example: +a/+b/+c <=> +c/$is+b/+a). The logical connection with $is as a standalone verb is that $is, being reflexive arc, is being used to describe the verb it is restricting. As a reflexive arc, it is literally "reversing" the restricted verb. So $is+foo is the reverse (inverse) of +foo. http://en.wikipedia.org/wiki/Predicate lists the differing meanings in grammar, logic, etc. XDI gets the term "predicate" from RDF which gets it from mathematical logic, where it specifically means a boolean-valued function. In this case both S and O would be considered arguments to the predicate, and the boolean result True from P(S,O) is expressed by the fact that the predicate is being stated / graphed at all while the boolean result False from P(S,O) would be expressed by not stating / graphing anything. This makes sense in one sense, but may not be the most intuitively obvious meaning, in addition to the conflict with the natural-language grammar that most people are familiar with. I would vote for "verb" not "predicate" in line with the trend towards using simple everyday natural-language-like terms in XDI, which has included using "$is", "$has", "$a" to replace more technical terms. This would be another break with RDF terminology, which may be good or bad depending on your viewpoint. I think some other knowledge representation systems have used "verb" in some way, but don't remember specifically. However, the only programming language I can think of offhand where "verb" is part of normal terminology is COBOL. :/ |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]