- From: Geoffrey M. Clemm <geoffrey.clemm@rational.com>
- Date: Thu, 10 Feb 2000 08:53:49 -0500
- To: w3c-dist-auth@w3.org
It's not that time or content negotiation aren't important,
but just that including these aspects of the RMap function
was not relevant to the point being made. Perhaps modifying
the notation will help clarify.
Let's use the notation:
R:{U,T}->V
instead of:
{U,t} -R-> {V1, V2, ...}
You can expand this to include content negotiation by adding
another argument to the R function, i.e. R:{U,T,C}->V.
(U is the set of URI's, T is the set of points in time,
C is the set of content headers, and V is the set of values,
where each value is an entity body and a set of properties).
Jim's point is that a "resource" is a function RMap:{T,C}->V.
There are more arguments to the RMap function, i.e. the request
body and all the other headers, but that doesn't affect the discussion.
Let's let RES be the set of all such functions (i.e. each member of
RES is some function that maps time and a content header into a
value). There is another function, which Jim calls UMap, which maps
URI's into resources, i.e. UMap:U->RES.
In other (possibly more obscure :-) words, UMap is the result of
currying the URI's out of the R function, a resource is a member
of the range of UMap.
The BIND method gives you control over the UMap function (as do MOVE
and DELETE).
The semantics of the DAV:resourceid property is that it is not affected
by either time or content headers (or any other header). I.e.:
for-all RMap in RES
if RMap supports the BIND method then
there-exists a string, s, such that
for-all t,c in T,c
the DAV:resoureid property of RMap(t,c) is equal to s.
Cheers,
Geoff
Roy:
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.
Jim:
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.
From: "Larry Masinter" <LM@att.com>
Neither of these notations captures content negotiation, and it isn't
OK to remove 't'. The whole *point* is to understand what are the
things that are stable over time and which things can change, and how.
If you just look 'at an instant' then there's no meaningful way of
distinguishing URLs from resources, and collapsing -UMap->. I'm
guessing you want to make UMap vary more slowly and only with explicit
operations (BIND and UNBIND) while RMap encompases all of the content
negotiation & time varying behavior of resources without having any
explicit operation modify the mapping.
Received on Thursday, 10 February 2000 09:04:10 UTC