URIs and the Myth of Resource Identity

David Booth
HP Software

This document:  http://dbooth.org/2006/identity/slides.html
Complete paper: http://dbooth.org/2006/identity/

Key Points


And maybe (though I'm not sure)::

What does a URI mean?

 http://example/dbooth ?

Intrinsically: nothing.  It’s a string.

Useful fiction: A URI names a resource

What resource does a URI name?


URI owner can serve descriptive information:

Resource Models

resource models

Descriptive information is inherently partial

The Problem of resource identity . . .

. . . is the problem of locating appropriate descriptive information

 . . . or does it?

Describing Versus Identifying Versus Naming

Describing: Providing information about the characteristics of the resource

Identifying: Distinguishing the resource from all other resources

Naming: Associating a name with a resource

Example: Describing a Resource

___ is:

Example: Identifying a Resource

___ is:

Warning: Do not confuse “uniquely identifying” with the “unique name assumption”.

Example: Naming a Resource

http://t-d-b.org?http://dbooth.org/2005/dbooth/ is . . .

Unique Identification Enables the Network Effect

When a resource is uniquely identified, others can provide independent descriptive information

Naming without uniquely identifying

Example: “http://hp.example/DavidBooth is the David Booth who works at HP”

URI Producers and Consumers

Role of URI Owner (Producer)

Role of URI User (Consumer)

URI consumers need a well-defined algorithm for locating authoritative descriptive information!

Algorithm for Locating Authoritative Information About a Resource

Given http URI u:

IF u  contains a fragment identifier, then dereference the racine.   (The racine is all of the URI except the fragment identifier.)


Dereference u.

IF the response code is 2xx, then conclude that the resource is an “information resource”.

ELSIF the response code is a 303 redirect to u2, then look for authoritative information at u2.

ELSE Out of luck.

Should the same URI name both a person and a Web page?

The WebArch says no.  Why not?  What breaks?


Problem: No algorithm for locating more authoritative information about u1’s resource!

Distinguishing between “information resources” and non-“information resources”

WebArch is not clear about how to tell the difference

Definition needs to be:

Class of “information resources” should be:

My (Latest) Proposed Definition of “Information Resource”

An “information resource” is only a network source of representations

Is this sufficient to unambiguously identify the resource if dereferencing the URI yields a 2xx status?  I don’t know.  The definition may need to include the URI, such as:

An “information resource” is only a URI-named network source of representations

Key Points


And maybe (though I'm not sure)::

 Questions? Comments?