Extensible Resource Identifier

Extensible Resource Identifier（XRI）とは、OASISの XRI Technical Committee が策定中の規格であり、Uniform Resource Identifier および Internationalized Resource Identifier と互換性のある抽象識別子の方式と解決プロトコルである。XRIの目標は、ドメイン・地域・用途・転送手段によらない抽象化・構造化識別子の標準構文と探索フォーマットとなることであり、任意のドメイン、ディレクトリ、プロトコルをまたいで共有可能な識別子となることを意図している。 2008年5月のOASIS Standard Vote では、史上有数の投票率を見たが、W3C Technical Architecture Group (TAG) などの反対によって、賛成73票に対し反対25票と1票差で否決された（賛成票が反対票の3倍なければ可決にならない）。論争の核心は、TAG は広く相互運用可能な HTTP URI が抽象化・構造化識別子としても機能すると信じているのに対して、XRI Technical Committee はそれに限界があるとし、その対処としてXRIがあるとしている点である。 URI はインターネット上で広く使われている。しかし、Webの発展によって、標準のURI構文では容易には対応できないリソース識別子への要求が出てきた。特に重要な要求は「国際化」であり、W3CとIETFはこれに応えるため、URIを拡張した Internationalized Resource Identifier (IRI) を策定した。IRIはURIで使用する文字セットをUnicode全体に拡大することで構築されている。 XMLやWebサービスなどによるWebの自動化（マシン同士の通信）が拡大すると共に、特定の物理ネットワーク経路、位置、プロトコルに依存せずにリソースを識別できることが重要になってきた。それは、以下のような理由による。 XML文書がドメインに依存しない自己言及的データフォーマットであるのと同じように、自己言及的「タグ」を持ち、ドメインをまたいで理解される構造化識別子を生成するため。 リソースのネットワーク上の位置が変化しても保持される永続的リンクを作るため。 識別子の管理を代表セグメント（"xxx://" の直後に続くセグメント）だけで行うのではなく、識別子のパスのどこでも可能にするため。 あるドメインであるリソースを識別するのに使っている識別子を同じドメイン内での別名にマッピングしたり、他のドメインでの識別子とマッピングするため。 2003年初め、これらの要求を受けてOASISが新たな技術委員会 (TC) を創設し、IRI仕様に基づいて新たな識別子の仕様を策定することになった。XRI は、他にも HTTP(S) に基づく解決プロトコルと単純なXML文書仕様 XRDS (Extensible Resource Descriptor Sequence) も策定した。 URIおよびIRIとの互換性 - XRIは URI や IRI が必要とされる場面で使うことができる。 相互参照 - XRIは別のXRI（や URI）を含むことができ、何重にも入れ子可能である。これによって XML がドメイン間のデータ共有を可能にしているように、ドメイン間で識別子を共有可能にする構造化識別子を構築できる。 グローバルコンテキスト記号 - "="、"@"、"+"、"$"、"!" といった記号で、i-name や i-number のグローバルコンテキストを人間にも分かりやすく示す。これは必須ではないが、その意味や使い方に合意したコミュニティで使われる。 Peer to Peer アドレッシング - XRI構文規則では、2つのネットワークノード間で相互にXRIを割り当て、相互解決する能力をサポートしている。すなわち、トップレベルの名前空間オーソリティを第三者が割り当てた名前で参照できることを意味する。これにより、組織間やコミュニティ間で名前空間の連合を可能にする。 分散化 - XRI は集中型アドレッシングシステム（例えば、IPアドレスとDNS）で運用することもできるし、分散型のオーソリティと Peer to Peer のアドレッシングで運用することもできる。 委任 - 名前空間を他の名前空間オーソリティに委任することができる。 連合 - 任意のレベルでそれぞれ独立に定義された名前空間を階層的または並立的に結合することができ、解決可能にできる。 永続性 - XRIの一部（または全部）が永久的な識別子であって決して再割り当てされないと意思表示することができる。 人間が扱いやすいフォーマットと機械が扱いやすいフォーマット - 人間が覚えやすい形式の識別子（i-name）と機械が処理しやすいよう最適化された形式の識別子（i-number）がある。 単純で拡張可能な解決 - HTTP と単純なXML文書仕様 XRDS を使った軽量な解決手法を提供している。 Trusted Resolution - XRI解決プロトコルには、3つの信頼できるバージョンがある（HTTPS、SAML、両方）。 Multiple resolution options - XRIの解決はDNSとは独立に実施できる。 IRI仕様を包含しているので、国際化を実現している。 特定の転送プロトコルや機構に制限されない。 ISBN名前空間にURNを使ったライブラリシステムで、本を特定しその本がある図書館のDNSサブドメインを特定する。HTTP URI 構文では、図書館を表すDNS名のコンテキストでは、本の題名をURNで表す標準的方法は存在しない。XRI相互参照は、任意の図書館にある任意の本を特定するためのXRIをプログラム的に構築できる。以下に例を示す。 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) これを自己言及的識別子に拡張することができる。例えば、それぞれの本の形態を示したいとする。その場合は、以下のようにメタデータを含むXRIにする。 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) 以下の例では、"xri://" というプレフィックスがないが、XRI では URI 正規形でない場合はプレフィックスはオプションとされている。つまり、これらはXRI形式とURI形式の間の変換をしたものではない。 全体が再割り当て可能なセグメントで構成されているXRIの例: =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)) 全体が永続性セグメントで構成されているXRIの例: =!13cf.4da5.9371.a7c5 @!280d.3822.17bf.ca48!78d2/!12 永続性セグメントと再割り当て可能セグメントが混在するXRIの例: =!13cf.4da5.9371.a7c5/(+phone.number) @Jones.and.Company!78d2/!12/(+area.code) XRI基盤を使って開発されている応用の例: OpenID 2.0 の 識別子発見 (identifier discovery) では XRI を根幹技術とし、XRDS を使う。 Higgins Project は、XRI と XRDS を採用している。 XDI.org の i-name および i-number というデジタルアイデンティティ・アドレッシングサービス XDI データ共有プロトコル（OASIS XDI Technical Committee で開発中） XRI Technical Committee は RF on Limited Terms Mode of the OASIS IPR policy で運営されている。 一部の人々が指摘しているように、XRI で使われている技術には特許権が設定されているものがあり、それら特許のライセンス権は非営利組織である XDI.org に与えられ、その組織が特許の非独占的使用権を本来の特許所有者が許可した組織にライセンス供与している。