Extensible Resource Identifier

Extensible Resource Identifier

Extensible Resource Identifier (abbreviated XRI) is a scheme and resolution protocol for abstract identifiers compatible with Uniform Resource Identifiers and Internationalized Resource Identifiers, developed by the [http://www.oasis-open.org/committees/xri XRI Technical Committee] at OASIS. The goal of XRI is a standard syntax and discovery format for abstract, structured identifiers that are domain-, location-, application-, and transport-independent, so they can be shared across any number of domains, directories, and interaction protocols.

The XRI 2.0 specifications narrowly failed to become OASIS standards due to the number of negative votes, [ [http://lists.oasis-open.org/archives/xri/200806/msg00001.html Failed OASIS Standard Ballot of XRI Syntax v2.0] ] [ [http://lists.oasis-open.org/archives/xri/200806/msg00000.html Failed OASIS Standard Ballot of XRI Resolution v2.0] ] a failure attributed [ [http://www.equalsdrummond.name/?p=130 Time for OASIS XRI TC and W3C TAG to Sit Down Together] ] to the intervention of the W3C Technical Architecture Group which made a statement recommending against using XRIs or taking the XRI specifications forward. [ [http://lists.w3.org/Archives/Public/www-tag/2008May/0078.html TAG recommends against XRI] ] The core of the dispute is whether the widely interoperable HTTP URIs are capable of fulfilling the role of abstract, structured identifiers, as the TAG believes, [ [http://www.w3.org/2001/tag/doc/URNsAndRegistries-50.xml URNs, Namespaces and Registries] ] but whose limitations the XRI Technical Committee was formed specifically to address. [ [http://wiki.oasis-open.org/xri/XriSolvesRealProblems Xri Solves Real Problems] ]

Background & Motivations

URIs have been very successful identifiers over the Internet. However the growth of the Web has led to new requirements for resource identifiers that are not easily met by standard URI syntax. One of these key requirements — internationalization — was ultimately met by the W3C and IETF by developing a new form of URI called an Internationalized Resource Identifier (IRI). The IRI specifications built on the URI standard by extending the character set to support the full range of Unicode characters.

With the growth of XML, Web services, and other ways of adapting the Web to automated, machine-to-machine communications, it is increasingly important to be able to identify a resource independent of any specific physical network path, location, or protocol in order to:

* Create structured identifiers with self-describing "tags" that can be understood across domains the same way XML documents provide a self-describing, domain-independent data format.
* Maintain a persistent link to the resource regardless of whether its network location changes.
* Delegate identifier management not just in the authority segment (the first segment following the "xxx://" scheme name) but anywhere in the identifier path.
* Map identifiers used to identify a resource in one domain to other synonyms used to identify the same resource in the same domain, or in other domains.

By early 2003, these requirements led to the establishment of a new technical committee at OASIS whose goal was to create a new type of identifier that built on top of the IRI specification the same way the IRI specification built on top of the URI specification. The XRI TC has also developed a resolution protocol based on HTTP(S) and simple XML documents called XRDS (Extensible Resource Descriptor Sequence).


* URI- and IRI-compatibility — XRIs can be used wherever URIs or IRIs are called for.
* Cross-references — An XRI can contain another XRI (or a URI), to any level of nesting. This enables the construction of structured, "tagged" identifiers that enable identifier sharing across domains the same way XML enables data sharing across domains.
* Global context symbols — These are single-character symbols (=, @, +, $, or !) that provide a simple, human-friendly way to indicate the global context of an i-name or i-number. These are not required, but may be used within communities of interest that agree on their meaning and how they are resolved.
* Peer-to-peer addressing — XRI syntax supports the ability for any two network nodes to assign each other XRIs and perform cross-resolution. That is, a top-level namespace authority can be referred to by names assigned by other parties. This aids in federating namespaces between organizations or communities of interest.
* Decentralization — XRIs can be rooted in either centralized addressing systems (e.g., IP addresses or DNS domain names) or private/decentralized root authorities and peer-to-peer addressing.
* Delegation — Namespaces can be delegated to other namespace authorities.
* Federation — Namespaces defined separately at any level can be joined together in a hierarchical or polyarchical fashion, and made visible and resolvable.
* Persistence — The ability to express the intent that parts (or all) of an XRI are permanent identifiers that will never be reassigned.
* Human-friendly and machine-friendly formats — XRI provides syntax both for identifiers that can be created and understood by humans easily (i-names), and those that are optimized for machine structuring/parsing (i-numbers).
* Simple, extensible resolution — XRI offers a lightweight resolution scheme using HTTP and a simple XML document format called XRDS.
* Trusted resolution — the XRI resolution protocol includes three modes of trusted version: a) HTTPS, b) SAML assertions, and c) both.
* Multiple resolution options — XRI resolution can be independent of DNS.
* Fully internationalizable, leveraging Unicode and IRI specifications.
* Transport independent — XRIs are not bound to any specific transport protocols or mechanism.

