2005-09-28

Revisiting Content Negotiation

I attended yesterday a very interesting telecon of the SWBPD Vocabulary Management Task Force. The agenda was highly technical - define best practices on how to provide through its URI, both computable RDF description for computers and human-readable description for humans, of an RDF vocabulary term. Use cases were SKOS and FOAF, with their respective editors Alistair Miles and Dan Brickley, and Dublin Core, represented by Tom Baker. All those smart guys have already explored the subject in-depth during recent Dublin Core Conference in Madrid, and agreed that current state of their respective vocabularies was suboptimal.
Devil is in the details there, for example many vocabularies use #URIs, such as http://www.w3.org/2004/02/skos/core#prefLabel.
From Topic Maps Published Subjects viewpoint, such an URI would be called a subject identifier, but in your browser, the fragid is not taken into account, because http://www.w3.org/2004/02/skos/core#prefLabel points to an RDF schema. So the subject identifier does not provide directly a human-readable HTML subject indicator, such as the one actually provided by http://www.w3.org/TR/swbp-skos-core-spec/#prefLabel
Everybody agreed that it would be good to have the subject identifier provide redirection to the subject indicator (even if this is not the terminology used so far in RDF land), at least for human users (that is, in a regular browser), whereas computers would keep being fed with the RDF description.
Consensus in this meeting was that content negotiation is the way to go. While it's unclear at this stage (at least for me) how it can be technically achieved, particularly with #URIs, it sheds a new light on Published Subjects specification, on which I expand in this post.
New thing here is that at the time of the specification (2003), we did not explore both possibilities offered and issues raised by content negotiation for Published Subjects.

Thinking further about it, it strikes me that content negotiation mechanism is very similar to hubjects. A URI managed through content negotiation is defining a subject/resource which is neither this content nor that one, but a superposition of all possible contents, the actual one being delivered in a given interaction depending of the client-server dialogue. It's amazing that impact of content negotiation on URI meaning seems to have been so much overlooked. Although the specification is now quite old, it seems to have been only used as a borderline technical trick, whereas it could become a fundamental mechanism to deliver, through the same URI, a variety of views of a subject to a variety of users, humans and computers as well.