![]() |
Open Archives Initiative Object Reuse and Exchange |
![]() |
オープン・アーカイブズ・イニシアティブ - オブジェクトの再利用と交換(OAI-ORE)は、Webリソースの集合を記述し、交換するための標準を定義する。本書は、OAI-OREを使用する動機、Webリソースの集合を処理するOAI-OREソルーションの中核的特徴、およびOAI-OREソルーションを構築するための技術的基礎を要約する。本書はOAI-OREについて基本的な理解を得たいと考えている一般読者を想定している。より高度な技術を持つ読者や実装者向けの詳細な情報は、OAI-ORE仕様書およびユーザガイドの他の文書で提供されている。
1. 何故、OAI-OREを使うのか?
2. 動機付けとなる例
3. OREの基盤技術
3.1 World Wide Webのアーキテクチャ
3.2 セマンティックWeb、Linked Data、セマンティックWebのためのクールなURI
3.3 リソース記述フレームワーク(RDF)
4. ORE概略
5. リソースマップのシリアライゼーション
5.1 RDF/XMLによるリソースマップ
5.2 Atomによるリソースマップ
6. Web上のリソースマップと集合体
6.1 HTTP 303
6.2 ハッシュURI
7. 次に読むべき資料
8. 参考文献
我々は、現実世界において休みなくものの集合を作成、使用、参照している。写真帳に写真を集め、論文を集めた雑誌を読み、好きな歌をCDに焼く。この現実世界において、通常、これらの集合物は形のあるものである。すなわち、我々は写真帳や雑誌、CDを手に持つことができる。しかし、我々は抽象的な実体も集めている。例えば、分類体系は抽象的な主題をより広義な抽象的グループに集めるものである。
この集めるという行為をWebに拡張する。我々は、URLをブラウザのブックマークやお気に入りリストに蓄積し、写真を集めてFlickrなどの有名なサイトに登録し、「前ページ」「次ページ」タグにより互いにリンク付けされた複数ページの文書をブラウズする。そして、Webサイトについては、あたかも構成するページセットを超える何かが存在するかのように話をする。これらの集合物は頻繁に利用されるが、そのWeb上での存在は極めてはかないものである。その1つの理由は、集合物を識別する標準的な方法が存在しないことである。我々はしばしば集合物全体を識別するために集合物の1ページのURIを使用する。例えば、複数ページから成る文書全体の識別には最初のページのURIを使用し、Flickrに登録した全画像集合の識別にはFlickrへのアクセスを提供するHTMLページのURIを使用する。しかし、これらのURIは、実際はその特定のページを識別するだけであり、文書全体を構成するページの集合やFlickrにある全画像の集合を識別するものではない。要するに、問題は集合物の構成要素や境界を記述する標準的な方法が存在しないことであり、これこそOAI-OREが提供しようとするものである。
集合物はWeb上ではきちんと定義されていないので、それを使ってできることは限られている。Webを有用なものにするサービスや自動処理という点では特にそうである。複数ページの文書を保存または印刷したい場合は、すべてのページを手動でクリックして移動し、ブラウザの該当コマンドを実行しなければならない。複数ページの文書を様々な情報システムに移動するプログラムは個々のシステムアーキテクチャのAPIとその文書境界定義に頼らなければならない。サーチエンジンは、検索結果が適当な粒度を持つように、ヒューリスティクスを使って個々のWebページを論理的な文書としてまとめなければならない。
本入門書は、OAI-OREが提供するWebリソースの集合物を処理するためのソルーションのエッセンスを説明する。すなわち、OAI-OREソルーションについて基本的な理解を得たいと考えている一般読者を想定している。本入門書は、実装者に詳細な情報を提供するOAI-ORE仕様書と実装ガイドラインへの指針も提供する。本入門書は次のように構成されている。
OREが取り組む集合物の問題は、物理学と数学、計算機科学の研究成果を保存する有名なリポジトリである arXiv の1つの文書を使って説明することができる。この文書の人間向け開始ページが図 1に示されている。OREが取り組む集合物の問題に関連する部分は赤色の四角で強調され、番号が与えられている。強調されている部分の意味は次のとおりである。
http://arxiv.org/abs/astro-ph/0601007
。このどちらかといえば単純な例はOREが取り組む中心的な問題を浮き彫りにしている。
OREは、既に示した問題を、arXiv文書全体を示す集合物に対するURIの導入とこの集合物を記述する機械可読文書の公開により解決する。この機械可読文書は、例えば、どのリソースがこの集合物の一部であり、どのリソースがこの集合物と関係を持つだけであるかを記述する。本節では、集合物の問題に対するOREソルーションを構築する基盤となる技術を手短に紹介する。
今日のWebの基盤技術は、World Wide Webのアーキテクチャ [Web Architecture] で詳しく説明されている。このアーキテクチャは以下の中核的概念を定義している。
我々が日々使用しているWebでは、URIは主にWeb文書の識別に使用されている。これらは、逆参照すると人間が読むことのできる表示形を返す識別子である。しかし、セマンティックWebでは、URIは人間や車などのいわゆる現実世界の実体だけでなく、アイデアやクラスといった 抽象的な実体も識別するために導入されている。これらは文書ではないので、これらのリソースが意味するものを示す表示形を持っていない。Linked Data Effort [Linked Data Tutorial] は、表示形を持たないという事実があるにもかかわらず、これらのリソースに関する情報を得るための方法を記述している。要約すると、その方法は以下で構成される。
これら抽象的なリソースを記述するためにLinked Data Effortにより提案された文書は、通常、RDF/XMLで表現される。これはセマンティックWebの基本的なデータモデルを形成するリソース記述フレームワーク(RDF)[RDF Concepts] のXMLベースのシリアライゼーションである。このモデルは、トリプルと呼ばれる 主語-述語-目的語からなる表明文で構成される。トリプルは、URIで示される主語たるリソースに付随する関係を表現する。 これもURIで示される述語リソースは関係の性質を示す。目的語は述語により表される関係の実際の値を表現する。目的語は、URIで示されるだけでなく、文字列や番号などのリテラル値を指定することもできる。複数のトリプルが表現、すなわち、表明されると、これらは主語と目的語を共有する場合があり、その結果、概念的に結合されて数学用語でグラフと呼ばれるものになる。このグラフは、主語と目的語のURIで示されるリソースであるノードと関係を表す述語である辺とで構成される。
その例が図 2に示されている。この図は4つのRDFトリプルが表とグラフで示されている。リソースはグラフではURIを記した黄色の丸で示されている。R1は3つのトリプルの主語であるので、グラフでは3つの外向きの辺を持っていることに注意されたい。同様に、R2は2つのトリプルの目的語であるので、2つの内向きの辺を持っている。図では、目的語としてリテラル文字列("John Doe"など)を持つトリプルも示している。
OREは上で述べた基盤技術を活用してWebリソースの集合物を処理するソルーションに至った。OREソルーションのエッセンスは次のようにまとめることができる(図 3)。
ore:describes
関係)、集合体を構成するリソースをリストアップする(図 3の ore:aggregates
関係)。しかし、リソースマップは、例えば、誰が公開したのか、最後に更新されたのはいつかといったリソースマップ自身のメタデータ(図 3の関係 dcterms:creator
と dcterms:modified
)だけでなく、これらすべてのリソースに付随する関係やプロパティを表現することもできる。リソースマップは、Atom XMLやRDF/XML、RDFa、n3、turtle、その他のRDFシリアライゼーションフォーマットなど、様々なフォーマットで表すことができる。シリアライゼーションの例は、リソースマップのシリアライゼーションの節に示されており、リソースマップをAtom XML、RDF/XML、RDFaで表現する方法を示す実装ガイドラインで詳細に説明されている。図 3: 集合体 A-1は3つのリソースを集め、リソースマップ ReM-1により記述されている
OREはRDF/XML、RDFa、Atom XMLによるリソースマップのシリアル化をサポートしている。以下では、arXiv文書の例に付随するいくつかの基本的な情報を伝達するRDF/XMLとAtom XMLによるリソースマップの例が示されている。URI http://arxiv.org/aggregation/astro-ph/0601007
はarXiv文書を示す集合体を識別するHTTP URIとして導入されていることに注意されたい。
図 3は、OREデータモデルにより導入された中核的な関係を示している。OREデータモデルは完全にRDFに基づいているので、集合体を記述するリソースマップはRDF/XMLだけでなく、n3やturtleといった他のRDFシリアライゼーションフォーマットでも簡単に表現することができる。表 1は、arXiv集合体 http://arxiv.org/aggregation/astro-ph/0601007
を記述する簡単なRDF/XMLリソースマップを示している。RDF/XML文書に示したコメントは、様々なRDF表明文が、ORE概略の節で紹介されたORE概念とどのように関係するかを説明している。
表 1: RDF/XMLによりシリアル化されたarXir集合体の簡単なリソースマップ
<?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ore="http://www.openarchives.org/ore/terms/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/" > <!-- ArXiv文書の集合体について --> <rdf:Description rdf:about="http://arxiv.org/aggregation/astro-ph/0601007"> <!-- このリソースはORE集合体である --> <rdf:type rdf:resource="http://www.openarchives.org/ore/terms/Aggregation"/> <!-- この集合体は以下を集めている --> <ore:aggregates rdf:resource="http://arxiv.org/abs/astro-ph/0601007"/> <ore:aggregates rdf:resource="http://arxiv.org/ps/astro-ph/0601007"/> <ore:aggregates rdf:resource="http://arxiv.org/pdf/astro-ph/0601007"/> <!-- 集合体に関するメタデータ: タイトルと著者 --> <dc:title>Parametrization of K-essence and Its Kinetic Term</dc:title> <dcterms:creator rdf:parseType="Resource"> <foaf:name>Hui Li</foaf:name> <foaf:mbox rdf:resource="mailto:lihui@somewhere.cn"/> </dcterms:creator> <dcterms:creator rdf:parseType="Resource"> <foaf:name>Zong-Kuan Guo</foaf:name> </dcterms:creator> <dcterms:creator rdf:parseType="Resource"> <foaf:name>Yuan-Zhong Zhang</foaf:name> </dcterms:creator> </rdf:Description> <!-- 集合体を記述するリソースマップ(このRDF/XML文書)について --> <rdf:Description rdf:about="http://arxiv.org/rem/atom/astro-ph/0601007"> <!-- このリソースはOREリソースマップである --> <rdf:type rdf:resource="http://www.openarchives.org/ore/terms/ResourceMap"/> <!-- このリソースマップは特定の集合体を記述する --> <ore:describes rdf:resource="http://arxiv.org/aggregation/astro-ph/0601007"/> <!-- リソースマップに関するメタデータ: 日時、権利、著者 --> <dcterms:modified>2008-10-03T07:30:34Z</dcterms:modified> <dcterms:created>2008-10-01T18:30:02Z</dcterms:created> <dc:rights>This Resource Map is available under the Creative Commons Attribution-Noncommercial Generic license</dc:rights> <dcterms:rights rdf:resource="http://creativecommons.org/licenses/by-nc/2.5/rdf"/> <dcterms:creator rdf:parseType="Resource"> <foaf:page rdf:resource="http://arxiv.org"/> <foaf:name>arXiv.org e-Print Repository</foaf:name> </dcterms:creator> </rdf:Description> <!-- 集合体の一部である人間向け開始ページについて --> <rdf:Description rdf:about="http://arxiv.org/abs/astro-ph/0601007"> <dc:format>text/html</dc:format> <dc:title>[astro-ph/0601007] Parametrization of K-essence and Its Kinetic Term</dc:title> <rdf:type>info:eu-repo/semantics/humanStartPage</rdf:type> </rdf:Description> <!-- 集合体の一部であるPostScriptリソースについて --> <rdf:Description rdf:about="http://arxiv.org/ps/astro-ph/0601007"> <dc:format>application/postscript</dc:format> <dc:language>en</dc:language> <dc:title>Parametrization of K-essence and Its Kinetic Term</dc:title> </rdf:Description> <!-- 集合体の一部であるPDFリソースについて --> <rdf:Description rdf:about="http://arxiv.org/pdf/astro-ph/0601007"> <dc:format>application/pdf</dc:format> <dc:language>en</dc:language> <dc:title>Parametrization of K-essence and Its Kinetic Term</dc:title> </rdf:Description> </rdf:RDF>
AtomはXMLベースのフォーマットであり、元々はニュースソースやブログ、その他の動的Webサイトからフィードを配信するためのメカニズムとして設計された。そのため、RSSの数多くのバージョンと似ている。Atomの設計はより新しく、名前空間などの現代的なXML機能を含んでおり、その結果、他の名前空間の要素や関係を許容する柔軟な拡張機構を持っている。このため、近年は、様々なWebリソース記述のパッケージ化など数多くの目的にAtomが利用されるようになっている。
本書はAtomの入門書ではないので、興味を持つ読者はAtomを完全に記述している RFC-4287 を参照されたい。本入門書の読者は、図 4に示されているAtomの基本的な実体を知るだけで良い。基本的な実体には以下が含まれる。
Atom文書は、図 4に示されているような複数のエントリを持つ1つのフィードであるか、フィードには含まれない単なる1つのエントリであるかのいずれかである。OREは後者を利用し、リソースマップをAtomエントリとして表現する。表 2は、arXiv集合体 http://arxiv.org/aggregation/astro-ph/0601007
を記述するAtomエントリを示している。Atom XML文書に示したコメントは、様々なAtom要素が、ORE概略の節で紹介されたORE概念とどのように関係するかを説明している。
表 2: Atom XMLによりシリアル化されたarXir集合体の簡単なリソースマップ
<?xml version="1.0" encoding="UTF-8"?> <atom:entry xmlns:dcterms="http://purl.org/dc/terms/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:ore="http://www.openarchives.org/ore/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <atom:id>tag:arxiv.org,2008:astro-ph:0601007</atom:id> <!-- ArXiv文書の集合体について --> <!-- このAtomエントリは特定のORE集合体を記述する --> <atom:link href="http://arxiv.org/aggregation/astro-ph/0601007" rel="http://www.openarchives.org/ore/terms/describes"/> <atom:category term="http://www.openarchives.org/ore/terms/Aggregation" scheme="http://www.openarchives.org/ore/terms/" label="Aggregation"/> <!-- この集合体は以下を集めている --> <atom:link href="http://arxiv.org/abs/astro-ph/0601007" rel="http://www.openarchives.org/ore/terms/aggregates" title="[astro-ph/0601007] Parametrization of K-essence and Its Kinetic Term" type="text/html" /> <atom:link href="http://arxiv.org/ps/astro-ph/0601007" rel="http://www.openarchives.org/ore/terms/aggregates" title="Parametrization of K-essence and Its Kinetic Term" type="application/postscript" hreflang="en"/> <atom:link href="http://arxiv.org/pdf/astro-ph/0601007" rel="http://www.openarchives.org/ore/terms/aggregates" title="Parametrization of K-essence and Its Kinetic Term" type="application/pdf" hreflang="en"/> <!-- 集合体に関するメタデータ: タイトルと著者 --> <atom:title>Parametrization of K-essence and Its Kinetic Term</atom:title> <atom:author> <atom:name>Hui Li</atom:name> <atom:email>lihui@somewhere.cn</atom:email> </atom:author> <atom:author> <atom:name>Zong-Kuan Guo</atom:name> </atom:author> <atom:author> <atom:name>Yuan-Zhong Zhang</atom:name> </atom:author> <!-- 集合体を記述するリソースマップ(このAtom XMLエントリ文書)について --> <!-- このリソースマップのHTTP URI --> <atom:link href="http://arxiv.org/rem/atom/astro-ph/0601007" rel="self" type="application/atom+xml"/> <!-- リソースマップに関するメタデータ: 日時、権利、著者 --> <atom:updated>2008-10-03T07:30:34Z</atom:updated> <atom:published>2008-10-01T18:30:02Z</atom:published> <atom:rights>This Resource Map is available under the Creative Commons Attribution-Noncommercial Generic license</atom:rights> <atom:link href="http://creativecommons.org/licenses/by-nc/2.5/rdf" rel="license" type="application/rdf+xml"/> <atom:source> <atom:author> <atom:name>arXiv.org e-Print Repository</atom:name> <atom:uri>http://arxiv.org</atom:uri> </atom:author> </atom:source> <!-- 集合体の一部である人間向け開始ページについて --> <atom:link href="http://arxiv.org/abs/astro-ph/0601007" rel="alternate"/> </atom:entry>
リソースマップがWeb上で公開される場合、そのURIはHTTPプロトコルのリクエストにより逆参照することができ、リソースマップのシリアライゼーションの節で示されたRDF/XMLまたはAtom XMLの文書が返される。クライアントやエージェントはその文書を解釈し、文書に含まれている情報に基づいて高度なサービスを提供することができる。このサービスには、集合体のナビゲーションや印刷、保存、視覚化、変換が含まれる。
逆の機能も重要である。引用や他の形態のリンクを通じて集合体のHTTP URIへアクセスしたクライアントは、そのHTTP URIで識別されるリソースが実際に集合体であることを発見し、続いて集合体を記述するリソースマップにアクセスできるべきである。
しかし、注意したように、集合体は特別なセマンティックWebリソースの1つであり、HTTPプロトコルのリクエストを通じてそのURIを逆参照しても表示形は与えられない。本節は、集合体のHTTP URIが与えられた場合に、その集合体を記述するリソースマップにアクセスするための、OREが推奨する2つの方法を簡単に説明する。これら2つの方法は、セマンティックWebのためのクールなURI仕様書 [CoolURIs] に完全に記述されているセマンティックWebコミュニティによるガイドラインに基づいている。
この方法は、集合体とそれを記述するリソースマップを導入する団体がWebサーバを自ら管理している場合に適している。また、同一の集合体を記述するリソースマップがAtom XMLとRDF/XMLのように複数のフォーマットで公開されている場合に推奨される方法でもある。
この方法の仕組みは次のとおりである。集合体のURI A-1に対するHTTPリクエストを受け取った場合、サーバはリソースマップのURI ReM-1へリダイレクトするHTTP 303ステータスコード(これは「をも見よ」を意味する)を返す。これを受け取ったブラウザやエージェントはReM-1に対して新たにHTTPリクエストを行う。URI A-1に対するリクエストをコンテントネゴシエーション [RFC2616, CoolURIs] がある303リダイレクションを採用して、いくつかのフォーマットの中から1つのリソースマップを選んでリダイレクトすることもできる。
URIの例は次のとおりである。
集合体: A-1 = http://example.org/foo リソースマップ: ReM-1 = http://example.org/foo.rdf
追加のシリアライゼーションは次のようなパターンのURIで追加される。
ReM-2 = http://example.org/foo.atom
この方法は集合体とリソースマップを導入する団体がWebサーバを管理する必要がない。集合体のURI A-1
はリソースマップのURI ReM-1
にフラグメント識別子 #aggregation
を追加することにより作成される。URIの例は次のとおりである。
集合体: A-1 = http://example.org/foo.rdf#aggregation リソースマップ: ReM-1 = http://example.org/foo.rdf
HTTP [RFC2616] で定義されているように、エージェントはサーバにHTTPリクエストを発行する前にフラグメント識別子を取り除くべきである。その結果、サーバへのリクエストは、実際は ReM-1
となる。しかし、フラグメント識別子を導入して作成したものであっても、2つのURI A-1
と ReM-1
は、World Wide Web [Web Architecture] のアーキテクチャで定義されているように依然として異なるリソースを識別する。
本入門書では、OAI-ORE仕様書で使用されている概念とアプローチを手短に紹介した。興味を持った読者、特にこれらの仕様を実装する予定のある読者は、次の文書でさらに詳細な情報を得るべきである。
本書は、オープン・アーカイブズ・イニシアティブの成果である。OAIオブジェクトの再利用と交換プロジェクトは、アンドリュー・W・メロン財団、Microsoft社、全米科学財団から助成していただいた。さらに、ネットワーク情報連合からもご支援をいただいた。
本書は、OAI-ORE技術委員会(ORE-TC)の会議に基づいている。会議にはOAI-OREリエゾングループ(ORE-LG)も参加している。ORE-TCの委員は、次のとおりである。Chris Bizer(ベルリン自由大学)、Les Carr(サウサンプトン大学)、Tim DiLauro(ジョンホプキンス大学)、Leigh Dodds(Ingenta)、David Fulker(UCAR)、Tony Hammond(Nature出版グループ)、Pete Johnston(Eduserv財団)、Richard Jones(インペリアル・カレッジ)、Peter Murray(OhioLINK)、Michael Nelson(オールドドミニオン大学)、Ray Plante(NCSAおよび国立仮想天文台)、Rob Sanderson(リバプール大学)、Simeon Warner(コーネル大学)、Jeff Young(OCLC)。ORE-LGの委員は次のとおりである。Leonardo Candela(DRIVER)、Tim Cole(DLF AquiferおよびUIUC図書館)、Julie Allinson(JISC)、Jane Hunter(DEST)、Savas Parastatidis(Microsoft)、Sandy Payette(Fedora Commons)、Thomas Place(DAREおよびティルブルグ大学)、Andy Powell(DCMI)、Robert Tansley(Google, Inc.およびDSpace)。
また、OAI-ORE諮問委員会(ORE-AC)の意見にも感謝する。
日付 | 編集者 | 記述 |
---|---|---|
2008-10-17 | carl/herbert | パブリック 1.0 のリリース(完全に書き直し) |
2008-06-02 | simeon | パブリックベータ 0.9 のリリース |
2008-04-03 | simeon | パブリックアルファ 0.3 のリリース |
2008-03-02 | simeon | パブリックアルファ 0.2 のリリース |
2007-12-10 | simeon | パブリックアルファ 0.1 のリリース |
2007-10-15 | simeon | アルファ版をORE-TCに提出 |