RE: Clarifying what a URL identifies (Four Uses of a URL)

> >    indicates(context) (URI)  -> Concept
> 
> I'm a little fuzzy on what you mean by context.   Would it be fair
> to simply have several different kinds of indicator functions and drop
> the notion of context?   

I was basing the idea of 'context' on the text that started
this:
 
http://www.w3.org/2002/11/dbooth-names/dbooth-names_clean.htm#DifferentC
ontext

but with the idea that there were many different contexts,
not just four.

I'll give some examples of what I mean by 'context':

  "XML namespace name":  The context of appearing in an xmlns
  attribute.

This is an important context in the W3C. XML uses URIs to
indicate a 'namespace'. In this formalism, you don't have
to imagine that a 'namespace' is a 'resource'.
So
    indicate(xml-namespace-name) 
is a function that maps from URIs to namespaces.
    indicate(xml-namespace-name)("http://www.w3.org/2000/svg")
       indicates the abstraction "the namespace for SVG".


On the other hand, XML encryption uses URIs to
name encryption algorithms. So perhaps 'XML encryption
algorithm' is another context. And
    indicate(xml-encryption-algorithm)
is a function that maps from URIs to encryption algorithms.
 
indicate(xml-encryption-algorithm)("http://www.w3.org/2001/04/xmlenc#rsa
-oaep-mgf1p")
is a particular algorithm. An algorithm need not be
a 'resource'.


You asked some questions about what a 'resource' might be,
and of course, it seems circular to answer that a resource
is whatever a URI identifies. (Not 'indicates' or 'denotes',
but 'identifies' in the sense above.) This really would
be circular, except that it is (at least supposed to be)
part of the definition of the scheme.

That is, each URI scheme, when defined, should define
what a URI using the scheme identifies. The range of
identifies("http:" + string) is different from the range
of identifies("mailto:" + string), but are defined
(for better or worse) in their corresponding scheme
definitions.

If you want a more precise definition of what it is
exactly that a HTTP URI identifies than you already have,
you should then update RFC 2616, not RFC 2396.

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

Received on Friday, 24 January 2003 02:39:04 UTC