RDF の概念と一部のオントロジーに関する最新情報

データ指向へと進む World Wide Web の最新動向を把握する

RDF (Resource Description Framework) は、セマンティック Web のための標準的なフレームワークであり、また Linked Data への動きのなかで推奨されるフレームワークでもあります。この記事では RDF の概念に関する仕様の最新情報と、その意味について詳細に説明します、また、データをカタログ化する語彙や RDF データベース・マッピング・システムなどの新しいオントロジー仕様についても説明します。

Daniel J Lewis, Computer Scientist, Vanir Systems

Daniel LewisDaniel Lewis は、フリーのイギリス人コンピューター科学者、Web 開発者であり、Vanir Systems というビジネス名のライターです。彼はインテリジェント・システム、人工知能、データ・マイニングを学びました。経験した業務には、Web 開発、セマンティック Web、Linked Data、データベース・アーキテクチャー、技術エバンジェリズムなどがあり、RDF、XML、HTML などの技術の他、PHP、Ruby、Python、Java、SQL、SPARQL など多様な言語も熟知しています。彼は OpenLink Software による Virtuoso Universal Server を使用してスキルを実践しています。



2012年 1月 20日

2011年 12月 06日に「参考文献」の項目として、新たな記事「Toward a Basic Profile for Linked Data」を追加しました。

はじめに

RDF はオブジェクトを記述するためのモデルです。これらのオブジェクトは、惑星、人、国といった物理オブジェクトから、ブログ投稿やウィキ・ページなどの仮想オブジェクト、さらには文書の定義やチャット・メッセージなどの抽象オブジェクトに至るまで、多種多様です。オントロジーはオブジェクトを定義するための体系であり、RDF によるモデルを使用してオントロジーを実装することができます。

この記事では RDF の概念に関する仕様の最新情報と最新のオントロジーの一部について詳細に説明します。この記事の内容には、極めて技術的な詳細に関する説明が含まれています。RDF についての基本的な資料が必要な場合には、IBM developerWorks に Uche Ogbuji 氏が寄稿した記事「RDF とは」、あるいは W3C (World Wide Web Consortium) の「RDF Primer」を読むことをお勧めします (「参考文献」を参照)。

RDF と Linked Data

RDF に関係する概念で最近更新された 1 つが Linked Data の概念です。Linked Data とは何かに関して、これまで多くの誤解が (特に Linked Data コミュニティーとセマンティック Web コミュニティーの中で) ありました。ここでは Web 技術についてある程度の知識がある読者を対象に、Linked Data について簡単に説明します。Linked Data は比較的容易に理解することができます。というのも、Linked Data は何千年にわたる人類の多様な歴史に彩られた非常に単純な概念であり、基本的に現実の世界に存在するオブジェクトを観察、命名、調査、記述する人間の能力に基づいているからです。

Linked Data のオブジェクトを理解するためには、まずデータ・オブジェクトと分散データ・オブジェクトについて理解しなければなりません。データ・オブジェクトは、観察対象 (オブジェクト) について名前 (ラベル) を付けて説明 (カプセル化) したものです。分散データ・オブジェクトもデータ・オブジェクトですが、分散データ・オブジェクトの場合、ネットワークを介してアクセスするためのキー (ハンドル) として識別子が機能します。つまり分散データ・オブジェクトとは、大まかに言えば、誰かまたは何かを名前で呼ぶこと (もっと技術的に言えば、ネットワークを介して (データベース用語の) 主キーを使用して呼び出すこと) に似ています。

Linked Data オブジェクトは、統一されたスタイルの識別子を持つ分散データ・オブジェクトです。つまり Linked Data オブジェクトの識別子の形式とスタイルはどの Linked Data オブジェクトでも同じです。その好例は HTTP (HyperText Transfer Protocol) による IRI (Internationalized Resource Identifier) を統一されたスタイルの識別子として使用することです。例えば「Doctor Who」というテレビ番組の識別子は http://www.bbc.co.uk/programmes/b006q2x0 です。この識別子は Doctor Who の Linked Data 識別子です。Linked Data 識別子は、HTTP を使用して逆参照することができます。つまりその Web サイトに関する詳細を HTTP を介して取得するための位置指定子として Linked Data 識別子を使用することができます。また、独自のデータ・ストアを参照する場合にも Linked Data 識別子を使用することができます。例えば、皆さんが Doctor Who というテレビ番組に関して何らかの個人的なメモを書き、それらのメモを後で使えるように保存するとしましょう。その場合はまさに文字どおり、皆さんの個人的なデータ・ストアの中で識別子 http://www.bbc.co.uk/programmes/b006q2x0 に個人的なメモを追加します。ただし、それらのメモは BBC (British Broadcasting Corporation) のデータ・ストア内にあるわけではなく、皆さんのデータ・ストア内にあること注意してください。皆さんのメモは、皆さんが所有するデータですが、番組についての説明は BBC によってホストされています。

