Re: URIs quack like a duck

On Sun, 4 Jun 2000, Dan Brickley wrote:
> Imagine someone else creates another URI scheme, also used for naming
> individuals and/or orgs. And that some Web data uses your scheme to talk
> about me as urn:mm-agent-namespace:034543532423432 and some other data
> uses person:uk:nx-930366b. 

In this case, the resource is identified through
two different and uncoordinated URI schemes.

Another related case is when a single URI scheme
does not gaurentee uniqueness.  The http: scheme
is one of many examples.  

Either of these cases makes the mapping from
the URI world to the resource world non-injective.

When the mapping from the URI domain to the resource
domain is non-injective, then one cannot tell, in
*every* case if resources identified are equivalent
by comparing the URIs.   This is a problem for any 
serious naming system, a function is not strong enough.  
The function must also be *unique* (injective).

> From an RDF perspective, this topic is proving a real implementation
> headache. There's one of something (flesh and blood entity) and two of
> something else (Web names for that entity, aka URI). There seems to be
> utter confusion in the community as to whether we have one Resource (the
> person), two Resources (one each for the two URIs), or even three.

This problem is not going to go away; and I personally
don't believe that it is solveable unless:

 a) one de-references the function (if possible)
    and compares the resources directly.

 b) an injective identification function is named.

IMHO, since (a) is not practical, this *forces* us to 
look for a way to make (b) work.

I suggest the creation of a *new* URI scheme for 
namespaces such that:

    (a) comparisons within the scheme gaurentee uniqueness
and (b) comparisons between schemes are not allowed

Obviously (b) is not immediately possible, but it could
be phased in over an extended schedule where other schemes
are deprechiated (1-5 years), and then excluded (5+ years).

For example; the current XSLT spec would keep it's "http:"
scheme namespace, however, any new version would use the 
new "xmlns:" scheme.   Eventually all of the old documents
and processes will be migrated over; but it will take some 
years no doubt -- mabye 10?

In the mean time, we stick with character-by-character 
comparison (since even after the exclusion it will still
functionally operate).
 
Best,

Clark

Received on Sunday, 4 June 2000 15:12:35 UTC