Extensible Resource Identifier
Encyclopedia
Extensible Resource Identifier (abbreviated XRI) is a scheme and resolution protocol for abstract identifiers compatible with Uniform Resource Identifier
s and Internationalized Resource Identifier
s, developed by the 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 were rejected by OASIS, a failure attributed to the intervention of the W3C Technical Architecture Group which recommended against using XRIs or taking the XRI specifications forward. 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, but whose limitations the XRI Technical Committee was formed specifically to address.
The designers of XRI believed that, due to the growth of XML
, Web services, and other ways of adapting the Web to automated, machine-to-machine communications, it was increasingly important to be able to identify a resource independent of any specific physical network path, location, or protocol in order to:
This work led, by early 2003, to the publication of a protocol based on HTTP(S) and simple XML documents called XRDS (Extensible Resource Descriptor Sequence)
.
- and IRI
-compatibility
Cross-references
Global context symbols
Peer-to-peer
addressing
Decentralization
Delegation
Federation
Persistence
Human- and machine-friendly formats
Simple, extensible resolution
Trusted resolution
Multiple resolution options
Fully internationalizable
Transport independent
A "*" marks a delegation. For example with "=family*name", "=family" delegates the resolving of its 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).
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.
Further parameters to specify 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.
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)
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)
Some people argue 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 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.
Uniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...
s and Internationalized Resource Identifier
Internationalized Resource Identifier
On the Internet, the Internationalized Resource Identifier is a generalization of the Uniform Resource Identifier . While URIs are limited to a subset of the ASCII character set, IRIs may contain characters from the Universal Character Set , including Chinese or Japanese kanji, Korean, Cyrillic...
s, developed by the XRI Technical Committee at OASIS
OASIS (organization)
The Organization for the Advancement of Structured Information Standards is a global consortium that drives the development, convergence and adoption of e-business and web service standards...
. 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 were rejected by OASIS, a failure attributed to the intervention of the W3C Technical Architecture Group which recommended against using XRIs or taking the XRI specifications forward. The core of the dispute is whether the widely interoperable HTTP
Hypertext Transfer Protocol
The Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....
URIs are capable of fulfilling the role of abstract, structured identifiers, as the TAG believes, but whose limitations the XRI Technical Committee was formed specifically to address.
The designers of XRI believed that, due to the growth of XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
, Web services, and other ways of adapting the Web to automated, machine-to-machine communications, it was 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.
- 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 synonymSynonymSynonyms are different words with almost identical or similar meanings. Words that are synonyms are said to be synonymous, and the state of being a synonym is called synonymy. The word comes from Ancient Greek syn and onoma . The words car and automobile are synonyms...
s used to identify the same resource in the same domain, or in other domains.
This work led, by early 2003, to the publication of a protocol based on HTTP(S) and simple XML documents called XRDS (Extensible Resource Descriptor Sequence)
XRDS
XRDS is an XML format for discovery of metadata about a resource – in particular discovery of services associated with the resource, a process known as service discovery...
.
Features
URIUniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...
- and IRI
Internationalized Resource Identifier
On the Internet, the Internationalized Resource Identifier is a generalization of the Uniform Resource Identifier . While URIs are limited to a subset of the ASCII character set, IRIs may contain characters from the Universal Character Set , including Chinese or Japanese kanji, Korean, Cyrillic...
-compatibility
- There is a specified way to express XRIs in the form of URIs
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-nameI-nameI-names are one form of an XRI — an OASIS open standard for digital identifiers designed for sharing resources and data across domains and applications. I-names are human readable XRIs intended to be as easy as possible for people to remember and use. For example, a personal i-name could be =Mary...
or i-numberI-numberi-numbers are a type of Internet identifier designed to solve the problem of how any resource can have a persistent identity that never changes even when the resource moves or changes its human-friendly name...
. 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
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...
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- and machine-friendly formats
- XRI provides syntax both for identifiers that can be created and understood by humans easily (i-nameI-nameI-names are one form of an XRI — an OASIS open standard for digital identifiers designed for sharing resources and data across domains and applications. I-names are human readable XRIs intended to be as easy as possible for people to remember and use. For example, a personal i-name could be =Mary...
s), and those that are optimized for machine structuring/parsing (i-numberI-numberi-numbers are a type of Internet identifier designed to solve the problem of how any resource can have a persistent identity that never changes even when the resource moves or changes its human-friendly name...
s).
Simple, extensible resolution
- XRI offers a lightweight resolution scheme using HTTP and a simple XML document format called XRDSXRDSXRDS is an XML format for discovery of metadata about a resource – in particular discovery of services associated with the resource, a process known as service discovery...
.
Trusted resolution
- The XRI resolution protocol includes three modes of trusted version: a) HTTPSHttpsHypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol with SSL/TLS protocol to provide encrypted communication and secure identification of a network web server...
, b) SAMLSAMLSecurity Assertion Markup Language is an XML-based open standard for exchanging authentication and authorization data between security domains, that is, between an identity provider and a service provider...
assertions, and c) both.
Multiple resolution options
- XRI resolution can be independent of DNS.
Fully internationalizable
Internationalization
In economics, internationalization has been viewed as a process of increasing involvement of enterprises in international markets, although there is no agreed definition of internationalization or international entrepreneurship...
- Leverage existing UnicodeUnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
and IRIInternationalized Resource IdentifierOn the Internet, the Internationalized Resource Identifier is a generalization of the Uniform Resource Identifier . While URIs are limited to a subset of the ASCII character set, IRIs may contain characters from the Universal Character Set , including Chinese or Japanese kanji, Korean, Cyrillic...
specifications.
Transport independent
- XRIs are independent of specific transport protocols or mechanisms.
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.A "*" marks a delegation. For example with "=family*name", "=family" delegates the resolving of its 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 XRDSXRDS
XRDS is an XML format for discovery of metadata about a resource – in particular discovery of services associated with the resource, a process known as service discovery...
documents using the HTTP(S
Https
Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol with SSL/TLS protocol to provide encrypted communication and secure identification of a network web server...
) protocol in the same way as URLs are resolved to Resource records using the DNS
Domain name system
The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...
protocol. This lookup process can be configured by passing parameters.
Proxy resolvers and the HXRI
An XRI can be transformed into a URI by adding "http://xri.net/" 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 HXRI for short. 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 specify 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)
Applications
Examples of applications being developed using XRI infrastructure include:- OpenIDOpenIDOpenID is an open standard that describes how users can be authenticated in a decentralized manner, eliminating the need for services to provide their own ad hoc systems and allowing users to consolidate their digital identities...
2.0 includes support for XRIs and uses XRDSXRDSXRDS is an XML format for discovery of metadata about a resource – in particular discovery of services associated with the resource, a process known as service discovery...
for OpenID identifier discovery. - The Higgins Project uses XRIs and XRDSXRDSXRDS is an XML format for discovery of metadata about a resource – in particular discovery of services associated with the resource, a process known as service discovery...
to address and discover Higgins context providers. - XDI.org I-nameI-nameI-names are one form of an XRI — an OASIS open standard for digital identifiers designed for sharing resources and data across domains and applications. I-names are human readable XRIs intended to be as easy as possible for people to remember and use. For example, a personal i-name could be =Mary...
and I-numberI-numberi-numbers are a type of Internet identifier designed to solve the problem of how any resource can have a persistent identity that never changes even when the resource moves or changes its human-friendly name...
digital identity addressing services. - The XDIXDIXDI is a generalized, extensible service for sharing, linking, and synchronizing structured data over the Internet and other data networks using XRI-addressable RDF graphs...
data sharing protocol under development by the OASISOASIS (organization)The Organization for the Advancement of Structured Information Standards is a global consortium that drives the development, convergence and adoption of e-business and web service standards...
XDI Technical Committee.
Licensing
The XRI Technical Committee is chartered under the 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 argue 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 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-nameI-nameI-names are one form of an XRI — an OASIS open standard for digital identifiers designed for sharing resources and data across domains and applications. I-names are human readable XRIs intended to be as easy as possible for people to remember and use. For example, a personal i-name could be =Mary...
s - I-numberI-numberi-numbers are a type of Internet identifier designed to solve the problem of how any resource can have a persistent identity that never changes even when the resource moves or changes its human-friendly name...
s - XRDSXRDSXRDS is an XML format for discovery of metadata about a resource – in particular discovery of services associated with the resource, a process known as service discovery...
- XDIXDIXDI is a generalized, extensible service for sharing, linking, and synchronizing structured data over the Internet and other data networks using XRI-addressable RDF graphs...
- Dataweb
- Social WebSocial WebThe social Web is a set of social relations that link people through the World Wide Web. The Social web encompasses how websites and software are designed and developed in order to support and foster social interaction. These online social interactions form the basis of much online activity...
- Higgins project
- Project XanaduProject XanaduProject Xanadu was the first hypertext project, founded in 1960 by Ted Nelson. Administrators of Project Xanadu have declared it an improvement over the World Wide Web, with mission statement: "Today's popular software simulates paper...
- Global context registriesGlobal context registriesGlobal context registries are a simple, human-friendly way to indicate the global context of an i-name or i-number. There are three key types of global context registries, each represented by a single symbol as shown.-See also:* I-broker...
External links
- OASIS XRI Technical Committee specifications:
- W3C Internationalized Resource Identifier (IRI)
- XDI.org - public trust organization governing XRI global registry services
- XDI.org Global Services Specifications - website of XDI.org specifications for global registry services for public i-nameI-nameI-names are one form of an XRI — an OASIS open standard for digital identifiers designed for sharing resources and data across domains and applications. I-names are human readable XRIs intended to be as easy as possible for people to remember and use. For example, a personal i-name could be =Mary...
s and i-numberI-numberi-numbers are a type of Internet identifier designed to solve the problem of how any resource can have a persistent identity that never changes even when the resource moves or changes its human-friendly name...
s - XDI.org I-Services Specifications - website of XDI.org specifications for XRDSXRDSXRDS is an XML format for discovery of metadata about a resource – in particular discovery of services associated with the resource, a process known as service discovery...
-enabled identity services.
- XDI.org Global Services Specifications - website of XDI.org specifications for global registry services for public i-name
- dev.xri.net - open public wiki on XRI and XRI open source projects
- Internet Identity Workshop One-Pager on XRI and XRDS
- FSF's Dispute with OASIS patent policies and on FSF's Support for OASIS RF on Limited Terms IPR Policy, which is used for ODF.
- EqualsDrummond - blog about XRI and Internet identifiers by Drummond Reed, co-chair of the OASIS XRI Technical Committee and Chief Architect at Cordance, currently under contract with XDI.org to operate XRI registry services.
- XRI applications and libraries - OpenXRI Project