Linked Data に関してよくある誤解として、データのフォーマットが RDF フォーマット (Turtle、RDF/XML、RDFa、N3 など) の 1 つでなければならない、という誤解があります。この思い込みは、明らかな誤りです。Linked Data に必要なことは、一部のデータは逆参照可能な URI (Uniform Resource Identifier)、つまり IRI でアクセスできるフォーマットでなければならない、ということのみです。IRI は W3C または IETF (Internet Engineering Task Force) のネットワーク・リソース識別子フォーマットでアクセス可能なオブジェクト識別子です。その点を別にすると、RDF を使用して Linked Data オブジェクトを記述することができます。ただし RDF は必ずしも Linked Data に必要なわけではないことを頭に入れておく必要があります。

オントロジー

RDF のためのオントロジーは数多く存在しています。オントロジーは通常、OWL (Web Ontology Language) を使用して定義されますが、もっと単純な方法として RDFS (RDF Schema) システムを使用して定義される場合もあります。さまざまな種類のものを定義するために、さまざまなオントロジーがあります。例えば次のようなオントロジーがあります。

  • ブログ投稿の内容を定義するためには SIOC (Semantically-Interlinked Online Communities Project) オントロジーを使用します。
  • タグ同士の関係を定義するためには MOAT (Meaning Of A Tag) オントロジーや SKOS (Simple Knowledge Organization System) オントロジーを使用します。
  • ユーザー・プロファイルと関連付けられたプロパティーを定義するためには FOAF (Friend of a Friend) オントロジーを使用します。

この記事ではオントロジーの作成方法については省略します。オントロジーについて詳しく学びたい場合には、OWL を使用してオントロジーを作成する方法が、Michel Mitri 氏と Nicholas Chase 氏による優れたチュートリアルとして IBM developerWorks に公開されています。このチュートリアルを含め、「参考文献」に記載したさまざまな記事やチュートリアルへのリンクを参照してください。

RDF の概念に関する最新情報

RDF の概念に関する文書の目的は RDF のモデリング・ルールを規定することです。つまり、かなり単純な主語 ― 述語 ― 目的語というトリプル構造や、最近の多くのデータ・ストアに提供されている新しいグラフ ― 主語 ― 述語 ― 目的語というクアッド構造に関し、その背後にある複雑なロジックのモデリング・ルールを規定することです。

バージョン 1.0 仕様と 1.1 仕様の比較

2004年の勧告 RDF Concepts and Abstract Syntax (バージョン 1.0) と 2011 年のワーキング・ドラフトとの間には多くの違いがあります。最も重要な点は、RDF を RDF/XML から分離したこと、言語コードとして明示的に BCP (Best Current Practice) 47 を使用するようにしたこと、ASCII ベースの URI ではなく Unicode と相性の良い IRI を使用するようにしたこと、名前のない空白ノードに対して Skolem による IRI を使用するようにしたこと、そして RDF の概念から XML (Extensible Markup Language) のリテラル型を削除したことです。それらを除くと、変更の大部分は仕様の整理や使用される言語の意味論的および語用論的なフローに関するものです。2004年のバージョンに加えられた変更のより詳細なリストが 2011年のワーキング・ドラフトにあります。これらの変更が持つ意味は変更そのものよりも明らかに興味深いので、それについて次に説明します。

RDF 1.1 Concepts and Abstract Syntax に含まれる内容

この記事の執筆時点で RDF 1.1 Concepts and Abstract Syntax の仕様はワーキング・ドラフトの状態にあることに注意してください。これはつまり、これらの概念の一部は最終的に公開される仕様に含まれない可能性があるということです。とは言え、この仕様は最新の考え方とベスト・プラクティスを表しています。また、この仕様が RDF の概念に関する文書であり、従って特定のフォーマットではなく概念について規定していることも考慮する必要があります。W3C の RDF ワーキング・グループは、RDF の概念、RDFS、Turtle、RDF/XML、RDF/JSON をアップグレードするプロジェクトの作業を 2013年 2月までに完了する予定です。

