DualUseUri

From W3C Wiki
Jump to: navigation, search

A Dual Use URI is a URI (see GoodURIs) which is useful in both RDF and HTML. This can be challenging to arrange because URIs are mostly used in HTML to name web pages and in RDF to name arbitrary things. A proper dual use URI acts in RDF like it's naming some arbitrary thing while it acts in HTML like it's naming a page about that arbitrary thing. (See WhenBrowsableAndUnambiguousCollide for more on this possible confusions here.)

(Useful in HTML really means useful in an HTML href=, which is the same as useful directly in a browser.)

[dbooth@w3.org adds: The above definition needs further clarification to answer the question: Is a Dual Use URI still an OverloadedUri?]

This can be arranged for either a HashURI or a SlashURI, using a combination of content negotiation and redirection, but it's a bit tricky. A naive approach will typically lead to logical inconsistencies when describing the kinds of information available on the web at some URI, such as one might do for query routing; you'll end up saying <x> (a web information source) offers information about <x> (a person, event, whatever).

For a SlashURI, you just do a "303 See Other" redirect (SeeOther303) to different places based on the type being asked about. Or redirect to one place and do content-negotation for document retrieval from that location.

For a HashURI, you only need to redirect the HTML request, but the redirection will have to be to a page with HTML anchors with the same names as the client has stored as the fragment part of the URI, which you don't know for sure. If you didn't redirect the HTML request, then you'd be conflating the RDF and HTML notions of the denotation of the URI-Reference.

  • For Hash URI's RDF about: href's with fragment identifiers are practically utilised, making the emphasis on HTML anchors a little ambiguous. PeterAnsell