W3C home > Mailing lists > Public > www-tag@w3.org > August 2002

Re: [httpRange-14] What do HTTP URIs Identify?

From: Paul Prescod <paul@prescod.net>
Date: Fri, 02 Aug 2002 11:26:57 -0700
Message-ID: <3D4ACEF1.3E6ACF2F@prescod.net>
To: Bill de hÓra <dehora@eircom.net>, www-tag@w3.org

Bill de hÓra wrote:
> 
> ... or
> insisting that everyone is really talking about the same thing when they
> use a URI, no matter what they were saying, which is what I understand
> Jonathan Borden was saying in another post (personally I find that very
> bizarre, but since very little Jonathan says is bizarre, it I probably
> just didn’t get it). 

Jonathan's point makes sense to me. Let's say the library of congress
had a mechanism for accepting critiques of books. One day you come
across an entry that says:

"The book (not album) with ISBN XYZ is terrible."

and

"The album (not book) with ISBN XYZ is wonderful."

Those assertions disagree both on the class of the thing and the quality
of it.

You can either presume that they have accidentally referred to two
different things by the same name or you an presume that they are
referring to the same thing and making contradictory assertions about
its class and quality. I know how to handle conflicting assertions and
useful semantic Web software will also. I could just presume that one of
the guys looked at the object and misunderstood what it is (an album or
a book) and look around for other evidence one way or the other.
Detecting and dealing with contradictions is easy.

But detecting and dealing with two people using the same identifier to
mean different things is hard, because you can never differentiate it
from a mere contradiction. "Michael Jackson is white." "No, Michael
Jackson is black." Are we disagreeing on Michael's pigment du jour or
talking about different Michaels? The standard way to decide is to use
an addressing/naming system that we agree is globally unambiguous. "I'm
talking about the Michael Jackson with this social security number. Who
are you talking about?"

If, after using a global identifier, we could *still* be talking about
two different guys then the global identifier is useless and should be
discarded. The *whole point* of global identifiers like URIs, phone
numbers, social security numbers, ISBN numbers is to uniquely identify
things:

"The International Standard Book Number (ISBN) is a 10-digit number that
uniquely identifies books and book-like products published
internationally."

If we can't depend upon that then you have no way to detect
contradictions because you must constantly remain open to the
possibility that they are really ambiguities.

Another analogy: the credit card companies routinely deal with
contradictions: "I bought that. I didn't buy that." But they define away
ambiguity. By definition, two credit cards with the same number are the
same credit card. If they detect two people using the "same" credit card
(number) in conflicting ways they just invalidate the card: they do not
split the card into two logical cards and try to deal with the
ambiguity.

They don't tell merchants: "this credit card number is being used
ambiguously. Please figure out which of the two people you are talking
to." They say: "This credit card number is generating an unreasonable
number of contradictory statements. Please ignore that card from now
on."
-- 
XML, Web Services Architecture, REST Architectural Style
Consulting, training, programming: http://www.constantrevolution.com
Come discuss XML and REST web services at the Extreme Markup Conference
Received on Friday, 2 August 2002 14:28:07 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:32:33 UTC