Problem thread

Page or thing?

When you look up an http URI, have you got the thing it names, or a document about that thing?

issue
identification
also linking
status
largely settled
steps
9, 1998–2012
threads
all problem threads

In 2002 the W3C's Technical Architecture Group asked whether an http URI can name something that is not a web page, such as a person. Its 2005 answer turned on the server's reply: a 303 redirect means the URI may name anything. Linked Data publishers adopted the rule, and Wikidata's entity URIs still follow it. Critics argued that no rule can make reference unambiguous, and the TAG's 2012 attempt to revise the rule never concluded.

Lineage

  1. 1998
    Cool URIs don't change

    Argues that a published URI should keep working indefinitely. It treats a URI as a lasting name, which leaves open what exactly the name refers to. [src]

  2. 25 Mar 2002
    poses concept ★ seminal
    httpRange-14

    Tim Berners-Lee raises, for the TAG, 'What is the range of the HTTP dereference function?': can an http URI name a person or a concept, or only a document? [src]

  3. 15 Dec 2004
    Architecture of the World Wide Web, Volume One

    Defines 'information resource': a resource whose essential characteristics can be conveyed in a message. The 2005 resolution is stated in terms of it. [src1][src2]

  4. 18 Jun 2005
    httpRange-14 resolution

    The TAG's rule: a 2xx reply means the URI names an information resource; a 303 (See Other) reply means it could name any resource; a 4xx reply leaves its nature unknown. [src1][src2]

  5. 31 Mar 2008
    Cool URIs for the Semantic Web

    Turns the rule into two recipes for publishers: hash URIs, whose fragment never reaches the server, for small vocabularies, and 303 redirects for large datasets. [src]

  6. Apr 2008
    critiques writing
    In Defense of Ambiguity

    Argues that reference is ambiguous in any language, so Web architecture cannot make it unambiguous. A redirect is not enough; what is needed is a consistent way to associate descriptions with URIs. [src1][src2]

  7. Nov 2010
    When owl:sameAs Isn't the Same: An Analysis of Identity in Linked Data

    Evidence from published Linked Data that identity links are used loosely: owl:sameAs often means 'similar' or 'related' rather than 'the same thing'. [src]

  8. 29 Feb 2012
    reopens writing
    Call for proposals to amend the httpRange-14 resolution
    ↳ responds to httpRange-14 resolution

    The TAG asks for proposals to amend or withdraw the resolution, citing extra round trips, caching, and hosting services that cannot send 303 redirects. Keeping the rule and withdrawing it are both on the table. [src]

  9. 29 Oct 2012
    Wikidata

    Wikidata separates the two by design: a concept URI such as http://www.wikidata.org/entity/Q42 names the real-world thing and redirects with a 303 to a data URL that describes it. [src]

Open now

Under each question, the answers people have put forward or built. The catalogue gives no odds on them.

  • Should a server be allowed to answer 200 for a URI that names a thing, so publishers can skip the redirect? [src1][src2]
    This was the main pressure behind the 2012 call. The TAG's response to the change proposals was never drafted, and ISSUE-57 is still open.
    • Yes: answer 200 and point to the description with a 'describedby' link.
      A 2012 TAG draft describes a Link header with the 'describedby' relation as one way to lead from a URI to its documentation.[src]
    • No: keep hash URIs or the 303 redirect.
      The 2008 W3C note Cool URIs for the Semantic Web recommends these two patterns.[src]
  • How should a client find out what a URI is meant to name? [src1][src2]
    ISSUE-57 asks for mechanisms for getting information about the meaning of a URI; Hayes and Halpin argue that a consistent way to attach descriptions matters more than the redirect.
    • Follow a 'describedby' link or a redirect to the documentation.
      The same TAG draft lists a 303 redirect and a 'describedby' Link header as the two ways a client finds what a URI is meant to name.[src]

How to contribute