先ほど、RDF の概念に加えられた変更の概要を説明しましたが、これらの変更を見ると、セマンティック Web コミュニティーの開発者達は RDF を (本来の目的どおり) モデリング・フレームワークとして使用しており、フォーマット (XML、Turtle、等々) と分離していることがわかります。この変更により、今後は RDF モデルに対して他のフォーマットを開発したり、他のフォーマットを使用したりすることができるようになります。またこの変更は、開発者が自分にとって使いやすい任意のフォーマットを使用したり、開発対象の特定のソフトウェアや Web アプリケーションで実行可能、あるいはそれらに最適な、任意のフォーマットを使用したりすることができるということを意味します。また、サードパーティーのサービスやライブラリーによって、あるフォーマットから別のフォーマットへと変換することができますが、それによって論理的な問題を伴うことはない、ということでもあります。

「World Wide」という名前を掲げる組織である W3C にとって、国際化の容易な文字セットを使用することは常に核心的な事項でした。そのため、RDF のフレームワークやフォーマットのすべてにおいて一貫して Unicode を使用することが不可欠です。このことから、新しい RDF 仕様では Unicode v3 から Unicode v4 へとアップグレードされ、ASCII ベースの URI ではなく Unicode ベースの IRI の使用が望ましいとしています。

セマンティック Web 理論の中で、空白ノードは間違いなく注意しなければならない概念です。というのも空白ノードは、その扱いにくさからデータ・ストアごとに実装方法が異なっており、しかも多くの場合はその 1 つのデータ・ストアのなかでも実装方法が統一されていません。この空白ノードを置き換える手段としてのスコーレム化 (Skolemization) は、形式論理学の理論に由来しており、統一的でグローバルな一意の IRI を生成するシステムとして、スコーレム (Skolem) IRI が推奨されてきました。しかしこの点に関してはまだ多くの議論があり、一部の人々はスコーレムという名前を使用することを特に懸念しています。その理由としては、スコーレムは明らかに数学的な性質を持つものであり、概念として負担になる可能性があるからです。セマンティック Web 理論で最も重要なことは、データを作成、操作、描画する際に空白ノードの使用を避けることです。

この RDF 1.1 ワーキング・ドラフトに含まれる重要な内容として最後に紹介するのは、このワーキング・ドラフトでは RDF のリテラル値 (つまりプレーン・テキストの値) と XML のリテラル・データ型との間に何らかの関係があることが認識されていることです。RDF 1.1 では、RDF が実質的にもシンボル的にも XML シリアライズに依存することのないように RDF を完全に分離しようとしており、それには XML のリテラル・データ型から RDF を除外する必要があります。RDF ワーキング・グループは RDF のプレーン・リテラルをどのようにするかについて、まだ詳細部分を完成していません。ただし、開発者がリテラルの言語を定義する際に BCP 47 言語タグを使用する必要がある (例えば従来のスクリプトであれば、英語全般には en、北京語には zh_Hant など) ことを除くと、RDF 1.1 のリテラルはおそらく RDF 1.0 のリテラルとそれほど異なるものにはならないと思います。

最近のオントロジー

この記事の後半では、最近開発されたオントロジーのなかでも重要なオントロジーをいくつか簡単に説明します。これらのオントロジーは今後の Linked Data Web を大きく変える可能性を秘めています。ここではそれらのオントロジーをデータ・カタログ・オントロジーと RDF データベース・マッピング・システムとに分けました。

データ・カタログ・オントロジー

独自のオントロジーを開発して使用する組織が増えており、それらのオントロジーが公開リリースされる場合が多いことから、これらのデータセットをリストアップして相互に関連付け、クラス定義やプロパティー定義の面で何が同じであるかを宣言するという要求が高まっています。

VoID (Vocabulary of Interlinked Datasets) は RDFS を使用して開発されたオントロジーです。VoID はデータセットについて記述しますが、もっと特徴的なこととして、VoID を使用するとデータセットが自らのメタデータを提供するようになります。このメタデータは以下の 4 つに分けることができます。

  • 一般的なメタデータ (Dublin Core で記述されます)
  • アクセス・メタデータ (つまりデータセットへの接続方法と特定データへのアクセス方法)
  • 構造的なメタデータ (つまり使用されるスキーマの詳細、データセットの照会方法、データセットとの統合方法の例)
  • データセット間のリンクの記述。この記述により、リンクセット (要するに分散グラフ) を表すラベルを作成することができます。

dcat (Data Catalog Vocabulary) は RDFS を使用して開発された単純なオントロジーであり、このオントロジーを使用するとデータセットの集合を記述することができます。dcat の目的は相互運用性をカタログ化することです。dcat は従来から政府関係のデータセットの記述に使用されています。政府関係のデータには多様なフォーマットが使用される傾向があるため、それらのデータの照会は厄介な作業になりがちです。そこで dcat は、含まれるデータのメタデータ、そのデータに使用可能なフォーマット、そしてその他の概念および構造に関する各種のメタデータを提供します。

