Re: Sticking another fork in the URI issue: equality vs. equivalence

# URIs are strings with fairly strict syntax constraits.  There are two 
# kinds of operations defined on them:

# 1. You can test them for equality
# 2. You can attempt to access representations of the resources they identify.

Statement 1 is too narrowly drawn:
  1. You can test them for equivalence

What kind of equivalence you care about depends on
the context of use. For use as a namespace name,
the equivalence is 'string equality' (which is,
after all, the strictest equality you can have
for something defined as a string of characters).

For use in context of operations in category '2'
above, though, the equivalence relationship is
looser, in that 'http://www.w3.org' and 'http://WWW.W3.ORG'
are equivalent.

I think when talking about URIs you're better off
avoiding talking about 'equality' so that you can
be clear about which equivalence relationship you
expect in the context.

Statement 2 is also too narrowly drawn; it would
be better to write it as
2. You can attempt to interact with the resources they
  identify.

That would cover 'mailto' and POST as well as 'http' and GET.

# Speaking as the implementor of two of the largest web robots ever 
# written and one commercial internet search engine, I am intimately 
# familiar with investing vast numbers of CPU cycles in manipulating and 
# storing and indexing and retrieving and caching and queuing HTTP URIs as 
# names, because that's what they are, names.

Surely cache implementors use a different equivalence
algorithm than namespace name implementors, e.g.,
http://wwww.w3.org equivalent to http://www.w3.org:80,
etc.

Larry
-- 
http://larry.masinter.net

Received on Saturday, 12 October 2002 18:01:49 UTC