- From: Booth, David (HP Software - Boston) <dbooth@hp.com>
- Date: Fri, 8 Feb 2008 08:32:52 +0000
- To: Jonathan Rees <jar@creativecommons.org>, "Williams, Stuart (HP Labs, Bristol)" <skw@hp.com>
- CC: "www-tag@w3.org" <www-tag@w3.org>, Graham Klyne <GK@ninebynine.org>, Jonathan Borden <jonathan@openhealth.org>
> From: Jonathan Rees > > On Feb 6, 2008, at 8:11 AM, Williams, Stuart (HP Labs, Bristol) wrote: > > Resource-Description: http://example.org/site.rdf > ... > > This is stronger than the "303 'try-over-there <Location:>' 'hint'" > > because the intention of the Resource-Description: is (or would be) > > clear. > ... > > (Tracker, this is ISSUE-57) > > I think Link: as suggested by Richard is very similar, and has the > advantage that it is already part of an HTTP spec. The suggestion has > come up before. Unfortunately Link: disappeared in the move from 1.0 > to 1.1, if I remember my previous research on this correctly. > > The other advantage over 303, to me probably more important than the > ability to adopt a rule saying that the target is supposed to be a > description, is that it gives you a standard channel for > communicating metadata for information resources (200) that don't or > can't carry their own. This would be important for a wide variety of > applications, including provenance, versioning, licensing, and site > policy, that currently have to be layered in awkward ways on top of > HTTP. You don't have to bake anything in to HTTP to do that. A 303 redirect can be used with an awww:InformationResource just as it can be used with anything else. So for example, a URI such as http://example/doc/ir can be used to denote an awww:InformationResource, and when it is dereferenced, it can 303-redirect to something like http://example/doc/metadata and when that is dereferenced it can return a 200 OK with the RDF metadata that you want, such as (in n3): <http://example/doc/ir> hasProvenance prov:whatever . <http://example/doc/ir> hasVersion "1.20" . <http://example/doc/ir> hasMd5Checksum "567990020087678940" . <http://example/doc/ir> hasBitsAt "http://example/doc/bits" . <http://example/doc/ir> owl:sameAs <http://example/doc/bits> . And dereferencing http://example/doc/bits can yield a 200 OK with whatever bits you were trying to denote. Note that http://example/doc/ir would be the URI that you would want to publish -- not http://example/doc/ir , even though they denote the same awww:InformationResource. Anyone (or any group) can write a specification that details exactly what conforming implementations should do to follow these conventions. People may or may not follow them, just as they may or may not use a new HTTP header if it is added to the HTTP spec. Defining a new HTTP header will not force people to adopt it, just as defining conventions like these will not force people to adopt them. > [ . . . ] > The only other route I can think of > (other than variant GETs, which have been ruled out) is a > deterministic syntactic rule to go from a thing's URI to the URI of a > description of the thing, in the situation where the first URI has no > #. You would then "go" from the first URI to the second on the > client, and do a GET of the second. I think it's probably too late in > the game for this. No it isn't. Anyone can (nondestructively) layer their own syntactic conventions on top of http URIs, as I have previously described: http://dbooth.org/2006/urn2http/ A good example of this is http://thing-described-by.org . Suppose you come across the RDF triple _:foo _:fum <http://thing-described-by.org?http://dbooth.org/2005/dbooth/> . and you want to find metadata about the resource denoted by http://thing-described-by.org?http://dbooth.org/2005/dbooth/ . If you dereference the URI, you will find that it 303-redirects to http://dbooth.org/2005/dbooth/ which is a page containing such metadata. (The page happens to be written in English, but it could just as well have been written in RDF.) However, as described in http://thing-described-by.org/#optimizing if you know thing-described-by.org's conventions, which could certainly be written into a specification if desired, there is no need to dereference http://thing-described-by.org?http://dbooth.org/2005/dbooth/ to determine that http://dbooth.org/2005/dbooth/ contains the desired metadata. Instead, the URI prefix http://thing-described-by.org? can be stripped off automatically to yield the desired metadata URI. There may still be some benefit of convenience in adding a Resource-Description: HTTP header, but all of the stated problems that such a header solves can be solved in other ways. David Booth, Ph.D. HP Software +1 617 629 8881 office | dbooth@hp.com http://www.hp.com/go/software Opinions expressed herein are those of the author and do not represent the official views of HP unless explicitly stated otherwise.
Received on Friday, 8 February 2008 08:33:51 UTC