ちょっとしたメモ

RDFとRDBMSの共存関係

昨日取り上げた getting the semweb exactly wrong スレッドの中で、RDBMSRDFの長所や短所、使い分けといった話題が出て、「両者をマッピングするのが一つの方法」とバーナーズ=リーが答えている。RDFの導入を検討するときに、既存のデータベースをどうすればいいかというのは、よく聞かれる質問だ。

以下は、Jan Algermissenが「RDF+OWLを使うほうが、RDBMSよりもうまく行く問題とはどんなものだろう。つまり、RDBMSをやめてRDFストアを使うキラー要因は何だろうか?」と問いかけたことに対する、バーナーズ=リーの返信(1月4日付)から。

一つの答えは:(RDBMSをやめてRDFストアを使うということは)しないこと! セマンティック・ウェブは、データをそれが意味するものに結びつける(conecting the data to what it means)ということだ。

データはそれが機能して素早く操作できるところにおいておく。
データが何を表すかについて、オントロジーを探す、あるいは記述する。
データの上位層で、仮想的なRDFサーバー(もし大きなDBならSPQRQLをサポートするもの)を走らせる。
データベースのカラムとオントロジーのつながりを公開(*)する。

DBを、会社の内外の別のDBとつなぐ方法を考えてみよう。

新しいレポート作成を、より抽象度の高いモデルで、RDF APIを用いて行う。

(*)「データベースのカラムとオントロジーのつながりを公開する」という部分については、よく分からないという突っ込みがあったので「定義する、というほどの意味だった。広く公開するんじゃなくて、データをセマンティック・ウェブの一部として活用するときに、内部的に、あなたのコードがこのマッピングを使うんだ」と補足している。

RDFを利用するために、既存のデータベースを破棄したり再構築する必要はなく、それらの定義をRDFスキーマやOWLなどに結びつけてやればよい。こうすることで、いま機能している資産を生かしつつ、データの共有や連動といった「セマンティック・ウェブ」的な応用が可能になってくる。もちろん、これは one answer であって、他の方法(たとえばRDFに基づくデータベースを採用する)でも構わないのだけど。

関連メモ: