# Presentation: 448058

## Why XRIs?

- May 21, 2003
- Marc Le Maitre, OneName

**An Overview of Extensible Resource Identifiers from the OASIS XRI Technical Committee **

## Topics

- The OASIS XRI TC
- Background: URIs, URNs, and XRIs
- Four key requirements for XRIs
- Conclusion and recommendations for GSA

## The OASIS XRI TC

- Formed to standardize abstract identifiers
- Chartered by OneName, Visa International, AMD, Novell, Gemplus, NRI, Neustar, Wave Systems, and XNSORG in January 2003
- Requirements finished in May; first public specifications planned for July
- A second TC – XDI (XRI Data Interchange) to follow will define an XRI-based automated data exchange and synchronization protocol

## Internet identifier layers

**IP Address**

**DNS Name**

- Local Area Network Resource

- Machine-friendly identifiers

- Human-friendly identifiers

- Current Internet infrastructure is based primarily on two layers of identifiers – machine-friendly IP addresses and human-friendly DNS names

## URI syntax is based on DNS & IP

- URI (Uniform Resource Identifier) is the linking syntax for the World Wide Web
- Defined in IETF RFC 2396
- “scheme:” plus scheme path syntax
- http://www.example.com/directory/index.html
- http://192.14.100.32/directory/index.html
- ftp://ftp.example.com/directory/file.tar
- mailto:john.doe@example.com
- http://www.ins.usdoj.gov/index.html

## Why URNs?

- Links break when resources move on the network
- The URN (Uniform Resource Name) URI scheme was developed to provide location-independent identifiers
- IETF syntax defined in RFC 2141, May 1997
- urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882
- urn:isbn:0-395-36341-1
- urn:ietf:rfc:2141
- urn:us:gov:doj:ins:someschema

## The URN layer

**IP Address**

**DNS Name**

- Local Area Network Resource

- Machine-friendly identifiers

- Human-friendly identifiers

**URN**

- Persistent identifiers

- URNs were the first example of a third layer of abstract, location-independent identifiers

## Why XRIs?

- URNs allow only one type of abstract identifier – those requiring absolute persistence
- Since then many new technologies for modeling Web relationships have appeared
- Web services		– Semantic Web
- Digital identity		– Digital rights management
- Topic maps		– Trusted computing
- These have introduced the need for other types of abstract identifier which has led to the current work to define XRIs

## XRIs: true unified identifiers

**DNS**

**XRIs: true unified identifiers**

- Web Resources

**Telephone****Numbers**

**Postal****Addresses**

**Future****Addresses**

**XRI**

- XRIs can provide a uniform layer of abstract identifiers for any resource on any network

## The goal of XRIs

- A unified syntax for abstract identifier
- Absolute and relative persistent identifiers
- Human-friendly identifiers
- Cross-context identifiers
- Attribute and version identifiers
- A unified Internet-based resolution protocol, including support for secure resolution

## #1: Relative persistent identifiers

- URNs require absolute persistent identifiers
- The entire identifier is persistent
- It will never be reassigned for all time
- This can be difficult to meet operationally
- Requires a persistent ID for all higher-level domains
- Many uses require only relative persistence
- Only part of the identifier is persistent
- This portion is persistent for a relative period

**Notes:**
Difficult to meet operationally – changes in the naming authority delegation causes obsolescence

Many require...
	This portion remains relevant until the naming authority is re-assigned

## Advantages of relative persistence

- Allows mixing persistent and reassignable identifier segments as needed
- Can be implemented at any level of delegation and directory administration
- Improves performance of resolvers for the relative persistence component segments
- Eases the transition to absolute persistent identifiers when required

## Examples of relative and absolute persistence

- Absolute persistent URNs
- urn:isbn:0-395-36341-1
- urn:ietf:rfc:2141
- urn:us:gov:usdoj:ins:someschema
- This is now “broken” because the DOJ has transitioned to Department of Homeland Security and INS now has a new title of BCIS. To be accurate this should therefore be changed to urn:us:gov:bcis:someschema)
- Absolute persistent XRIs
- xri://:isbn:0-395-36341-1
- xri://:ietf:rfc:2141
- xri://:us:gov:bcis/:someschema
- xri://:34F2:A98E:B8FC/:someschema
- Relative persistent XRIs
- xri://www.bookstore.com/:isbn:0-395-36341-1
- xri://ietf.org/rfc/:2141
- xri://www.bcis.gov/:someschema

**Notes:**
Could the relative persistent XRI include /urn:us:gov:gsa:someschema

Can URI include URNs as part of the path

## #2: Human-friendly identifiers (HFIs)	

-  A longtime goal of computing in general
- Character-based interfaces  GUIs
- 8 char DOS filenames  Macintosh file names
- Providing HFIs for machine-friendly IP addresses was a key motivation for DNS

**IP Address**

**DNS Name**

- Machine-friendly identifiers (MFIs)

- Human-friendly identifiers (HFIs)

## The conflict: HFIs and persistence 

**The conflict: HFIs and persistence **

**Human-Friendly**

**Machine-Friendly**

**Persistent**

**Reassignable**

