Re: Injective Quality (Was: Re: URIs quack like a duck)

On Mon, 29 May 2000, Michael Mealling wrote:
> > > 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,
> 
> Ok. I'll ask this question again: are you suggesting that your desire
> for a particular behavior should by its nature deny me the ability
> to choose a different behavior?

Freedom is a balance of concerns. 

> > 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.
> 
> Umm.... that's a simple restatement of my conditional...

Unless I am mistaken, in your conditional there could be
some case where the two resources are equal; the statement
I wrote, this set is empty.

> Are you instead wanting to say this:
> 
> If (x != y) then (x' can never equal y' in any circumstance whatsoever)?

Yes.
 
> If so then that's called a perfect hash function and they don't exist
> unless x = x'. I.e. you want the impossible. Plus, who really cares
> if x' and y' might be equal according to some third part. 

Take the set of publications (for example, a class of 
books).  For each publication assign one and only one 
unique ISBN such that there is an bijection between the 
set of publications and the set of ISBNs.  Certainly a 
paperback and hardcover editions have seperate ISBNs; 
but I am considering these seperate publications.

In the general case, perfect hash functions may not exist;
however, if the domain is finite or if the function can
adjust to the growth of the domain (by adding additional
mappings as needed), then a perfect has does indeed exist.
The whole of algebraic induction rests upon this fact.

> URNs are URIs. A URN is simply a URI scheme which has the 
> required properties of non-reassignability and uniqueness. 

Unless I am mistaken, I think this is exactly what we want
for namespaces; does it have the injective characteristic
that I am describing (the functional and surjective 
characteristics being a property of all URIs )?

> I.e. once a URN is bound to its resource, at any time in 
> the future, you MUST assume that it is still bound to that resource.

Hmm.  Is it possible to have 2 URNs bound to the same resource,
or is that allowed?

Clark

Received on Monday, 29 May 2000 23:46:39 UTC