[gcs-pcs-list] on using URIs

Robert Sanderson azaroth at liverpool.ac.uk
Wed Mar 1 07:00:33 EST 2006


On Tue, 28 Feb 2006, Daniel Chudnov wrote:
>The case for URIs includes:

> - they refer to the same thing across applications

Which is great, but not interesting for unapi surely where the use case
is 'I want this that I see now' not 'I want the thing identified by X'

> - they imply some measure of identifier persistence

Which is a disadvantage because it means that dynamic content which is
not persistent is less appropriate for unapi.  If the use case is 'I
want what I see now' (copy), not 'I want to refer back to this in the
future' (citation), then this means that we're adding hindrances.

> - where objects might be copied around using unAPI there is probably
>   already some sort of implication of object+id persistence

Why?

>Fwiw, we're getting to the point where we should be weighing decisions
>more and more w/r/to implemented code.  So, from the point of view of
>the projects for which I'm using unAPI...

Well, my code says that it's more complicated to put record identifier
into a fake URI, and I think that Mike's code says the same thing.


> - it is easy to map specific identifier patterns to specific webapps
> - without the standard URI prefix patterns, it might be impossible
>   to efficiently assign a handler to a particular arbitrary identifier

Isn't that a resolver, rather than a copy/paste format?

> - having full URI patterns makes it easy to use a library like OPA
>   to resolve ids
Which is acting as a resolver, effectively.

> - using full URIs makes it more likely that different pasted-in
>   stuff can refer to the same thing consistently, e.g. if user1 writes
>   about a book in a blog, user2 saves an amazon book link, and user3
>   saves an OPAC record for the book, unalog can collate all three around
>   the URI (as opposed to randomly differing variants on ISBNs)

In the 'I want this thing I see' mode, this isn't important.  As soon as
you get past that, then you're reinventing openURL.

> - unalog itself referring to an object by its URI allows potentially
>   better precision in service/content resolution, e.g. queries for
>   object "12345" might return wildly different things with (unlike
>   w/tagging) zero potential value to be derived from overlaps across
>   disparate objects

You even use the word resolution here.  I won't restate the obvious :)

>Another good reason to require URIs is that bridging other protocols
>(APP, OpenURL, OpenSearch/SRU) might be easier if implementers already
>have fully-specified URIs.

Ditto.

>As for the Evergreen blog post:  Mike, I'd suggest that what you want
>there isn't some tag or other made-up URI for your internal record
>identifier, but rather the ISBN URI (e.g. urn:isbn:123456789X) relevant
>for the item in your catalog (or an ISSN, etc.), unless an item in the
>catalog has no known public identifier already.

Not only is ISBN not consistently available, it's also not consistently
unique.

> - content identifiers represent publicly-known identifiers that are
>   independent of system implementations.  all systems dealing with
>   the same content item would use the same content identifier.  some
>   examples would be ISBNs, PMIDs, flickr photo ids, blog post numbers,
>   etc.  these are probably at least "precious" or "normal", to use
>   Xiaoming's formulation.

But you're dealing with one system.

> - package and datastream identifiers represent specific-to-an-
>   application identifiers that aren't necessarily public or known
>   outside of the system itself.  maybe they are, maybe they aren't.
>   some examples would be unalog entry ids, flickr image file URLs,
>   repository bitstream uuids, etc.

>imho unAPI is all about content identifiers.  Or, rather, you could use
>the other kinds of identifiers with it, but if it really takes off as
>an cross-application spec, it will be through the common use of content
>identifiers, most of which can be usefully rendered as URIs.

Then my claim (and Jeff's claim, I think) is that you're reinventing
OpenURL.

Rob


More information about the gcs-pcs-list mailing list