- Identifiers with semantic meaning (HFIs) inevitably change over time, but persistent identifiers must remain the same

**Notes:**
Specific example:

## The solution: semantic mapping

**IP Address**

**DNS Name**

- Local Area Network Resource

**MFI**

**HFI**

**Persistent XRI**

**Reassignable XRI**

**MFI**

**HFI**

- XRIs supports a layer of reassignable HFIs being resolved to  persistent MFIs the same way DNS names are resolved to IP addresses. This “semantic mapping” can be applied to many types of human-machine interactions.

**Notes:**
Example slide, The various government departments can create persistent machine friendly identifiers for schemas and their attributes in isolation from each other. They can then work together to decide on a human friendly identifier for equivalents and identify them globally

XRI:(URN:US:GOV:DOJ:INS:SOMEWCHEMA)

## Global context symbols

- In addition to DNS names, XRIs support HFI global context symbols
- The goal: use the least possible metadata to indicate the global context of an HFI
- “=“ indicates a natural person
- “@” indicates any legal entity other than a natural person
- “+” indicates a generic noun, concept or name

## Examples

- Individual HFIs (any natural person)
- xri:=John Doe
- xri:=Mary Vincent Smith
- Organizational HFIs (any legal mark)
- xri:@Barnes and Noble
- xri:@bcis
- Zri:@gsa
- General HFIs (any generic term)
- xri:+us
- xri:+books
- xri:+music/rock
- xri:+geology/rock
- xri:+someschema
- xri:+someschema/FirstName

## #3: Cross-context identifiers

- A cross-context identifier identifies the same logical resource in different physical contexts
- English-language example:
- John’s car
- Mary’s car
- HTTP URI example:
- http://www.wines.com/index.html
- http://www.books.com/index.html

- “car” indicates the same logical resource owned by John and Mary

- “index.html” is the cross-context identifier for a Web home page

**Notes:**
Not sure why cross context identifiers are the only ones for which non-resolvable syntax is relevant

Suggestion: use the equivalents graphic from the paper

## A widespread need

- There is no Internet standard for cross-context identifiers
- Like global context symbols, cross-references can be used to simplify a wide variety of human-machine interactions
- For developers, they are particularly useful for referencing and linking equivalent XML objects across multiple domains/repositories

**Notes:**
No 2: such as
No 3; is it only developers (who is it that sets up the naming

## Examples

- The same schema
- xri://www.bcis.gov/(xri://gsa.gov/:someschema)
- xri://www.dod.gov/(xri://gsa.gov/:someschema)
- xri://www.gsa.gov/(xri://gsa.gov/:someschema)
- xri:@gsa/(xri://gsa.gov/:someschema)
- The same type of web page
- xri://www.bcis.gov/(+faq)
- xri://www.gsa.com/(+faq)
- The same type of directory attribute
- xri:=John Smith/(+email)
- xri:@gsa/(=John Smith)/(+email)

**Notes:**
Make these examples more specific to GSA

## More Examples

- The same schema element
- xri://www.bcis.gov/:someschema/(+FirstName)
- xri://www.dod.gov/:anotherschema/(+FirstName)
- or
- xri://www.bcis.gov/(xri://gsa.gov/:someschema/:FirstName)
- xri://www.dod.gov/(xri://gsa.gov/:someschema/:FirstName)

## #4: Attribute & version identifiers

- Standardizing cross-context data exchange requires more than just object-level identifiers
- Attributes must be addressable relative to a containing object
- Must support nested attributes
- Versions must be addressable relative to an object or attribute
- Must support nested versions

## Cross-context data linking

**Context A**

**Resource X**

**Context B**

**Resource X**

**Attribute Y v1**

**Attribute Y v2**

**Attribute Y v1**

- Standardized attribute and version identification is essential when cross-context identifiers are used for data linking and synchronization

## XRI attribute and version syntax	

- Attributes are handled as additional levels of delegation
- May use persistent or reassignable identifiers
- May also use cross-references; this is extremely useful for standardized data exchange
- Versions are addressed w/ cross-references
- Built-in syntax for numeric and timestamp versions
- Fully extensible like all cross-references

**Notes:**
Why are cross references valuable to standardizing data exhange

## Examples

- Attributes
- xri:=John Smith/(+email)/work
- xri:@gsa/(=John Smith)/(+email)/work
- xri:@gsa/:someschema/FirstName
- Versions
- xri:=John Smith/(+email)/work/($v/3)
- xri:=John Smith/(+email)/work/($d/2001-06-21T07:33:48Z)
- xri:@gsa/:someschema/($v/1)/FirstName

## Conclusions and recommendations

- XRIs are a new URI schemes that extends the functionality of URI/URNs especially within a dynamic, cross context federated system
- The goal of XRIs is for XRI registries and resolvers to become much more widely implemented than URN registries and resolvers
- An XRI scheme can be layered over an existing URN scheme, however there will be some redundancy
- If you agree that XRIs may offer some benefits then GSA/LMI should actively participate in the remaining work of the XRI TC and contribute specific design considerations and requirements
- At the same time GSA is evaluating implementing a URN namespace and resolution services, it should be evaluating an XRI namespace and resolution services