RE: resource and representation

From: Roy T. Fielding [mailto:fielding@apache.org]


On Monday, July 8, 2002, at 06:36  AM, Bullard, Claude L (Len) wrote:
> Close.  Identity is a named value returned
> by a process of identification. That's all.

>An identifier is a name returned by a process of identification.

Yes.

>Identity can exist both prior to, and as a side-effect of,
>identification.  

It can in an abstract sense, but the practical use of this 
is given only when the systems of identification are known. 
The problem is that leads to the bog of inherent identity 
which while philosophically fun, isn't that useful.  It 
is somewhat like the requirement for zero:  first there 
is zero, then if there is anything besides zero, there 
is everything that is.   Fun and required for notation, 
but not an existential quantity.

>A well-chosen system of identification provides
>an N-to-1 mapping of identifiers to a noun/object/resource/thing
>with an identity: a sameness of essential character.  

Abstractly, given any set, it is unique, and again, the existence of the set 
predicates a system of measurement or observation.  Identity 
has only abstract value without a known system of identification.

>Identity is only a returned value in the sense that it is the set of
>essential characteristics over all time that will be observed
>to be true for any representative value of the identification
>function that is examined at some instance in time.

Introduction of the concept of the observer is critical.  This 
is a fundamental issue because identity may need to be established 
as an observed resource is passed among systems.   It is the 
need to establish that a set member is the unique member given 
multiple systems or observers that gives value to the abstract 
concept of identity.

>That is also why, in most cases, the "identity" associated with a
>URI is defined more by the way people use the URI than by the actual
>identification mechanism used by the origin.  

Yes.  It explicitly requires that the identity name be sharable 
or mappable but this in and of itself will not ensure that an 
identification process returns a valid identity.  It is  
possible to mislabel by intent or error. (Exchanging badges 
is a common problem among jailed individuals and even bar coding 
is insufficient.  Identification systems are probabalistic 
and typically redundant.)

>People place semantics
>on a given resource according to the consistent set of characteristics
>they observe within its representations, often in spite of the
>original author's intentions.  Hence, Google's ranking algorithm.

Yes.  The Golem problem.

<snipped Webster..>

>That sameness of mapping is the desired end-point of identification
>AND a characteristic of that being identified.  

True but insists that the best that can be had is assignment.  Then 
system(s) work to ensure assignment is consistent.  In that sense, 
identity is assigned and maintained by vetted/reliable systems.  No 
free lunch.  The clear advantage of the web is the use of tested, 
known systems of identification.  This also means that any system 
which an owning or authoritative source establishes as reliable 
for assigning identity can work with a web system to create a 
resource to be dissemintated to the web.   This is dissemination 
management.  Such managers are critical to managing information 
prior to assignment of a URI (policy managers, in one sense, 
or simply the business rules for security and access pre-web).  
If useful, it is possible to indirect the naming system (eg, 
use of PUBLIC IDs), but the receiving system is not obligated 
to use these.  Thus, there can be utility in differentiating 
public and system identifiers, but that utility is not of 
necessity shared. 

>For example, think of
>a clock as a resource.  When we perform a GET action (in life or on Web)
>on a clock resource, we don't receive back the clock.  What we receive
>is a representation of the current state of the clock, which has value
>to us because we know that the semantics of a clock resource is a
>representation of time relative to its reference point (set time) and
>the working of its internal mechanisms.  That is its sameness -- its
>identity as a resource.

Accepted with the proviso that sameness is assigned by having a reliable
system for assigning identity within the context of a system that observes 
that value.   The clock time might have other characteristics which 
are not represented by the disseminated representation such as the 
purpose of obtaining the time value and these are not carried into 
the representation.  Thus the value of time has an identity established 
by the system that assigns it and that system has no and needs know 
knowledge of its membership in an earlier representation.

>Universal applicability of identity is not necessary on the Web.
>If the reference time is the same as that of the viewer, and the
>mechanism is believed to be accurate, then performing the GET also
>allows the recipient to learn their "current time" by viewing the
>representation relative to its age.  Such semantics are useful even
>if they are not universal.  

Yes.  One can say that the semantics are situated relative to the 
viewpoint of the observer.  That observer may be assigning identity 
or sharing an identity assigned prior to observation.  In the second 
case, the observer trusts or relies on the validity of that prior 
system.  (At exchange time of a prisoner, the policy enforced either 
reidentifies, validates, or accepts as valid that the person 
exchanged is the named individual, thus associating all records 
with that identifier to the named individual.)

>If others want to identify a clock with
>universal semantics, then they must restrict the identification
>function to map to a UTC clock, or at least a clock that describes
>its own reference point such that the viewer can calculate the
>difference relative to their own understanding of time.  That is
>a different resource even if it is the same physical clock.

Yes.  Share, map, or reassign.  In all cases, the local observer 
requires a policy for identification.  The reliability required 
is contingent on the criticality for being correct within the 
local policies typically for a resource of some type.

>URI are identifiers of resources.  GET is a request for a
>representation of the current state of the identified resource.
>The server does not transfer the resource itself because that's
>not what the client requested; the client does not want the
>mechanism that implements the resource over all time -- only the
>current state of the resource at that instant in time.  That's
>what allows the client, and the transfer protocol, to be simple.

Yes.  The prisonser analogy breaks here, of course, not being 
a digital representation.  Transfer of a physical object does 
require the original, and perhaps the records, but cannot 
get the prisoner when they are a baby as well as an adult. 
The state of the records can be used as part of the process 
of identification of the prisoner, but again, this is where 
the goal of the system (to move digital representations) 
and the abstractions of identity based on any unique object 
in a universe must diverge.   However, this seems to be 
what the RDF community has as a concern, that it does 
require a universal and unique identifier.

>If the mechanism is itself a resource, then the mechanism will
>have its own, separate URI, and doing a GET on that URI will
>transfer a copy of the mechanism at that instant in time.

A GUID is a GUID.

>Likewise, we could define separate URI for the clock's big-hand,
>little-hand, seconds-hand, moon-dial, PRAM, etc. -- anything that
>has identity.  Whether or not those other resources are accessible,
>and with what methods, is a policy issue for the origin rather than
>a limitation of the interface.

Again, I have to caveat that the identity is assigned by the 
system.   This is a small quibble but keeps me out of the 
bog of identity as inherent to an object.

Thanks.

len

Received on Tuesday, 9 July 2002 09:53:05 UTC