Metadata Goes Here
1. Background 3
1.1 What does the acronym XRI stand for? 3
1.2 What is the XRI specification? 3
1.3 Why was the XRI specification created? 3
1.4 Who is involved in the XRI specification effort? 3
1.5 Are there any intellectual property related restrictions on XRI? 3
2. Uses of XRI 3
2.1 What things do XRIs identify? 4
2.2 Example uses of XRI: 4
2.3 What applications currently use XRI? 4
3. Features of XRI Syntax 5
3.1 What are some of the requirements that led to the design of XRI? 5
3.2 What are the major parts of XRI syntax? 5
3.3 What are cross references? 6
3.4 What are XRI authorities? 6
3.5 What is a root authority? 6
3.6 What is a global context symbol? 6
3.7 What is a private (cross-reference) root authority? 6
3.8 What is a subsegment? 6
3.9 What do the "*" and "!" delimiters mean? 6
3.10 How can I use DNS with XRI? 6
3.11 What are XRI-normal, IRI-normal, and URI-normal forms? 6
3.12 How do I tell if two XRIs are equivalent? 6
3.13 How do I tell if two XRIs identify the same thing? 6
4. Features of XRI Resolution 6
4.1 What is meant by XRI Resolution? 6
4.2 What is Authority Resolution? 6
4.3 What is Local Access? 6
4.4 What can I put in an XRI Descriptor? 6
4.5 What is trusted resolution? 6
4.6 What is an XRI proxy resolver? 6
4.7 How does a cross reference get resolved? 6
4.8 Is it possible to map one XRI as an alias onto another? 6
5. XRI and other Identfier Schemes 6
5.1 Why not just use HTTP URIs? 6
5.2 How can I put an XRI in an HTML page? 6
5.3 How can I use XRI with other URI schemes 6
6. Miscellaneous 6
6.1 Is XRI related to something called XNS? 6
6.2 How does XRI relate to things like i-name, i-number, and XDI? 6
6.3 How are the global context symbols' authority namespaces managed? 6
6.4 Are there implementations of XRI? 6
1. Background
1.1 What does the acronym XRI stand for?
EXtensible Resource Identifier.
1.2 What is the XRI specification?
The XRI specification is a set of documents defining an identifier scheme (compatible with RFC 3986) that may be used to identify almost anything. The identifier scheme consists of a compact sequence of characters which may be used in multiple environments and recognized as an XRI identifier.
The XRI specifications define both the syntax of XRIs and one way to resolve them on the Internet.
1.3 Why was the XRI specification created?
The main drivers behind the creation of XRI were the need for an identifier scheme that was:
· compatible with URI
· fully internationalized
· capable of reflecting a variety of authority relationships (particularly authority delegated between organizations, hierarchies, and federated systems)
· resolvable on the Internet
· has a trustable resolution scheme
While existing identifier schemes meet some of these requirements, no existing scheme meets them all.
1.4 Who is involved in the XRI specification effort?
XRI 2.0 is the product of the XRI Technical Committee(http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xri) at OASIS(http://www.oasis-open.org). Members of this technical committee include a variety of software and service vendors as well as XRI users including community-based digital identity organizations and other interested corporate participants.
1.5 Are there any intellectual property related restrictions on XRI?
The XRI specification is licensed on RAND and Royalty-Free terms based on the OASIS IPR policy(http://www.oasis-open.org/who/intellectualproperty.php). Note: we need to refer to something here. Something needs to go either on the TC website or in the specs.
2. Uses of XRI
2.1 What things do XRIs identify?
XRIs can identify organizations, people, things, concepts or anything else. There is no defined limit on the scope of things (or “resources” as they are called in the technical literature) that can be identified by XRIs.
2.2 Example uses of XRI:
Purple numbers (transclusions)
Purple numbers are a method for referring to chunks of content in a web site for the purposes of long term identification as well as the ability to include the content on other pages (transclusion). XRIs make a convenient way to identify these chunks of content across multiple sites.
Books in multiple libraries
A single book title may be identified in several ways: by ISBN, by Dewey Decimal system, etc. If a user wishes to identify a physical book owned by one or more libraries, there is no defined way to combine the identifier scheme for the book title (e.g. ISBN) with the identifier for the library. XRI cross references would let you identify a book using an ISBN or other URI scheme inside of any library's XRI identifier. For example, if a book title is identified by the urn scheme ISBN, then you could identify a specific library's holding of the book with the following XRI: @pleasantville*library*(urn:isbn:2323333)
Organization or personal ID used for multiple purposes (e.g., contact page, IM, P2P, etc.)
An XRI could be used to identify an individual across multiple methods of access. The same XRI could be mapped to a contact web page, an IM identifier, or even be used directly as an identifier in a completely decentralized P2P system such as JXTA.
Single sign on
Single sign-on systems often focus on the interaction between authenticating and relying parties and do not require or specify a particular identifier scheme. XRIs, because they can be used anywhere URIs are used, can be a convenient and effective identifier for these SSO schemes.
Auditable and trusted resolution.
Regulatory requirements such as the Sarbanes-Oxley Act, HIPAA and EU data protection directives are forcing businesses to take much more care with the data the create and use and with applications they operate. XRI trusted resolution gives these organizations a way to ensure that they are communicating with and about known parties. Furthermore, XRI resolution provides an audit trail that can be saved for later review where it might be required by these new regulatory regimes.
2.3 What applications currently use XRI?
The I-name and I-number concepts use XRI.
XRIs also form the basis for the XDI trusted data sharing protocol under development by the OASIS XDI Technical Committee(http://www.oasis-open.org/committees/xdi).
3. Features of XRI Syntax
3.1 What are some of the requirements that led to the design of XRI?
Delegation
Allowing another party to control some subset of an authority’s namespace.
Federation
Bringing together two or more identifier namespaces under a common root or otherwise letting two or more user communities access each other’s identifiers.
URI-compatibility
Being able to use XRIs wherever a generic URI is called for.
Decentralization
Not requiring all assignment or resolution to be managed or performed by a single entity.
Ability to express the intent that parts (or all) of an XRI are persistent (not reassigned to another resource).
Ability to support identifiers that can be structured and easily parsed by humans.
Ability to support identifiers that can be structured and easily parsed by machines.
Resolvable using a simple, extensible Internet-based resolution scheme.
Support for structured inclusion of identifiers from other identifier schemes (identifier reuse - cross context identifiers)
Internationalization using Unicode
No implication that one transport protocol is to be used with the identifier scheme.
Trusted/secure resolution.
3.2 What are the major parts of XRI syntax?
The structure of XRIs mostly follows from the general structure of URIs. XRIs usually start with the string "xri://" followed by a authority identifier and then the path portion of the XRI.
For example, the xri "xri://@oasis*xri/docs/syntax" can be broken into the following parts:
Authority / @oasis*xriPath / /docs/syntax
Table 1: Parts of the XRI @oasis*xri/docs/syntax
Note that in the authority (and possibly in the path), there is a further structure consisting of a list of subsegments separated by subsegment delimiters. In the example above, "*" is the subsegment delimiter used to separate "oasis" and "xri" subsegments. Technically, the "*" is part of both of the authority subsegments above. The "*" is implied when it is not present after a GCS character such as "@".
The "@" at the beginning of the authority is an example of a global context symbol. Using GCS characters is one method of making the authority identifier globally unique.
Note: as in generic URI syntax, the authority and path parts may be followed by query and fragment parts.
3.3 What are cross references?
Cross references are a type of subsegment (using parentheses) that allow any URI or XRI value (i.e., an XRI without the 'xri://' part) to be inserted in an XRI.
Examples:
XRI / Description@library1*(urn:isbn:23232232) / A URN for a book used in a cross reference within an XRI for a library
=JoeSmith*(+email) / An XRI cross reference used to indicate a well-known concept (email address) relative to a containing XRI (i.e. =JoeSmith)
Table 2: Example of cross references
Cross references syntactically set off the other identifier so it can be used "whole" and allows one to use an identifier within different contexts by placing the identifiers inside a cross reference inside an XRI. Cross references have implications for the authority resolution mechanism as well because during resolution, the cross reference is treated as a single subsegment, regardless of the syntactic structure of the content in the parentheses.
3.4 What are XRI authorities?
XRI authorities are entities that control a authority namespace. An authority hosts a server that provides authority resolution services. These servers are analagous to DNS servers for DNS. Multiple authorities may be hosted on a single server, and an entity may control multiple authorities.
Each subsegment in the authority identifier part of an XRI identifier corresponds to a separate authority. For example, in @us*california*oakland, the following prefixes identify four separate authorities:
· @
· @us
· @us*california
· @us*california*oakland
Note that an authority may be identified with several different "paths" of authority subsegments. The following two authority identifiers may resolve to the same authority:
· @san.francisco*baseball
· @mlb*giants
If they resolve to the same authority, then any subsegments underneath these two authority identifiers will always resolve to the same thing. So, if the above two authority identifiers resolve to the same thing, then the following must also resolve to the same thing:
· @mlb*giants*manager and
· @san.francisco*baseball*manager
As would the following:
· @mlb*giants*pitcher and
· @san.francisco*baseball*pitcher
3.5 What is a root authority?
An XRI root authority is an XRI authority that is authoritative for the first subsegment in an XRI. The first subsegment will either be one of the GCS character or a cross reference. For example, xri://@foo*bar uses the "@" root authority and xri://(http://example.com)*123 uses the "(http://example.com)" root authority.
XRI resolver clients must be configured with the root XRID (or its location). This is similar to the specification of root DNS servers in a DNS resolver.
Root authorities allow communities to share a common namespace and uniquely identify shared resources (or resources that are used by multiple parties).
Root authorities are likely to be run on behalf of a variety of communities. It is likely that communities made up of a large number of organizations that need to share a common namespace will set up community roots. For instance, communities such as governments, the telecommunications industry, consortia, etc. might be likely to manage their own root authorities. There are also organizations interested in managing global root authorities. For example, see XDI.org (http://www.xdi.org).
3.6 What is a global context symbol?
A global context symbol is one method of forming a "root" subsegment for the authority identifier. GCS characters are intended to allow a community of users to agree on a handful of namespaces for broad usage and name collision avoidance.
There are a number of GCS characters, each with a predefined semantic meaning:
@ / Organizations= / People
+ / Concepts (not resolved - typically used in cross references)
$ / Reserved for XRI specifications for resolution, versioning, etc Often used in XML namespaces for things like XRI Descriptors. Used also in cross references for versioning and language tagging of XRIs
! / Things - A root which is used to identify things persistently and without further semantics.
Table 3: Global Context Symbols
Examples:
· xri://@ucsd
· xri://@joe's.grill
· xri://=john.smith
· xri://=elvis
· xri://+address (Usage might be: xri://=john.smith*(+address))
· $ used for versioning: xri://=john.smith*(+address)*($v/3)
· $ used for language: xri://@ucsd*($l/en)
· xri://!!12345
· xri://!!(mailto:)
Any resolution of an XRI rooted by a GCS character must have an XRI Descriptor (or its equivalent) describing the authority that manages the GCS. Specifically, the resolver (or its proxy) must know how to contact the authority (for authority resolution starting at the GCS root).
The XRI specification does not specify the nature of or require anything specific of the parties who manage GCS root authorities.
3.7 What is a private (cross-reference) root authority?
A private root authority uses a cross reference at the root to ensure that there are no name collisions. However, a private root authority may not be well known. The private root authority is identified by a URI and this URI is inserted, as a cross reference, as the first subsegment of the authority identifier part of the XRI.
For example:
· xri://(mailto:)*friend1/name
A private root authority can be created by anyone, but it is expected that the person using a URI in a private authority has permission to use that URI for the purpose of a private root.
Additionally, any resolver resolving the private root must have an XRI Descriptor (or its equivalent) for that private root. This is the same requirement for the roots identified by GCS characters.
3.8 What is a subsegment?
A subsegment is a sub-section of a segment delimited by“!” or “*”.
In the authority part, each subsegment identifies an authority relative to the subsegments to the left.
In the path part, the XRI specification does not define the meaning of subsegments and any application of XRI is free to define the semantics of subsegments as they see fit.