ちょっとしたメモ

RDFとは何か

What Is RDFという、xml.comに8年前から掲載されている記事がある。Tim Brayによるオリジナル版のあとで2001年にDan Brickleyによる改訂版が出て、またまた今回Joshua Taubererによる再改訂版が登場した。RDFの現在の位置づけやセマンティック・ウェブとの関連を踏まえて新たに書き下ろしたものだが、新改訂版を以前からあるURLで公開し、旧版を別のURLに移動しているのが面白い。

旧版ではRDFを「メタデータを記述してウェブでの検索を高度にするもの」という形で捉えていたが、最新版ではどういう紹介になっているのか、かいつまんで見ていくことにしよう。まず導入部分。

セマンティック・ウェブ(以下SW)では、コンピュータが私達のためにブラウジング(それに探索や照会など…)を行ってくれる。SWは、コンピュータがウェブ上に分散している知識を探し出し、それをかみ合わせ、それに基づいて行動することを可能にするものだ。比喩的に言えばこんなことだ:現在のウェブは、分散されたプレゼンテーションのための非集中的なプラットフォームであるのに対し、SWは分散された知識のための非集中的なプラットフォームだ。 Resource Description Framework (RDF) は、知識をエンコードするためのW3C標準なのである。

今のウェブにも、もちろん知識はたくさんある。たがそれらは、例えばWikipediaを見てもわかるように、人間が読んではじめて意味があるもので、コンピュータが直接扱えるようにはなっていない。

セマンティック・ウェブにおける「セマンティック」とは、コンピュータが何らかの意味(meaning)を理解するようになるということではない。そうではなくて、意味を構成する論理的な要素がマシンによって処理可能となり、最終ユーザの人間に有用な形で提供できるということを表している。

たとえば、ある製品群のデータベースを提供するサイト、製品レビューのデータベースを提供するサイト、製品在庫データを提供する店のサイトがあるとしよう。これらの3つのサイトを使って、利用者が製品購入の最適な判断ができるようなアプリケーションを作るには、どんな標準があるとうまくいくのだろう。Joshuaは、セマンティック・ウェブでの「ファイル」が備えるべき3つの要素を挙げている。

  • 世の中にある様々な情報を柔軟にあつかえるように、(表や関係データベースではなく)グラフによる表現を用いる。
  • 異なる「ファイル」がお互いに関連づけられる。そのために、曖昧さのないグローバルな識別子を、分散環境で与えることができなければならない。
  • ものごとを表現するための語彙を混在させることができなければならない。

これらの要件を踏まえて作られた標準がRDFだというわけだ。1999年に勧告された最初のRDFは、XMLを用いてメタデータを記述するためのものとして考えられたのだが、2004年に新しい仕様ができる頃には、その対象範囲はずっと大きくなっていた。

RDFのもっともエキサイティングな利用法は、ウェブリソースについての情報(メタデータ)の記述ではなく、実際の世の中にあるものごと、つまり人間や場所や概念といったもの、についての情報や関係を記述するところにあるのだ。

記事の中間部では、RDFのXML構文とN3/Turtle構文の簡単な紹介の後、分散して記述された知識を結びつけていくためにURIが重要な役割を果たすことが示される。このしくみによって、元々は異なる目的のために異なる人々によって記述された知識・情報であっても、組み合わせて再利用することができるのだ。

ここでJoshuaは、URIの随意性と意味の共有という点について少しスペースを割いて検討している。つまり、誰でも独自のURIをつくることが可能だということは、それぞれがURIで名前付けした意味をどうやって共有するのかという問題がでてくるわけだ。たとえば、国勢調査の人口を表すためにcensus:populationというプロパティを定義したとして、異なる人がこれを同じ意味として使うには何が必要なのか。

コンピュータにcensus:populationは州とその人口の関係を表すのだと分からせることはできない -- もちろんそれは不可能なことだ。そうではなく、語彙の作者は、他の人々にcensus:populationをどのように使うべきなのかを伝える。そうすることで、人々はこのURIをRDF文書やアプリケーションで適切に扱うことができるのだ。

これはプログラミング言語のクラスライブラリの設計と同じで、たとえばCustomerというクラスは人間であるということは、コンピュータにそれを理解させるのではなく、ドキュメンテーションによって他のプログラマに伝えるというのと同様なのである、とJoshuaは説明している。

(この部分はちょっと唐突なのだが、セマンティック・ウェブといっても“全てをコンピュータが自動的にやってくれる”というSF的な話ではなく、人間が利用するものだということを確認しておきたかったのだろう)

結びは、RDFの特徴と役割を簡潔に要約している。

トリプルのシンプルさと柔軟さに、URIによるグローバルに識別できる名前を組み合わせることで、RDFは他にない、非常にパワフルなものになっている。この仕様は、非中央集中で分散化された知識を活用するために最適であり、今日のコンピュータに聞いてみようとも思わないような問いに答えてくれるアプリケーションを実現するためのフレームワークを提供してくれるのだ。

全体として、RDFの要点をうまく整理した内容になっていると思う。RDFはメタデータだけを扱うのではなくて、むしろ知識や世の中に存在するものごととその関係を記述するというのは、重要なポイントだ。xml.comが、新規ページではなくあえて「定番URL」をそのままに改訂してきた記事は、目を通してみる価値はあるだろう。

genre: rdf. at