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

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

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


Subject: Re: [xri] Issue 1: Clarifying * Semantics


Wachob, Gabe wrote:
> As to whether this is an aesthetic-only change, I'll let the initial  
> proponents of this proposal speak up. I think its largely aesthetic

I don't think anyone is claiming it's an aesthetic change. Au  
contraire, it's somewhat uglier. In my mind the crucial point is the  
philosophical/worldview imperative that Drummond wrote about on 6/11  
(quoted below) - the need to highlight the distinction between a  
hierarchical relationship and a peer relationship.

-Victor Grey

Drummond on 6/11:
> First, just to make it clear, I agree with everyone that if the choice  
> is
> simply between the "readability" of the two examples given below, i.e.:
>
> xri:@:3*:4*:5/:6*:7
> or
> xri:@:3:4:5/:6:7
>
> ...then of course it appears to be a no-brainer. The latter is more  
> compact
> and, as Peter says, "much easier to read".
>
> But therein lies the issue. What is "easier to read" depends on what  
> you are
> reading for. What I realized laying in bed at 4am this morning is that  
> I am
> reading for something entirely different. But to explain this requires
> explaining the entire worldview behind this perspective, and entire
> worldviews are not easy to explain, so please bear with me while I try.
>
> In this second worldview, * would not be considered a "secondary  
> hierarchy
> character", but an "alternative hierarchy character" on an equal  
> footing
> with slash.
>
> I can just hear Dave screaming right now, "What does Drummond mean, 'an
> "alternative hierarchy character" on an equal footing with slash'?? How
> could there be such a thing? Slash is THE 2396 hierarchy character! It
> defines 2396 segments. The only option we have is to define subsegments
> within slash segments!"
>
> But this is exactly what I mean about two entirely different  
> worldviews. In
> the 2396 worldview the world is purely hierarchical. There is only  
> slash
> because there is only hierarchy.
>
> It's pretty ironic, then, that URIs based on 2396 are the very basis  
> of the
> World Wide Web, which is the very opposite of hierarchy. It's a  
> peer-to-peer
> web. Any page can link to any page.
>
> Laying in bed at 4am, I did the following thought experiment, "Using
> conventional URIs, is there any way you can address the LINK between  
> two web
> pages?" In other words, not the URI of Page A or the URI of Page B,  
> but the
> LINK from Page A to Page B. Literally, the A tag present in the HTML  
> of Page
> A that links to Page B.
>
> There is certainly no standard way, at least that I know of. So I  
> started
> thinking through how you would do it. If Page A was expressed as  
> XHTML, then
> the actual node of the XHTML document that contains the link to Page B  
> would
> at least be addressable using an XPath expression under the URI of  
> Page A.
> So you could have something like:
>
> http://www.example.com/Page-A#Xpath-to-A-tag-linking-Page-B
>
> Of course, there is no spec for doing this that I am aware of. However  
> it
> wouldn't be hard to construct one. Since you know the link is in an A  
> tag,
> you'd just need a standard XPath query that says, "Give me the A tag  
> whose
> HREF attribute equals the following value" and then supply the target  
> URI as
> a paremeter. Say this query was called "Xpath-A-ref". Then any site  
> that
> supported this query could resolve a URI that looked like the  
> following:
>
> http://www.example.com/Page-A?Xpath-A-ref&HREF="http://www.site.com/ 
> Page-B"
>
> Such an address would actually let you address Page B in the context  
> of Page
> A. It lets you construct a path ACROSS pages, not just DOWN the DNS  
> tree and
> local file path hierarchy to a specific page.
>
> Why would you want to be able to address across Web pages? If you  
> wanted to
> be able to follow the path of who is linked to who. It lets you test
> assertions about relationships between pages. If the address above  
> resolves,
> it tells you Page A is linked to Page B. If it doesn't, they aren't.
>
> Now, imagine if there was: a) a standard URI syntax character that  
> equates
> to the link query operation "?x-path-A-ref" above, and b) a standard  
> way in
> URI syntax to nest one URI inside another. Let's say the standard link  
> query
> character was * and the nesting syntax was to enclose the nested URI in
> parentheses. Then the URI above could be expressed much more compactly  
> and
> readably as:
>
> 	http://www.example.com/Page-A*(http://www.site.com/Page-B)
>
> Now let's take one more step. Say that the author of Page A had his  
> own name
> for Page B inside the HREF tag that points to  
> "http://www.site.com/Page-B";.
> Say this name was "Glockenspiel". This is really a relative identifier  
> for
> Page B, since it's relative to the Web page  
> http://www.example.com/Page-A.
> But in the context of this Web page, it's very likely to be unique,  
> since
> the author of Page A is unlikely to create two outgoing links to  
> different
> resources on the same Web page and label both the A tags identically.
>
> In this case there is a second way to address the link between Page A  
> and
> Page B using this relative identifier. This would look like:
>
> 	http://www.example.com/Page-A*(Glockenspiel)
>
> I know this example has been quite extensive, but as you can see, the  
> point
> is that in this alternative worldview - this Web-based worldview -
> peer-to-peer linking relationships have an equal status with  
> hierarchical
> relationships. Neither is "good" or "bad". Neither is "primary" or
> "secondary". They are simply equally valid. Like Cartesian and radian
> coordinate systems, they both let you address any point on a plane -  
> it's
> just that each one can be much more appropriate for certain tasks.
>
> It follows then that in this worldview, the primary failing of 2396  
> syntax
> is that it does not accommodate the peer-to-peer linking worldview. It  
> only
> accommodates the hierarchical worldview. It has no syntax for  
> addressing
> link relationships, nor for nesting identifiers for this purpose (i.e.,
> cross-references). In syntactic terms, it has only /, and no * nor ().
>
> Those of you who know me know why I am so passionate about this  
> subject. To
> get from the Web to the Dataweb, we must be able to express the links
> between data and the links between data sharing authorities. Suddenly  
> it is
> as important (if not more important) to be able to address the source  
> of
> authority and permission in a data sharing relationship as it is to be  
> able
> to address the data being shared.
>
> For example, look at the following sample XRI:
>
> xri:xri-A/(xri-B)*(/($contract)/this-contract/($v1))*(/(+email)/work/ 
> ($v2))
>
> (Note that the values "xri-A" and "xri-B" are placeholders for the  
> actual
> XRIs for Authority A and Authority B, and "$contract" is the proposed  
> XRI
> service dictionary identifier for XDI link contracts.) This is from a  
> thread
> about potential XDI contract addressing available at
> http://wiki.idcommons.net/moin.cgi/DataSharing#head 
> -0bd543034533c5641c0beacf
> 65be418a7a9c7fc5.
>
> Although this particular example is in the context of XDI (and uses  
> only a
> proposed addressing syntax in that context), what I believe it  
> illustrates
> is the tremendous importance, in that context, of link relationships.  
> For
> example, this XRI expresses that authority A's relationship with  
> authority B
> (xri-A/xri-B) is linked to a link contract from authority A
> (/($contract)/this-contract/($v1)) which is linked to a specific item  
> of
> data from authority A (/(+email)/work/($v2)).
>
> So, in conclusion:
>
> * In the hierarchical-only worldview, / reigns supreme, and therefore  
> the
> distinction between * and : as "secondary hierarchy" characters appears
> relatively minor.
>
> * In the combined hierarchy-and-peer-to-peer-link worldviews, / and *  
> are
> equally important and equally valid first-level delimiters. / is used  
> to
> express for hierarchical relationships between resources and * is used  
> to
> express peer-to-peer linking relationships between resources. In this
> worldview, both "/:" and "*:" would be equally valid, as colon would  
> always
> be used as the prefix for a persistent identifier.
>
> I believe this worldview is not unique to XDI. Although XDI  
> architecture is
> fundamentally based on the ability to express links between resources,  
> and
> it uses XRIs for this purpose, I believe that establishing the  
> syntactic
> "equal footing" of * and / for the purpose of enabling the expression  
> of
> peer-to-peer linking vs. hierarchical relationships could apply to many
> other uses of XRI beyond the scope of XDI.
>
> I hope this explanation helps bridge the gap between these two  
> worldviews.
>
> =Drummond



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