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

On Thursday, August 1, 2002, at 06:42 PM, Tim Bray wrote:

>
> Roy T. Fielding wrote:
>
>> The goal of this model is to give people who wish to refer to something
>> an identifier that will never need to be changed just because the
>> content changes, for as long as the identifier continues to refer to
>> the same concept that the referrer intended.  As such, allowing the
>> identifier to identify more than one concept is a non-starter.
>
> Er... and how do you disallow identifiers from identifying whatever 
> people think they identify?  A single set of assertions that need to be 
> internally consistent had better use the same URIs to identify the same 
> things.  But across the broad information space of the web, how do can 
> you ever sustain a promise that a URI will be used for only one concept?
>
> This gives TBL all sorts of grief, but I think that it is *inevitable* 
> that there will be places where different people use the URI to 
> identify different things.  I think the SemWeb architecture has to be 
> strong enough to deal with this, without vanishing into a black hole.  
> I think there's a strong analogy with early hypertext systems, that 
> could not tolerate the potential that link targets might not be there.  
> The Semantic Web has to be able to tolerate the fact that you can't 
> know what a resource is, and thus different parties may not have a 
> shared perception of this, just like the Web needed 404 to work. -Tim
>

Tim,

This is not a good analogy.  Error 404 is a run-time error in what is a 
well-defined system for determining what a URI identifies.    The 
workings of HTTP and DNS may depend on things networks which can go 
down, and on social contracts which can be broken, but the system does 
define a way of following a link.   This way leaves absolutely *no* 
possibility of a third party making independent assertions, within the 
system, that the URI identifies something else.

Similarly, in RDF, when  http://example.com/foo#bar identifies something
and there are some facts in the document http://example.com/foo about
#bar, then those facts can be deemed definitive because of the
social structure which gives the owner of the identifier a mechanism, 
through
ownership of the domain and control of the server for that domain, the 
ability
to control every representation of that document. Hence, any statement
on the web which is inconsistent with that document is simply wrong -
or the system has broken somewhere.

The idea that is "inevitable" that people will use the same URI to 
identify different things
  is true only in that is "inevitable" that people will plus 110V 
appliances into 220V circuits.  That is, they can't do it without 
breaking the protocols.  The Semantic Web is,  *unlike english*, built 
upon this well-defined foundation.   Any suggestion that it is "OK" to 
just use the same URI to denote two different things, or to suggest one 
has the right in a hostile way to claim to define a URI in someone 
else's space, is to break the rules.

"Er... and how do you disallow identifiers from identifying whatever 
people think they identify?", you ask.

By specifications, darn it!   Apart from the (fraudulent and illegal)  
spammers who maintain that  that it is their first amendment right to 
put anything into any HTTP or IP field which will cause you to read 
their spam,  the Net works on a set of specifications which say what 
things mean.   Please do not claim that people can do whatever they 
like - or we will lose the protocols to mayhem.

Tim BL

Received on Monday, 5 August 2002 10:00:31 UTC