Qualities of URLs and resources

Roy Fielding writes, in his post originally titled,
"draft-ietf-webdav-binding-protocol-02"
<http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0125.html>:
> > URI Mapping
> >      A relation between an absolute URI and a resource.  For an
> >      absolute URI U and the resource it identifies R, the URI mapping
> >      can be thought of as (U => R).  Since a resource can represent
> >      items that are not network retrievable, as well as those that are,
> >      it is possible for a resource to have zero, one, or many URI
> >      mappings. Mapping a resource to an "http" scheme URL makes it
> >      possible to submit HTTP protocol requests to the resource using
> >      the URL.
>
> Actually, it is more like ({U,t} -R-> {V1, V2, ...}), where t is the
> current time, R is the resource, -R-> is a mapping function that has
> been implemented according to the semantics of resource R), and the range
> is a set of values representing that resource at time t.

OK, so this notation makes it much more clear that a resource is a mapping
function.  However, if we just call the mapping function "R", this allows us
to express that multiple URI can be associated with the same mapping
function.  That is, the binding spec. is based on the mapping from URI to R
being many to one.  From your post, I think you believe it is one to one.
If so, this is at the heart of our disagreement.

So, using your notation, I would re-write the full mapping as:

 {URI1, URI2, ... URIn} -UMap-> resource -RMap-> {V1, V2, ... Vm}

Where UMap is the URI to resource mapping function, and RMap is the resource
to value mapping function.  I omit time since it's really tangential to our
discussion, assuming that the entire set of mappings occurs at a given time
t.  In this view, the term "resource" as used in RFC 2396 is both the output
of the UMap function, and the RMap mapping function, but *not* the set of
values.

As near as I can tell, this view is entirely consistent with the definition
of resource given in RFC 2396:

      Resource
         A resource can be anything that has identity.  Familiar
         examples include an electronic document, an image, a service
         (e.g., "today's weather report for Los Angeles"), and a
         collection of other resources.  Not all resources are network
         "retrievable"; e.g., human beings, corporations, and bound
         books in a library can also be considered resources.
         The resource is the conceptual mapping to an entity or set of
         entities, not necessarily the entity which corresponds to that
         mapping at any particular instance in time.  Thus, a resource
         can remain constant even when its content---the entities to
         which it currently corresponds---changes over time, provided
         that the conceptual mapping is not changed in the process.


There is nothing in RFC 2396 that either states or requires the URI to
resource mapping be one to one.  A resource can still be a mapping, even if
it has multiple URIs to it.

- Jim

Received on Wednesday, 9 February 2000 17:33:49 UTC