[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [xdi] XDI contexts and cross-references
Yes, Bill, those are the XRIs being
asserted except the last two. The literals in the last two statements are not
part of the XRIs. The XRIs are just: =drummond+work/+email =drummond+home/+email This XRI is the address of the literal,
but the literal itself it not part of the address. It can’t be because:
a) it’s not an XRI, and b) XRIs can’t include quotes. RE using the dollar sign as a suffix, yes,
that would be legal XRI syntax _under the proposal
for direct concatenation_ (see http://wiki.oasis-open.org/xri/XriThree/SyntaxAbnf).
(Caveat, as per the XDI RDF Model doc: that is not an approved XRI 3.0 syntax
yet, just the proposal we’re working with.) The proposed semantics –
and nothing more than that – around using $ as a suffix on a predicate is
that it means “the canonical version of a set of instances”, i.e.,
if +email was the predicate, +email$ means that no matter how many
subtypes/instances of an email address you have, what is the one (and only one)
considered canonical (which may not be any of them of course). Hope this helps, =Drummond From: Barnhill,
William [USA] [mailto:barnhill_william@bah.com] Hmm, okay, so if I was inputting the
example in your email to an XDI graph I would be asserting the following XRIs,
correct? =drummond/+email//=drummond+home/+email =drummond/+email//=drummond+work/+email =drummond/+email+home/(=drummond+home/+email) =drummond/+email+work/(=drummond+work/+email) =drummond/+email$/(=drummond+work/+email)
(Is this valid XRI syntax with the $, and what is the meaning?) =drummond+home/+email/“dsr.example@gmail.com” =drummond+work/+email/“drummond.example@cordance.net” Bill From: Drummond
Reed [mailto:drummond.reed@cordance.net] Good point, Markus – since I only
had one XDI subject in these examples, the cross-reference example was relative
to that XDI subject. But yes, absolutely, cross-references can be either
relative or absolute. To illustrate, here’s an XDI
document with three subjects that uses absolute cross-references across the
subjects. It also shows a way to more deeply contextualize data context,
because now the actual literal email addresses for =drummond are in separate
XDI subjects that represent contextualize personas of =drummond (in this case
home and work). =drummond
+email
/
=drummond+home
+email
=drummond+work
+email
+email+home
(=drummond+home/+email)
+email+work
(=drummond+work/+email)
+email$
(=drummond+work/+email) =drummond+home
+email
“dsr.example@gmail.com” =drummond+work
+email
“drummond.example@cordance.net” =Drummond From:
markus.sabadello@gmail.com [mailto:markus.sabadello@gmail.com] On Behalf Of Markus Sabadello
On Fri, Mar 28, 2008 at 8:25 AM, Drummond Reed <drummond.reed@cordance.net> wrote: Another question that came up on today's call involved the
meaning of the following statement (a simplified version of the example we were
discussing from the XDI RDF Model doc, http://wiki.oasis-open.org/xdi/XdiRdfModel):
=drummond/+email//=drummond/+email+home Does that mean that =drummond/+email is an equivalent XDI
statement to =drummond/+email+home? No, it only means that the statement =drummond/+email is the
parent context for the statement =drummond/+email+home. =drummond/+email could
also be the parent context for the statement =drummond/+email+work. In X3
Simple, this would graph as: =drummond +email
/
=drummond
+email+home
+email+work So if you did an XDI $get on =drummond/+email, the response
would be the entire graph above. That graph in turn could be part of this
larger graph: =drummond +email
/
=drummond
+email+home
+email+work +email+home +email+work
"drummond.example@cordance.net" +email$
(/+email+work) This larger graph includes the cross-reference
"(/+email+work)". This reads as, "relative to the same XDI
subject, refer to the +email+work predicate". Unlike a subcontext, this
statement IS saying that one XDI statement refers directly to another one,
i.e., the first XDI statement below refers to the second one: =drummond/+email$/(/+email+work) =drummond/+email+work So, for purposes of illustration of these two concepts –
XDI contexts and XDI cross-references, an XDI request/response pattern against
the full graph above, translated from English into X3, might be: Q: "Markus would like Drummond's email address." =markus $get
/
=drummond
+email A: "Drummond has two email addresses, home and work." =drummond +email
/
=drummond
+email+home
+email+work Q: "Then Markus would like Drummond's home email
address." =markus $get
/
=drummond
+email+home A: "Here is the value." =drummond +email+home ************* A different request response pattern against the same path might
be: Q: "Markus would like Drummond's canonical email
address." =markus $get
/
=drummond
+email$ A: "Drummond's canonical email address is his work email
address." =drummond +email$
(/+email+work) Q: "Then Markus would like Drummond's work email
address." =markus $get
/
=drummond
+email+work A: "Here is the value." =drummond +email+work
"drummond.example@cordance.net" *********** Note that one of the last two roundtrips could be eliminated by
the simple rule that the server would resolve xrefs within the same XDI
context. This would result in the following request/response: Q: "Markus would like Drummond's canonical email
address." =markus $get
/
=drummond
+email$ A: "Drummond's canonical email address is his work email
address, and here is the value." =drummond +email$
(/+email+work) +email+work
"drummond.example@cordance.net" |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]