RDF データベース・マッピング・システム

ソフトウェア・アプリケーションや Web アプリケーションのシステムには、昔からリレーショナル・データベースが使用されています。多くの場合、RDBMS (Relational Database Management System) のリレーショナル構造から RDF が目指すオブジェクト指向構造への移行は非常に困難です。

R2RML (RDB to RDF Mapping Language) は、リレーショナル・データベースと RDF データセットの間でマッピングするための言語です。R2RML の仕様では、RDF/Turtle を用いたシリアライズによってマッピングを実現します。つまり、R2RML はマッピングをできるだけ直接的で単純なものにします。この形式によるマッピングの強力さを示す例として、ユーザーは SPARQL を使用してリレーショナル・データベースにクエリーを実行することができます (これは従来 SQL (Structured Query Language: 構造化問い合わせ言語) を使用しない限り不可能でした)。また R2RML を使用すると、Linked Data Web 全体にわたって RDF データセットとリレーショナル・データベースとを行レベルで関連付けることもできます。この概念は信じられないほど強力です。なぜなら、自らの手で中間レイヤーを作成する必要がなくなり、基本的にリレーショナル・データを RDF としてオンザフライで公開することができるからです。R2RML を利用することにより、すべてのクローズド・リレーショナル・データベースを Web アクセス可能なモードへと容易に切り換えることができます。

RDB (リレーショナル・データベース) のダイレクト・マッピングは、基本的に R2RML のデフォルト動作です。RDB ダイレクト・マッピングでは、リレーショナル・データベース・テーブルから RDF データの集合への単純な変換メカニズムを提供します。この手法により、RDF を使用してリレーショナル・データベース・テーブルにデータを注入することも、リレーショナル・データベース・テーブルから取得したデータを RDF に注入することもできるようになります。RDB のダイレクト・マッピングによって、各テーブルに対する単純で直接的なグラフを提供できる一方、より堅牢な R2RML システムによって、テーブルにまたがって、より高度な RDF モデルにマッピングできるようになります。

まとめ

結論として、RDF は成熟した段階に達しています。RDF 1.0 の概念仕様がリリースされたのは 2004年ですが、RDF 自体は 1999年以来、W3C で検討が行われてきました。形式論理学を起源とし、自然な方法で命名処理を行う Linked Data の理論にとって、RDF の概念は不可欠です。RDF 1.1 の概念の仕様には歓迎すべき更新事項が数多く含まれており、最も重要なものは RDF/XML を RDFから分離したことです。最新のドラフトに含まれる他の更新事項の多くも統合やセマンティックな改善にとって有効なはずであり、おそらく RDF 1.1 の仕様にはさらなる概念が追加されることでしょう。

RDF 関連の世界で発展しているのは RDF の概念のみではありません。非常に興味深いオントロジーも数多くリリースされており、例えばオントロジー・カタログのための VoID や dcat、データベース操作のための R2RML や RDF ダイレクト・マッピングなどがあります。成熟段階に達したオントロジーが増えるにつれ、商用の Web アプリケーションもオープンソースのアプリケーションもオントロジーを実装するようになっています。

Linked Data Web の前途は非常に楽しみです。歓迎すべき変更として、Web ベースの Linked Data がセマンティック Web から分離され、RDF が RDF/XML から分離されました。さらに、分散データと国際化データに関する全体的な理解が深まっています。それらを処理するための概念、フレームワーク、オントロジー、技術の準備は整っています。今度はそれらを実用に移すときです。

参考文献

