- From: Clark C. Evans <cce@clarkevans.com>
- Date: Mon, 29 May 2000 20:54:23 -0400 (EDT)
- To: michaelm@netsol.com
- cc: "Clark C. Evans" <cce@clarkevans.com>, abrahams@acm.org, xml-uri@w3.org
On Mon, 29 May 2000, Michael Mealling wrote: > On Mon, May 29, 2000 at 07:15:09PM -0400, Clark C. Evans wrote: > > The problem with URLs is that, in general, they > > lack this injective quality. In other words, > > I can find N distinct URLs that identify > > (resolve to) the same resource. > > Just because two identifiers identify the same sequence of bits > doesn't mean they're equal. One may give different levels of > service, policy, legal resource, jurisdiction, etc than the other. This is a very good explanation! However, I must say that your average XML user would define the "resource" for an "http:" URL as the text returned from the request. And you must admit, this does have some validity to it. For this definition, URLs do not have the injective property referred. > I.e. its a statement about uniform equality: > > If uri-canonicalization-function(uri1) = uri-canonicalization-function(uri2) > then in ALL cases you can assume that, at that time, the resource identified > by iri1 and uri2 are equal > > If uri-canonicalization-function(uri1) != uri-canonicalization-function(uri2) > then, <strong>based on that information alone</strong>, there is NO case in > which you can assume the two resource are equal. It is this second (weak) property of URIs which makes it poor for namespaces. What we desire is a much stronger version, If uri-canonicalization-function(uri1) != uri-canonicalization-function(uri2) then, in ALL cases you can assume that, at that time, the resource identified by iri1 and iri2 are NOT equal. equivalently, I feel that this (very strong) property is needed... For all x,y in set-of-acceptable-URI, (x != y) implies ( x' != y' ) where z' is the resource identified by the resource z. > > I am reading into your example above this > > injective quality. Am I correct? > > Yes. As far as what you are allowed to assume based on what the > URI specification says once you've done the canonicalization step. I was actually referring to URNs. Do URNs have the *strong* property described above? If so, then perhaps the Namespace spec should be updated to use URNs instead of URIs. If not, then what properties do URNs have that more general URIs do not? Thank you again, Clark
Received on Monday, 29 May 2000 20:50:10 UTC