Subject: Tag URIs

From: Alan Gutierrez <[email-masked]>
Date: Sun, 18 Dec 2005 00:01:39 -0500

I'm to understand that Atom has adopted the Tag URI as a a perferred
GUID for an Atom 1.0 feed. I've begun to use the Tag URI in my work.

Eventually, I found myself  parsing the Tag URI in Java, and I've
begun to wonder why the Tag URI scheme did not follow the pattern of
a hierarchical URI. It is instead an opaque URI.

This means that the nifty parser built into the Java URI class only
extracts a scheme, scheme specific part, and fragment.

tag:agtrz,com:payload#fragment

Had Tag URI been specified as a heirarical, the parser would be able
to extract more payload from the URI.

tag://agtrz.com,2005/path?query#fragment

Same parser, more to play with.

I've asked the authors of the RFC, but apparently, I was unable to
convey my concerns about this.

--
Alan Gutierrez - [email-masked] - http://engrm.com/blogometer/

---

From: "A. Pagaltzis" <[email-masked]>
Date: Sun, 18 Dec 2005 06:49:32 +0100

* Alan Gutierrez <[email-masked]> [2005-12-18 06:10]:
> I'm to understand that Atom has adopted the Tag URI as a a
> perferred GUID for an Atom 1.0 feed. I've begun to use the Tag
> URI in my work.

Tag URIs were advertised in Atom 0.3 days, but I don’t know that
they’re currently suggested practice.

Tim Bray has convincingly argued on more than one occasion that
you should use HTTP URIs.

RFC 4287[1] does not mention any scheme at all in normative
language, and the informal examples in it use UUID URIs. (That’s
what I use these days for my feeds.)

> Eventually, I found myself parsing the Tag URI in Java, and
> I've begun to wonder why the Tag URI scheme did not follow the
> pattern of a hierarchical URI. It is instead an opaque URI.

You’re not supposed to even want to parse IDs. You’re supposed to
use identifiers as opaque tokens that do not convey any meaning
whatsoever, other than to uniquely identify an entry.

> Had Tag URI been specified as a heirarical, the parser would be
> able to extract more payload from the URI.

What for? All you use IDs for is to compare them to each other,
and nothing else.

[1] Damn, it feels good to be able to say that.

Regards,
-- 
Aristotle Pagaltzis // <http://plasmasturm.org/>

---

From: "A. Pagaltzis" <[email-masked]>
Date: Sun, 18 Dec 2005 06:51:47 +0100

* A. Pagaltzis <[email-masked]> [2005-12-18 06:49]:
> language, and the informal examples in it use UUID URIs.

Ah. I see the long example does use tag URIs, while the short one
uses UUID URIs. Mea culpa.

Regards,

---

From: Stephane Bortzmeyer <[email-masked]>
Date: Sun, 18 Dec 2005 23:12:52 +0100

On Sun, Dec 18, 2005 at 12:01:39AM -0500,
 Alan Gutierrez <[email-masked]> wrote 

> GUID for an Atom 1.0 feed. I've begun to use the Tag URI in my work.

RFC 4151 (on tag URIs) is not even mentioned by RFC 4287. (Although
one example use these URI.)

> It is instead an opaque URI.

It seems perfectly normal: the tag URI has a structure only for the
purpose of *creating* an unique identifier. For *reading* it, it
should be regarded as opaque. It is not even resolvable (and does not
pretend to be).
 
> to extract more payload from the URI.

To do what?

---

From: Tim Bray <[email-masked]>
Date: Sun, 18 Dec 2005 17:03:16 -0800

On Dec 17, 2005, at 9:01 PM, Alan Gutierrez wrote:

>
> I'm to understand that Atom has adopted the Tag URI as a a perferred.
> GUID for an Atom 1.0 feed.

It has not.  There is no preferred scheme. -Tim