RE: Resources and URIs

> The act of "denoting" is something that a speaker of
> a statement might do, using a URI, but the denotation
> is not a property of the URI but of the speaker's use
> of it.

> But surely every URI that deserves to be called a URI
> *is* used in communication,

yes, it is intended to be used in communication

>  and is used roughly as a noun, and is used to denote
>  the same thing in every use (give or take edge cases
> of resources "moving" and perhaps some uses of cookies).

I think this is nonsense. We have 100 years of philosophy of
language, and decades of work in AI to show that understanding
what a "noun" might "denote" is difficult. For example,
whether "http://www.w3.org" denotes the web site, the
organization, the computer running the web site, the
server process running the HTTP server, the web page
as it evolves over time, the page at the time the URI was uttered,
all of the web pages on the same site, the web page and
its embedded IMGs or just the HTML page itself,
or any of several dozen other things -- is not specified.
None of those things are "the same", and the URI all by itself
doesn't disambiguate between them.


> > URIs do (attempt to) "Identify". They do this by
> > making reference to some algorithm associated with
> > the scheme. "http" URIs identify something that you
> > use the HTTP protocol to talk to.
> 
> Even if all schemes can be considered to correspond to algorithms
> (which I'm not sure about), I think it's cleaner to consider the
> scheme as identifying a language by which information is expressed in
> the text of the URI.  An HTTP URI serves both as a name (a noun) and
> as a message to people who want to use that name, telling them how
> they can find out more about the named thing (and do other web
> operations with it and its agents).

I think "cleaner" is a good engineering design criterion,
but disagree that a model for interpretation of URIs by
reference to denotational semantics is "cleaner".

I think it is "cleaner" to say that a HTTP URI serves to
identify a resource that one communicates with via the
HTTP protocol (as specified in RFC 2616), and that any
denotational semantics are layered on top by communication
systems that (should) provide the necessary context to
disambiguate between all of the various concepts that
might be associated with that resource.

> > I think it's important that RFC 2396bis explicitly
> > disclaim any responsibility for denotation, since it
> > is so widely presumed.
> 
> Can you sketch out a situation where someone thinking every URI
> had a denotation would build software that did the wrong thing?  

The most widely deployed system today which uses URIs for
denoting something other than the resource identified is
the XML namespace system. In some circumstances, a
URI such as "http://www.w3.org/1999/xhtml" is used to
denote 'the contents of that web page at the exact
instance it was uttered'. If I believed that, then
when I saw xmlns="http://www.w3.org/1999/xhtml" in
some XML instance, I would need to find out the creation
date of the XML instance and go to 
http://web.archive.org/web/*/http://www.w3.org/1999/xhtml
to see that there have been at least three versions
of http://www.w3.org/1999/xhtml, and I might have
to build a model of XML namespaces where namespaces
changed over time.

I can have a conversation with you about the history
of 'http://www.w3.org/1999/xhtml' as a web page maintained
by the W3C webmaster (in RCS, no less, currently saying
Last modified: $Date: 2003/04/11 14:00:50 $) and another
conversation with you about the XHTML namespace.
The two concepts are different. Which is the (single?)
denotation of the URI?

Larry

Received on Monday, 5 May 2003 12:24:13 UTC