Joseph, first, my apologies for not replying earlier - I had another trip this week so my email is way behind.
But we have another XDI TC telecon coming up tomorrow so I wanted to move discussion forward on the individual issues/questions about the example PDX document. Here are my answers to your two questions about $is (copied from below to keep the thread clean):
> 1) How do the two roles of $is form a single coherent concept? Right now
the modifier role (as a passive voice marker modifying the following
verb) and the standalone role (as the copulative verb) seem like
distinct definitions to me. I realize this is analogous to the English
verb "to be" that also serves in both these roles, but is there a
philosophical / semantic / formal (take your pick) argument that this
should logically be the case in XDI?
You phrase that question very well. I have been thinking that in the spec, we need to define the semantics for each of the metagraph predicates for each of the following uses:
1) Standalone, e.g., $is
2) As a restriction on another predicate (i.e., preceeding it, e.g., $is+foo)
3) As an extension on another predicate (i.e., following it, e.g., +foo$is)
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 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.
This is one simplest yet most powerful examples of the utility of semantic (non-opaque) identifiers in XDI.
> 2) One difference I notice between XDI terminology and linguistics
terminology is that in the latter, "predicate" means verb together with
object, not simply the verb.
Ahhh, I didn't know that. As you know, I have no formal background in either linguistics or formal logic, so I am constantly learning nuances like this. What's the solution: are you suggesting we use the term "verb" instead of "predicate"? As in: XDI subject, XDI verb, XDI object?
=Drummond
On Wed, Jun 2, 2010 at 11:04 AM, Joseph Boyle <> wrote:
Resent at Drummond's request as not everyone got it the first time.
Thanks Drummond! Glad to be on board.
How do the two roles of $is form a single coherent concept? Right now the modifier role (as a passive voice marker modifying the following verb) and the standalone role (as the copulative verb) seem like distinct definitions to me. I realize this is analogous to the English verb "to be" that also serves in both these roles, but is there a philosophical / semantic / formal (take your pick) argument that this should logically be the case in XDI?
One difference I notice between XDI terminology and linguistics terminology is that in the latter, "predicate" means verb together with object, not simply the verb.
On May 28, 2010, at 6:27 PM, Drummond Reed wrote:
Although I was not able to attend the last TC call, Giovanni and Joseph Boyle (our newest TC member -- welcome Joe!) still held a chat thread. On that thread, they discussed a line of the example PDX document that I posted to http://wiki.oasis-open.org/xdi/PdxExample last week.
The line was right near the start:
$ <-- Pattern: Context Self Descriptor -->
$is$a
($xdi$v$1) <-- Pattern: Context Type -->
($pdx$v$1)
$is($xdi$v$1) <-- Pattern: Context Authority -->
=!1111.aaaa.bbbb.cccc!9999.xxxx.yyyy.zzzz
They were discussing what the predicate "$is($xdi$v$1)" meant.
I thought this was fairly straightforward from the definition of $is as the universal XDI inverse predicate when used as a restriction on any other XDI predicate. Examples:
PREDICATE INVERSE
+father $is+father
+author $is$author
EXAMPLES
=gardner/+father/=drummond
=drummond/$is+father/=gardner
+davinci.code/+author/=dan.brown
=dan.brown/$is+author/+davinci.code
So, the statement
$
$is($xdi$v$1)
=drummond
...is the equivalent to saying
=drummond
($xdi$v$1)
$
..which is simply a way of sayiing that the current XDI context (XDI