Re: Relative URLs and URNs

Keith Moore <[email protected]>
Newsgroups gmane.ietf.url
Message-ID <[email protected]>
> >> If all URNs are syntactically opaque URLs, are we not imposing a
> >> restriction on all URNs that they cannot use the relative URL mechanism?
> >
> >Yes, but this is a feature.  Relative URLs wire relationships between
> >resources into the resource name itself, which hurts long-term persistence.
> 
> Keith, you make a good point that relative URIs are limited in persistence to
> the persistence of the two URIs.   

I don't know which two URIs you're talking about.  The persistence 
problem, as I see it, comes from wiring non-persistent information
into the URI -- in this case, the grouping of subsets of URI space --
and depending on that information to be persistent.

> But Dan La L was right too in pointing  out that 
> the relative URI may in fact be longer lived than the absolute. So it is
> not a clear case.

Unless I misunderstood his argument, it seemed to be predicated on
the idea that old name spaces will go away and need to be changed.
But since the URN framework is specifically designed so that old name
spaces do not need to be changed, I don't accept the premise.

As far as I can tell, if we're going to have persistent relative URNs
(or equivalently, URNs that reference portions of a single resource)
we're going to need a level of indirection for relative URNs just like
we have for normal URNs.  

That is, 

given a resource a1 with URN "A1" and a similar resource a2 with URN "A2",
(for some meaning of "similar"), it's not reasonable to assume that
the portion of a1 named by "A1/foo" is similar to the portion of
a2 named by "A2/foo".  What we would need is some mapping layer which
we could ask "what portion of a2 is equivalent to the portion of a1 named
by "A1/foo"?".  (and just because "A1/foo" maps to "A2/bar" doesn't
mean that A2/bar maps to A1/foo)

> So one should not forbid them.  Disabling a consistent function in a special
> case is normally a kludge, not a feature.  In general, specs which tell
> people what to do against their better judgement are typically suspect too.
> This would be something to put in a usage document: "When relative
> URIs are considered harmful and when not"

My view is that since persistence is an important property of URNs,
we should not define relative URNs (or URNs that specify portions of
documents) until we understand how to define them without diluting
the persistence of URNs.

If we disallow unencoded '/' within URNs for now, we can always add 
relative URNs later when we understand them better.

Keith
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.