学ぶために

  • RDF とは」(Uche Ogbuji 著、developerWorks、2000年12月): RDF、特に RDF/XML 構文を紹介した基本的で優れた記事を読んでください。
  • RDF Primer (W3C、2004年2月): RDF でオブジェクトを記述するための基本事項を学んでください。この資料の中の例は RDF/XML を使用していることに注意してください。
  • RDF Concepts and Abstract Syntax (W3C、2004年2月): RDF の概念的な側面について学んでください。この記事では RDF の概念についてバージョン 1.0 (2004年) とバージョン 1.1 (2011 年) とを比較するために、この文書を使用しています。
  • RDF 1.1 Concepts and Abstract Syntax (W3C、2011年8月): RDF の概念的な側面についての資料を読んでください。この記事では RDF の概念についてバージョン 1.0 (2004年) とバージョン 1.1 (2011 年) とを比較するために、この文書を使用しています。
  • dcat 語彙の概要 (DERI、2010年3月): dcat (Data Catalog Vocabulary) の概念的な側面について学んでください。
  • VoID 語彙の概要 (DERI、2010年3月): VoID (Vocabulary of Interlinked Datasets) の概念的な側面について学んでください。
  • R2RML: RDB to RDF Mapping Language (W3C、2011年9月): リレーショナル・データベースを RDF のデータ構造にマッピングするための概念と構文について学んでください。
  • A Direct Mapping of Relational Data to RDF (W3C、2011年9月): リレーショナル・データベースのテーブルを RDF のデータ構造に直接マッピングするための概念と構文についての資料を読んでください。
  • FOAF プロジェクトの Web サイト: FOAF (Friend of a Friend) オントロジーの詳細について学んでください。FOAF はユーザーのプロファイルや友人関係の記述によく使われています。
  • SKOS のホームページ: SKOS のポータルで SKOS オントロジーの詳細について学んでください。SKOS は知識の概念を素早く簡単に記述するために一般に使われています。
  • MOAT の Web サイト: MOAT オントロジーの詳細について学んでください。MOAT はオンライン・タギング・システムのタグ同士の関係を素早く簡単に記述するために使われています。さらには Drupal のタクソノミー体系で MOAT を実装した Drupal プラグインまであり、このプラグインを使用すると、より意味のある、つまりセマンティックなタグ付けをすることができます。
  • SIOC の Web サイト: SIOC オントロジーの詳細について学んでください。SIOC はソーシャル・ネットワーキング・システム間の関係を記述するためによく使われています。
  • Dublin Core Metadata Initiative: この、メタデータの設計とベスト・プラクティスに関して長年活動しているグループについて調べてください。Dublin Core は当初 HTML (Hypertext Markup Language) にメタデータを追加するためのものでしたが、現在は RDF のためのオントロジーを提供しています。Dublin Core メタデータにより、オンライン文書の作成者やコンテキストに関する基本的なメタデータを記述することができます。
  • RDF Vocabulary Description Language 1.0: RDF Schema (W3C、2004年2月): RDFS の仕様を読んでください。RDFS は RDF でデータ型 (つまりクラス) を記述するための基本的なオントロジー・システムであり、スキーマ・システムでもあります。
  • OWL (W3C、2009年10月): OWL の仕様を読んでください。OWL は論理的に妥当な RDF でデータ型 (つまりクラス) を記述するための堅牢なオントロジー・システムであり、スキーマ・システムでもあります。
  • The ultimate mashup -- Web services and the semantic Web, Part 4: Create an ontology」(Michel Mitri と Nicholas Chase の共著、developerWorks、2007年3月): RDF に使用するためのオントロジーの作成方法について学んでください。
  • BCP 47 の仕様 (2009年9月): 言語タグの構造、内容、構成方法、セマンティクスについて、資料を読み、学んでください。
  • Toward a Basic Profile for Linked Data: A collection of best practices and a simple approach for a Linked Data architecture」(Martin Nally とSteve Speicher の共著、developerWorks、2011年12月): この記事は Linked Data アーキテクチャーのためのさまざまなベスト・プラクティスと単純な手法を紹介しています。既存情報から新しい情報を推論するために Linked Data を使えないかという関心が高まっていますが、そのためのガイドはほとんどありません。この記事はそうした関心についての背景情報を解説し、Linked Data に対する Basic Profile を提案しています。
  • 著者の Daniel J. Lewis が developerWorks に寄稿した他の記事 (2008年10月から現在まで): セマンティック Web、Linked Data、PHP、CSS、ODBC 、その他の技術に関する記事を読んでください。
  • New to XML には、XML を学ぶために必要なリソースが豊富に用意されています。
  • developerWorks の XML ゾーン: DTD、スキーマ、XSLT など、XML の領域でのスキルを磨くためのリソースが豊富に用意されています。XML の技術文書一覧には、広範な話題を網羅した技術記事やヒント、チュートリアル、技術標準、IBM Redbooks が豊富に用意されています。
  • IBM XML certification: XML および関連技術において IBM 認定技術者になる方法を参照してください。
  • developerWorks の Technical events and webcasts: 最新情報を入手してください。
  • developerWorks on Twitter: 今すぐ Twitter に参加して developerWorks のツイートをフォローしてください。
  • developerWorks podcasts: ソフトウェア開発者のための興味深いインタビューや議論を聞いてください。
  • developerWorks on-demand demos: 初心者のための製品インストール方法やセットアップのデモから、上級開発者のための高度な機能に至るまで、多様な話題が解説されています。

製品や技術を入手するために

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=XML, Web development
ArticleID=785466
ArticleTitle=RDF の概念と一部のオントロジーに関する最新情報
publish-date=01202012