Composition of an Extensible Resource Identifier

An XRI starting with = is thought of identifying a person. An XRI starting with @ identifies a company or organization. A starting + indicates a generic concept, subject or topic [ [http://www.xdi.org/modules/tut3/index.php?id=2 XRI and XDI Explained] ] .

* marks a delegation. For example with "=family*name", "=family" delegates the resolving of it's sub-XRI "name" to another resolver. This is analogous to DNS delegating the subdomain resolution to other nameservers ("name.family.de": after resolving "de", the nameserver responsible for "de" delegates to the "family" nameserver, which delegates to the "name" nameserver).

Resolving an Extensible Resource Identifier

XRIs are resolved to XRDS documents using the HTTP(S) protocol in the same way as URLs are resolved to Resource Records using the DNS protocol. This lookup process can be configured by passing parameters [ [http://www.equalsdrummond.name/?p=150 XRI in a Nutshell] ] .

Proxy resolvers and the HXRI

An XRI can be transformed into a URI by adding http(s)://xri.*/ at the beginning and appending the XRI. Internally, the URI now refers to a so called "proxy resolver", which resolves a URI of this kind to an XRDS document. The proxy resolver found under http://xri.net for example can be used to resolve an XRI. So =example becomes http://xri.net/=example. The second form is called an HTTP XRI or shortly HXRI. The owner of the XRI =example can tell the proxy resolver what to do, if the HXRI is called. One possible reaction is to do a 302 HTTP redirect to a stored URI.

Further parameters to specifiy the resolution can be appended to the HXRI, e.g. to get the whole XRDS document or to get service descriptions for this XRI. E.g. if you attach "?_xrd_r=application/xrds+xml" to the HXRI, the whole XRDS document is returned. So "http://xri.net/=example?_xrd_r=application/xrds+xml" returns the whole XRDS for the XRI "=example".

Examples of XRI Cross Reference Syntax

Say a library system uses URNs in the ISBN namespace to identify books and DNS subdomains to identify its library branches. HTTP URI syntax does not provide a standard way to express the URN for the book title in the context of the DNS name for the library branch. XRI cross-reference syntax solves this problem by allowing the library (and even automated programs running at the library) to programmatically construct the XRIs necessary to address any book at any branch. Examples:

xri://broadview.library.example.com/(urn:isbn:0-395-36341-1) xri://shoreline.library.example.com/(urn:isbn:0-395-36341-1) xri://northgate.library.example.com/(urn:isbn:0-395-36341-1)

This ability to create structured, self-describing identifiers can be extended to many other uses. For example, say the library wanted to indicate the type of each book available. By establishing a simple XRI dictionary of book types, it can now programmatically construct XRIs that include this metadata,

xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+hardcover) xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+softcover) xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+reference)

Other Examples of XRI 2.0 Syntax

(Note that none of these show the prefix "xri://", which is optional in XRIs when they are not in URI normal form, i.e, they have not undergone the specified transformation between XRI format and URI format.)

Example XRIs composed entirely of reassignable segments:

=Mary.Jones @Jones.and.Company +phone.number +phone.number/(+area.code) =Mary.Jones/(+phone.number) @Jones.and.Company/(+phone.number) @Jones.and.Company/((+phone.number)/(+area.code))

Example XRIs composed entirely of persistent segments:

=!13cf.4da5.9371.a7c5 @!280d.3822.17bf.ca48!78d2/!12

Example of XRIs with mixes of persistent and reassignable segments (XRI allows any combination of the two):

=!13cf.4da5.9371.a7c5/(+phone.number) @Jones.and.Company!78d2/!12/(+area.code)


Examples of applications being developed using XRI infrastructure include:

* OpenID 2.0 includes support for XRIs and uses XRDS for OpenID identifier discovery.
* The Higgins Project uses XRIs and XRDS to address and discover Higgins context providers.
* [http://www.xdi.org XDI.org] I-name and I-number digital identity addressing services.
* The XDI data sharing protocol under development by the OASIS [http://www.oasis-open.org/committees/xdi XDI Technical Committee] .


The XRI Technical Committee is chartered under the [http://www.oasis-open.org/committees/xri/ipr.php RF on Limited Terms Mode of the OASIS IPR policy] (See http://www.oasis-open.org/committees/xri/ipr.php for more details.)

Some people weasel-inline argues that the use of the technologies employed in XRI are subject to patent claims, that the licensing rights to these patents has been vested in [http://www.xdi.org XDI.org] , a non-profit organization which has in turn licensed a non-exclusive interest in the use of the patents to companies associated with the original patent holders, despite the above IPR statement.


See also

* I-names
* I-numbers
* Dataweb
* Social Web
* Higgins project
* Project Xanadu

External links

* [http://www.oasis-open.org/committees/xri OASIS XRI Technical Committee] specifications:
** [http://www.oasis-open.org/committees/download.php/15377 XRI Syntax 2.0 Committee Specification]
** [http://docs.oasis-open.org/xri/2.0/specs/xri-resolution-V2.0.html XRI Resolution 2.0 Committee Specification]
** [http://www.oasis-open.org/committees/xri/faq.php XRI 2.0 FAQ]
** [http://www.oasis-open.org/committees/download.php/2523/xri-requirements-and-glossary-v1.0.doc XRI Requirements and Glossary 1.0]
* [http://www.w3.org/International/O-URL-and-ident W3C Internationalized Resource Identifier (IRI)]
* [http://www.xdi.org XDI.org] - public trust organization governing XRI global registry services
** [http://gss.xdi.org XDI.org Global Services Specifications] - website of XDI.org specifications for global registry services for public i-names and i-numbers
** [http://iss.xdi.org XDI.org I-Services Specifications] - website of XDI.org specifications for XRDS-enabled identity services.
* [http://dev.xri.net dev.xri.net] - open public wiki on XRI and XRI open source projects
* [http://iiw.idcommons.net/index.php/XRI Internet Identity Workshop One-Pager on XRI and XRDS]
* [http://www.fsf.org/news/oasis.html FSF's Dispute with OASIS patent policies] and on [http://www.fsf.org/campaigns/odf-oasis.html FSF's Support for OASIS RF on Limited Terms IPR Policy] , which is used for ODF.
* [http://equalsdrummond.name EqualsDrummond] - blog about XRI and Internet identifiers by Drummond Reed, co-chair of the OASIS XRI Technical Committee and Chief Architect at [http://www.cordance.net Cordance] , currently under contract with [http://www.xdi.org XDI.org] to operate XRI registry services.

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • EXtensible Resource Identifier — XRI eXtensible Resource Identifier (abrégé XRI) est un schéma et un protocole de résolution pour les identifiants abstraits compatible avec les Uniform Resource Identifiers et les Internationalized Resource Identifierss, développé par le Comité… …   Wikipédia en Français

  • Extensible Resource Identifier — XRI (Extensible Resource Identifier) es un nuevo sistema de identificación en Internet, diseñado específicamente para identidades digitales de dominio cruzado. Los XRIs son de dos formas i nombres e i números que son habitualmente registrados… …   Wikipedia Español

  • Extensible Resource Identifier — …   Википедия

  • Uniform Resource Identifier — In computing, a Uniform Resource Identifier (URI) is a compact string of characters used to identify or name a resource on the Internet. The main purpose of this identification is to enable interaction with representations of the resource over a… …   Wikipedia

  • Internationalized Resource Identifier — On the Internet, the Internationalized Resource Identifier (IRI) is a generalization of the Uniform Resource Identifier (URI), which is in turn a generalization of the Uniform Resource Locator (URL). While URIs are limited to a subset of the… …   Wikipedia

  • Uniform Resource Identifier — Ein Uniform Resource Identifier (Abk. URI; engl. für „einheitlicher Bezeichner für Ressourcen“) ist ein Identifikator und besteht aus einer Zeichenfolge, die zur Identifizierung einer abstrakten oder physischen Ressource dient. URIs werden zur… …   Deutsch Wikipedia

  • Extensible Name Service — (often shortened to XNS) is an open protocol for universal addressing and automated data exchange. It is an XML based digital identity architecture.The development of XML in 1998 led to the XNS project, and the establishment of an international… …   Wikipedia

  • EXtensible Markup Language — Extension de fichier .xml Type MIME application/xml, text/xml Développé par World Wide Web Consortium Type de format …   Wikipédia en Français

  • Extensible markup language — Extension de fichier .xml Type MIME application/xml, text/xml Développé par World Wide Web Consortium Type de format …   Wikipédia en Français

  • Extensible Markup Language — Extension .xml Type MIME application/xml, text/xml Développé par …   Wikipédia en Français