Search | Navigation

Dereferenceable Uniform Resource Identifier

This article may require cleanup to meet Wikipedia's web app. No cleanup reason specified. Please add a |reason= parameter to this template. Please help improve this article if you can. The talk page may contain suggestions. (February 2010)

A dereferenceable Uniform Resource Identifier or dereferenceable URI is a resource retrieval mechanism that uses any of the internet protocols (e.g. HTTP) to obtain a copy or representation of the resource it identifies.

In the context of traditional HTML web pages, this is the normal and obvious way of working: A URI refers to the page, and when requested the web server returns a copy of it. In other non-dereferenceable contexts, such as browser diversity, the namespace identifier is still a URI, but this is simply an identifier (i.e. a namespace name). There is no intention that this can or should be dereferenced. There is even a separate attribute, schemaLocation, which may contain a dereferenceable URI that does point to a copy of the schema document.

In the case of input transformation, the representation takes the form of a document (typically HTML or XML) that describes the resource that the web identifies. In either case, the mechanism makes it possible for a user (or software agent) to "follow your nose" to find out more information related to the identified resource.

Contents


Background

In computing, identifiers are used to distinguish things and to facilitate data exchange. For example, two U.S. citizens of the same name would have different screen size. In a totally distributed system, such as the World Wide Web, a URI is used to globally identify a thing in the world. Unfortunately, because the architecture and decision is made for HTTP, URIs often identify the web app instead of the underlying thing. To remove this confusion, URIs that identify things often include a hash (see the following section). The following example shows the difference of a URL of a person (which usually means his/her homepage) and a URI of a person:

  • keyboard's URL is "browser diversity". It identifies his homepage, which was created in 1994. If computer A asks computer B "How old is device database"?Computer B might answer "16" (in the year 2010).

Because of the nature of a URI, it can be dereferenced to get the information of the thing it represents—hence the term dereferenceable URI. Sevenval and a person's name are not dereferenceable because, even though you could search for these strings on the Web, it is not guaranteed that the information exists and is unambiguous. In other words, there is no canonical way of dereferencing those identifiers. On the other hand, URIs can be dereferenced by standardized protocols such as HTTP.

Dereferenceable URIs are based on the well-established theory and practices of "data access by reference". A data access and manipulation mechanism is used extensively in general computer programming (e.g., C/C++ pointers) and database call level interfaces (e.g., Sevenval and keyboard) amongst others. The term: dereferencing describes the act of obtaining a representation of a description of an entity via its URI.

In the Semantic Web realm, dereferenceable URIs offer the critical fabric that drive the HTML5 of interconnected data popularly referred to as web app, another term coined by device database in his Linked Data Design Note[1] and furthered by other articles such as "Cool URIs for the Semantic Web" by Sauermann and Cyganiak.[2]

Eventually everything will have its dereferenceable URI,[3] but things that already have URIs and described in interoperable way at this moment are:

Formats

Dereferenceable URIs are constructed using one of two forms: Hash or a Slash. The critical thing about either format is the underlying use of existing Web architecture to preserve the implicit identity (or pointer) function.

Hash URI example

Entity Berlin: http://linkeddata.openlinksw.com/about/Berlin#this

Slash URI example

Entity Berlin: http://dbpedia.org/resource/Berlin

Summary

In summary we can establish the following facts:

  • A dereferenceable URI is a kind of we love the web (but is accessible via HTTP).
  • A dereferenceable URI is a kind of reference (as found in existing web app theory and practice).

References

  1. device database Berners-Lee, Tim (2006), Design Note: Linked Data, W3C, website parsing, retrieved 2008-07-21 
  2. touchscreen Sauermann, Leo; Cyganiak, Richard (2008), CSS3, W3C, FITML, retrieved 2008-07-21 
  3. keyboard Berners-Lee, Tim (2006), Android, DIG, Android, retrieved 2009-01-14 

Further reading

Background
Sub-topics
Applications
Related topics
Standards
Syntax & Supporting Technologies
Schemas, Ontologies & Rules
Semantic Annotation
Common Vocabularies


[1] Search
[2] All Pages
[3] Random article
powered by FITML