Title: Re: [xdi] on global cross references and the link contract use case
What is the english difference between these two statements:
+international+employment$contract$sig$d
And
+international*(+employment)*($contract)*($sig)*($d)
We can talk anytime. Just ping me.
Btw I absolutly agree that we need parentheticals.
--------------------------
http://xri.net/=les.chasen
From: Drummond Reed
To: Chasen, Les; ;
Sent: Wed Nov 26 02:55:56 2008
Subject: RE: [xdi] on global cross references and the link contract use case
Les, I think on this topic we’d make
more progress on a telecon/Webex session – what do you think about trying
to have a special one on this topic next week?
That said, I’ll do my best to try answer
your question, “Why does there need to be a distinction between the
methods (the cross-reference method and the GCS delimiter method)?”
The short answer: each of these “methods”
represents a separate feature of XRI syntax, and we need both features.
The long answer:
The first feature, syntactic cross-references,
lets an XRI author reuse a URI or XRI from a different context by syntactically
enclosing it in parentheses. For example:
=a*(http://example.com)
=a*(+b)
=a!(+b)
We have a long history of use cases that need
this functionality. John and I had discussion yesterday about whether we could live
without some of that functionality, i.e., we asked, “Do we really need to
allow both URIs and XRIs in cross-references?” It didn’t take long
for us to conclude, “Yes.” We have always needed them to
syntactically encapsulate URIs. But we also have many cases in which we need
them for XRIs. For example, in XDI RDF we need to be able to put any multi-segment
XRI representing an XDI RDF statement inside parentheses in order to turn it
into a new single-segment XDI subject or object. Example:
=jbradley/+says/(=drummond/$is$a/=jbradley+friend)
This functionality is critical to reification
in XDI RDF (which is a big selling point of XDI RDF because reification is
so hard in standard RDF).
Conclusion #1: We need cross-references as
a general capability of XRI syntax.
****************************
The second feature, GCS delimiters,
lets an XRI author use an XRI directly in the subcontext of another XRI. As John
pointed out in our discussion of this at the F2F, a subcontext is different than
a cross-reference. A subcontext is when one identifier is used directly in the
context of another. An example in English:
international
employment contract signature date
Each of these five English words has its
own independent global meaning. Yet when used in an ordered set, each of the
last four take on a special meaning when used in the context of the ones before
it. For example, the ordered set of words “signature date” does not
mean the same thing as either of the individual words “signature”
or “date”.
The purpose of the GCS Delimiter proposal is
to support exactly the same functionality in XRI syntax – the expression
of an ordered set of XRIs, each in the subcontext of its precedents. For
example:
+international+employment$contract$sig$d
Just like in the set of English words
expressed as an ordered set above, this set of XRIs expressed as an ordered set
does not have the same meaning as any of the XRIs individually. For example, the
set of ordered XRIs $sig$d (signature date) does not identify the same resource
as either of the individual XRIs $sig (signature) and $d (date).
Conclusion #2: We need ordered sets of
XRIs as a general capability of XRI syntax.
****************************
Finally, the crux of the answer to “Why
does a distinction need to be able to be made between the two methods?” is
that neither provides the equivalent functionality of the other.
In the first case, ordered sets cannot
provide the same functionality as cross-references because ordered sets do not
allow syntactic encapsulation of identifiers from other contexts. They do not
let a URI be used in the context of an XRI, for example, or permit encapsulation
of XDI RDF statements as shown above.
In the second case, cross-references cannot
provide the same functionality as ordered sets because a cross-reference is
explicitly a reference to an identifier in _different_
context. That’s what makes it a “cross-reference” – it references
across two contexts. For example, in the XRI...
@cordance*(mailto:)
…the cross-reference (mailto:)
is a reference to a URI rooted in the mailto: context.
However in an ordered set, you are not
referencing across contexts. The context is the ordered set itself. For
example, in $sig$d, the context for $d is $sig. That’s what makes it an
ordered set.
*****************************
Hope this helps,
=Drummond
From: Chasen, Les
[mailto:]
Sent: Tuesday, November 25, 2008
5:37 PM
To: ;
;
Subject: Re: [xdi] on global cross
references and the link contract use case
Yes I did. I still fail to see a reason for the
distinction. Saying that xdi requires this precision does not help me
understand why the distinction is needed. I repeat, these are all
examples of putting a global xri into the context of another. Why does a
disinction need to be made between the methods? I guess I also wonder why
multiple methods are needed but for now I'll be happy to understand why there
needs to be a distinction between them.
--------------------------
http://xri.net/=les.chasen
----- Original Message -----
From: Drummond Reed <>
To: Chasen, Les; 'Giovanni Bartolomeo' <>;
'XDI' <>
Sent: Tue Nov 25 15:25:39 2008
Subject: RE: [xdi] on global cross references and the link contract use case
Les, did you read the first of the four XDI requirements presented in the
GCS Delimiter proposal?
http://wiki.oasis-open.org/xri/XriThree/GcsDelimiter#head-4d6c59f23b76cda5ab
39226f6c6158f87716be22
In short, XDI RDF statements are extremely precise. For example, +x and (+x)
are not the same XDI subject. The first is the absolute XDI subject
"+x" in
the current XDI context, and the second is a cross-reference to that XDI
subject in a different XDI context (not the current XDI context).
+x, *(+x), and !(+x) are even more different. The first is an absolute XRI
identifying an XDI subject in the current context. The second is a relative
reassignable XRI identifying an XDI subject in a different context. The
third is a relative persistent XRI identifying an XDI subject in a different
context.
XDI RDF needs the precise semantics of all of these XRIs, and as explained
on the http://wiki.oasis-open.org/xri/XriThree/GcsDelimiter
page, that
depends on each XRI not requiring any form of transformation to be used in
the context of another XRI. That's the key XDI requirement for the GCS
Delimiter proposal.
=Drummond
> -----Original Message-----
> From: Chasen, Les [mailto:]
> Sent: Tuesday, November 25, 2008 4:37 AM
> To: Giovanni Bartolomeo; XDI
> Subject: RE: [xdi] on global cross references and the link contract use
> case
>
> Hi Giovanni. I had a chance to read this. While I like what
you guys
> are doing with link contracts I fail to understand why all of these
> examples do not work with XRI 2.0 style cross references.
>
> > -----Original Message-----
> > From: Giovanni Bartolomeo [mailto:]
> > Sent: Wednesday, November 19, 2008 12:02 PM
> > To: XDI
> > Subject: [xdi] on global cross references and the link contract use
> > case
> >
> > Hello,
> >
> > some weeks ago I mentioned that I was playing a bit with the
> > semantics of link contracts. Better to say, with the global cross
> > references applied to the link contract use case. After the issue of
> > XDI RDF model v.11, I put my thoughts in a document which you can
find
> > below.
> > Maybe just semantic nuances, but your comments will be welcome.
> >
> > Thanks,
> > Giovanni
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail. Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php