A Committee Draft of the Extensible Resource Identifier (XRI) Generic Syntax and Resolution Specification has been approved by the OASIS XRI Technical Committee in advance of its submission for consideration as an OASIS Standard.
The XRI TC was chartered "to define a URI scheme and a corresponding URN namespace for distributed directory services that enable the identification of resources (including people and organizations) and the sharing of data across domains, enterprises, and applications." XRI TC work incorporates several features of the XNS (eXtensible Name Service) technology, and is broadly aligned with the goals of the Identity Commons Initiative. The TC Charter asserts that "there is a demand for distributed directory services that enable the identification of any type of resource, both those directly on the network and those abstract from it, and the sharing of data across domains, enterprises, and applications. Meeting this need requires an extensible, location-, application-, and transport-independent identification scheme that provides addressability not just of resources, but also of their attributes and versions."
XRIs function like URIs and have a syntax mirroring URIs: a scheme name (xri:) followed by the same four optional components as a generic URI, thus: xri: authority / path ? query # fragment, where the definitions of these components are, for the most part, supersets of the equivalent components in the generic URI syntax. XRIs may be used either as indirect 'names' or direct 'locators' for resources, including other XRIs. The XRI scheme also includes syntax for distinguishing whether an XRI is intended only for identification or also for resolution.
XRI syntax extends generic URI syntax by providing support for persistent and reassignable segments, unlimited delegation of namespaces, global context symbols, cross-references (containment of other URIs or XRIs), self-references (a form of cross-reference indicating that an entire XRI is intended as a unique identifier, not for network resolution), and an internationalized character set. XRIs use Unicode for internationalization following the W3C's draft for Internationalized Resource Identifiers (IRI).
XRI Generic Syntax and Resolution Specification . OASIS Extensible Resource Identifier TC, Approved Committee Draft. 12-January-2004. Document identifier: 'xri-syntax-resolution-1.0-cd'. 52 pages. By Gabe Wachob (Visa International), Drummond Reed (OneName), Dave McAlpin (Epok), Mike Lindelsee (Visa International), Peter Davis (Neustar), and Nat Sakimura (NRI). PDF source posted by Drummond Reed (Cordance), Tuesday, 20 January 2004, 03:00pm. Also available in Word .DOC format.
OASIS Extensible Resource Identifier (XRI) TC FAQ. January 16, 2004. 6 pages. Posted by Dave McAlpin on Tuesday, 20 January 2004. "This FAQ is an overview of the work of the OASIS XRI Technical Committee. For additional questions or comments, please email the TC chairs, Gabe Wachob or Drummond Reed."
XRI Requirements and Glossary. Version 1.0. 1 2-June-2003. 28 pages. Document identifier: 'xri-requirements-and-glossary-v1.0'. This document describes architectural motivations and requirements for development of the Extensible Resource Identifier (XRI) specifications. It also includes a normative glossary of terms used in this document and other XRI deliverables.
Forthcoming XRI TC Publications:
- XRI Primer v1.0. A non-normative introduction to XRIs and their uses. Scheduled for release in January 2004.
- XRI Secure Resolution Specification v1.0. Extensions to the base XRI resolution protocol for digitally verifying resolution results. Scheduled for release in March 2004.
- XRI Syntax and Resolution Specification Version 1.1. A revision incorporating implementation experience and feedback - June 2004.
- XRI Metadata Specification v1.0. A registry of special XRI identifiers used to describe other XRI identifiers. Scheduled for release in February 2004. Note: The XRI Metadata Specification v1.0 may include some of the features outlined in Appendix B "Special Identifiers Assigned by the XRI Specification" from an earlier draft XRI specification (omitted in current Version 1.0RC3). For example: "As defined 'Global Context Symbols (GCS)', the GCS character '$' is reserved for identifiers for which this specification is the authority. The purpose of this identifier space is to define metadata specific to the intepretation and resolution of other identifers. Establishing such metadata at the specification level enables interoperability among XRI implementations..." [Examples:] $! for presentation metadata (xri:=johndoejr.($!/John%20Doe%20Jr%46) should display as '=John Doe Jr.' ; $f for font metadata, when necessary for disambiguation of internationalized XRIs [$f/(+arial) or $f/(+times)] ; $l for language metadata, when necessary for disambiguation of internationalized XRIs, where the enumerated value must be a language identifier specified by RFC3066 ($l/fr) ; $q for query syntax type ($q/sql or $q/xpath) ; $s for the Schema for XRI Identifier Authority Descriptors, reserved for XML schemas for XRI resolution (xri:$s/IdentifierAuthority) ; $t for type metadata ($t/RDDL) ; $v for version metadata ($v/3, $v/3.4, $v/:3, $v/:3:4) ; $v.d for version metadata in XML datetime format ($v.d/2000-01-12T12:13:14Z). See (e.g.,) Version RC1b, announced November 10, 2003.
Summary from the Extensible Resource Identifier (XRI) Generic Syntax and Resolution Specification Version 1.0RC3 specification:
An Extensible Resource Identifier (XRI) provides a standard means of abstractly identifying a resource independent of any particular concrete representation of that resource -- or, in the case of a completely abstract resource, of any representation at all.
XRIs are similar to URIs as defined in Uniform Resource Identifiers (URI): Generic Syntax (RFC 2396), but contain additional syntactic elements and extend the unreserved character set to include characters beyond those allowed in generic URIs. To accommodate applications that expect generic URIs, this specification defines rules for transforming an XRI into a valid URI as defined by RFC 2396. Since a revision of RFC 2396 is currently in progress, the XRI scheme also incorporates some simplifications and enhancements to generic URI syntax as proposed in RFC2396bis.
Although an XRI is not a Uniform Resource Name (URN) as defined in URN Syntax (RFC2141), XRIs consisting entirely of persistent segments are designed to meet the requirements set out in Functional Requirements for Uniform Resource Names (RFC1737). [The XRI Syntax document] specifies the ABNF for the XRI scheme. In addition it specifies an HTTP-based resolution protocol for XRIs. Use of this protocol is not required; XRIs may also be resolved using other protocols or resolution mechanisms.
XRI syntax is designed to be as simple and extensible as URI syntax. A fully-qualified XRI consists of the scheme name xri: followed by the same four optional components as a generic URI, thus: xri: authority / path ? query # fragment. The definitions of these components are, for the most part, supersets of the equivalent components in the generic URI syntax.
XRI syntax extends generic URI syntax in six ways by providing support for:
Persistent and reassignable segments: Generic URI syntax does not distinguish between persistent and reassignable identifiers. XRI syntax enables the top-level authority segment as well as any subsequent path segment to be explicitly designated as either persistent or reassignable.
Unlimited delegation: Generic URI syntax supports delegated identifiers (i.e., DNS names or IP addresses) only within the top-level authority segment. XRI syntax supports delegation of both persistent and reassignable identifiers at any level of the path.
Global context symbols: While XRI syntax supports the same generic syntax used in URIs for DNS and IP authorities, it also provides shorthand symbols for establishing the abstract context of an identifier.
Cross-references: Generic URI syntax does not provide a way to share identifiers across contexts. This capability is particularly useful with abstract identifiers (e.g., to establish the generic type of a resource, or to share standardized identifier metadata such as version indicators). For this reason, XRI syntax allows XRIs (and URIs) to be shared across contexts by means of parenthetical nesting.
Self-references: Generic URI syntax does not provide a way to indicate whether or not a URI is intended for resolution. Since an XRI may itself be the full representation of a abstract non-network resource (for example, concepts like 'love', 'honesty', or 'user-friendliness'), XRI syntax provides a way to express self-reference.
Internationalized character set: Generic URI syntax limits legal characters to a subset of the US-ASCII character set. XRI syntax, following the lead of [Draft W3C] Internationalized Resource Identifiers (IRI), employs the broader Unicode character set, making the use of XRIs in languages other than English much more straightforward.
XRIs are particularly well-suited for applications dealing with resources that:
- need identity independent of a network
- persist for long periods of time [or]
- move or maintain relationships across multiple domains or locations (such as people, devices, other physical assets, and digital assets)
An example of such an application is a dynamic address book. XRIs enable the persistent identification of identity attributes such as those required for PKI key distribution and revocation, electronic business cards and other common identity attributes that need to be exchanged, linked, and synchronized across distributed directories...
XRIs were designed for identifying and sharing fully abstract resources like concepts, subjects, and topics (collections of which are commonly called taxonomies or ontologies) across a large population of domains and users. XRIs are therefore relevant to online dictionaries and search. Three features of XRIs are particularly suited for this application:
- The XRI general namespace (the + space) is reserved for identifying generic concepts of any kind.
- Cross-references make it possible to address an instance of a concept (a phone number, a shoe size, a blood type, an invoice, a song) relative to a specific context (e.g., a person, workgroup, network, device, database, etc.)
- Persistent XRI syntax makes it possible for multiple human-friendly, reassignable XRIs (in the same human language, or across multiple human languages) to be mapped to a persistent XRI 'index value' (the Web equivalent of a global foreign key in a database.) This provides an efficient, long-term way to identify the same underlying concept even as human language undergoes its constant 'semantic drift'.
The primary extensibility mechanism in XRI is very similar to XML: the ability to add new 'tags' through the use of cross-references, based upon identifiers nested within other identifiers... As with XML, there is no limit to the number of cross-references that can be added by any XRI authority to extend the utility of XRIs while remaining interoperable across all implementations..." [adapted from the provisional XRI FAQ document]
See also XRI Data Interchange (XDI) introduced below; XDI may be considered an application of XRIs.
About the OASIS Extensible Resource Identifier Technical Committee
Chaired by Drummond Reed (Cordance) and Gabriel Wachob (VISA), the XRI TC was chartered "to define a URI scheme and a corresponding URN namespace for distributed directory services that enable the identification of resources (including people and organizations) and the sharing of data across domains, enterprises, and applications."
From the [revised] XRI TC Charter:
"Increasingly, there is a demand for distributed directory services that enable the identification of any type of resource, both those directly on the network and those abstract from it, and the sharing of data across domains, enterprises, and applications.
Meeting this need requires an extensible, location-, application-, and transport-independent identification scheme that provides addressability not just of resources, but also of their attributes and versions. The scheme should support both persistent and reassignable identifiers that can be optimized for either human usage or machine efficiency. It should ideally impose no limits on the underlying directory, data, or delegation models and thus be interoperable across the greatest possible number of systems and domains.
The purpose of this committee is to define a URI-compatible identifier scheme and resolution protocol that meets these requirements. The XRI scheme will be a superset of the URI scheme defined by RFC 2396 and RFC 2396bis. For resources that need to be persistently identified and linked, the XRI scheme will also incorporate syntax meeting the functional requirements for URNs (Uniform Resource Names) as described in RFC 1737. Lastly, the XRI scheme will be fully internationalized following the recommendations of the W3C work on IRIs (Internationalized Resource Identifiers).
This TC's work may be influenced by the general architecture described in XNS and specifically by the XNS Addressing Specification. The XNS specifications published by the XNS Public Trust Organization (XNSORG) have been contributed to the TC for consideration in the committee's work. XNS is licensed under royalty-free (RF) terms as described in the license.
In no event shall this Technical Committee finalize or approve any technical specification if it believes that the use, distribution, or implementation of such specification would necessarily require the unauthorized infringement of any third party rights known to the Technical Committee, and such third party has not agreed to provide necessary license rights on perpetual, royalty-free, non-discriminatory terms...
The scope of the XRI TC is limited to the definition of the XRI identifier scheme, one or more resolution protocols (in particular, a generic resolution protocol with secure resolution extensions), XRI metadata (special XRI identifiers used for describing other XRI identifiers), and documents supporting implementation and interoperability of XRIs..."
Update 2004-01-21: see the news story "OASIS Members Form XRI Data Interchange (XDI) Technical Committee."
As described in the XRI TC Charter, "a separate OASIS TC (XRI Data Interchange - XDI) is expected to define an XML schema and an associated Web service for exchanging data and metadata identified by XRIs..." Preliminary information is supplied on the Standards page from OneName Inc.: "eXtensible Resource Identifiers (XRI) and XRI Data Interchange (XDI)."
Overview: XRI Data Interchange (XDI) is being proposed as a "standard for a high-level, automated directory, data interchange, and synchronization service on the Internet. XDI can be used to identify people, companies, and things and allow them to automatically exchange data using both human-friendly names (e-names) and computer-friendly numbers (e-numbers). E-names make it easy for people to specify XDI resources and do XDI searches, while e-numbers allow computers to form permanent XDI links between resources whose e-names might change over time. XDI introduces two new types of service organizations: XDI registrars for registering e-names and e-numbers, and XDI service providers for doing XDI data sharing and synchronization...
XDI "identification" uses XRIs (Extensible Resource Identifiers), a new type of Web address (URI) that can be used to mark up any Web resource so it can be treated as a database. XRI-identified resources can then be persistently linked and synchronized into a "Dataweb." When XML Web pages are marked up with XDI, an XDI search engine will return either the exact XDI data a user is seeking or a small number of possibilities instead of a thousand times more data than the user wants, as is common today. In real life, there are many names for the same thing, and XDI supports XRI synonyms in order to conform to the human world.
XDI "synchronization" dynamically updates data between parties. Using XDI "link contracts" (data sharing agreements expressed in XDI), any data that might change, such as contact information, parts lists, inventory levels, etc., can be automatically pushed to the authorized parties. When two parties first exchange data, and both use XDI service providers, the receiver can request an XDI link contract with the sender. When the sender's data changes, the sender's XDI service provider automatically sends an XDI message with the new data to the receiver's XDI service provider.
XDI is comprised of an XML-based data interchange schema and protocol that uses XRI e-names and e-numbers. An e-name, which is reassignable, generally points to an e-number, which is persistent. In turn, the e-number points to one or more URLs or to offline data, such as a telephone number or postal address. When an XDI-identified resource is located, an XDI browser will bookmark both the e-name and the e-number for the resource. As a result, the resource can later change its real-world name and corresponding e-name, but the user's bookmark will still be valid because of the persistent e-number. Fully deployed, XDI can serve as a fully distributed ("federated") yellow and white pages directory system..." [adapted from the OneName summary; see also the technical white paper]
- XRI Generic Syntax and Resolution Specification 1.0. Approved Committee Draft. PDF source posted by Drummond Reed (Cordance), Tuesday, 20 January 2004, 03:00pm.
- Previously: Extensible Resource Identifier (XRI) Generic Syntax and Resolution Specification. Committee Draft Version 1.0 RC3 balloted for approval. Also in .DOC format. An RC2-level document was unanimously approved as an OASIS Committee Draft by the XRI TC in December 2003; subsequent minor corrections led to the RC3 document, balloted January 13, 2004.
- OASIS Extensible Resource Identifier (XRI) TC FAQ. 'Edited FAQ with revisions accepted.' January 16, 2004. Posted by Dave McAlpin Tuesday, 20 January 2004, 02:03pm. [source .DOC]
- XRI Requirements and Glossary Version 1.0. 12-June-2003. 28 pages. [source .DOC, cache]
- OASIS Extensible Resource Identifier TC web site
- XRI TC Charter
- XRI TC Members
- XRI TC discussion list archives
- A 'degugging' XRI Resolver. From Gabe Wachob, as described in a TC list posting.
- SourceForge Project SSXDI. Project to build a resolver for XRIs and a simple XDI library that employs XRIs to manage the dataweb. See the home page.
- Simple Single Sign-on with XRI/XDI-enabled data sharing
- Identity Commons. A 2004-01-16 Identity Commons news item said that IC had put a first chunk of XRI Resolver code up on SSXDI SourceForge site. See the posting [alt] of Drummond Reed on the role of the Identity Commons in connection with "ASN, XNS, XRI, and XDI."
- Sourceforge Project: XRI Support. The project will include "resolvers and client libraries for XRIs in multiple languages and multiple platforms..." Contributors: Fen Labalme, Loren West, and Gabe Wachob. See also the home page.
- XRI/Resolution: some working code from SSXDI.
- On XDI:
- "OASIS Members Form XRI Data Interchange (XDI) Technical Committee."
- Standards: eXtensible Resource Identifiers (XRI) and XRI Data Interchange (XDI). From OneName Inc.
- XDI Technical White Paper
- SSXDI web site, with XDI/Schema
- XRI TC Status Report, January 5, 2004: "... in December  a group of sponsors officially proposed the XDI (XRI Data Interchange) TC to OASIS..." As related in a TC posting, when the scope of the XRI TC was narrowed to include just syntax and resolution, some the original XRI TC deliverables, specifically XRI-based data exchange, were targeted for a future TC: "a follow-on TC is expected to define a mechanism for exchanging data associated with an XRI, including a schema for associating metadata with XRI-identified resources and a REST-like (Representational State Transfer) service to operate on this metadata and the data it describes. Such a service would provide a platform for integrating XRIs with directory-related specifications such as LDAP, DSML, and SPML."
- SSXDI Links and Resources
- "Call for Public Review of Draft Extensible Resource Identifier (XRI) Specification." News story 2003-08-04.
- "OASIS Forms Extensible Resource Identifier (XRI) Technical Committee." News story 2003-01-08. With announcement
- See also: Extensible Name Service (XNS)