ちょっとしたメモ

Dublin CoreとRDFのメタな関係

先日のダブリン・コア・セミナーで講演したTom BakerとStu Weibelは二人ともとても魅力的な人柄だった。特にStuは日本びいきで写真が大好き。講演中にもカメラを取りだすほどだ。「その写真はDublin Coreのメタデータを付けて管理してるんですか」と聞いたところ、「まだやってないが、これから本当に必要になる。何千枚ものデジカメ写真から欲しいものを探すのは、メタデータなしでは不可能だ」という答え。これを受けて、ExifからRDFの話をしてみたら、面白い反応が返ってきた。

彼は「RDFはうまく行ってないと思う」と、ばっさり切るのだ。へぇ、メタデータの普及に全力投球している人から、こんなコメントを耳にするとは思わなかった。「RDFのどこがいいと思う?」「うーん、メタデータを記述するのに適したモデルで…」「そう、それはその通り。もうひとつ、サブクラス、サブプロパティを定義できるのがRDFの大きなメリットだ。」 StuはRDFの役割は評価しているらしい。彼のみるRDFの問題点は、ドキュメンテーションが良くないこと(2月の勧告は未読と言っていた)、キラーアプリケーションがないことだそうだ。さらに「パフォーマンスはどう思う」と聞かれたので「RDFはメタデータの交換形式として重要なのであって、データベースでの扱いはまた違うのではないか」と答えてみた。一応、納得してくれたみたい。

いきなりの突っ込みで掘り下げた議論はできなかったが、重要なポイントなので少しまとめておこう。まず、サブクラス/サブプロパティの話。ダブリン・コアは敢えてシンプルにつくられているため、メタデータを記述する際にDC語彙だけでは不足する場面が出てくる。DCMIは精密化要素(Qualifier)を追加定義して使ってもよいと言っているわけだが、これがDCの要素とどういう関係にあるのかを明示できなければ、単なる独自語彙と違いがない。

(例)

<rdf:Property rdf:ID="author">
 <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/creator"/>
</rdf:Property>

そこでRDFを使って、上記のように独自の語彙をdc:creatorのサブプロパティとして定義する。こうすることで、少なくともdumb down(意味が分からない時に、単純な語彙にさかのぼる)が可能になる。

RDF/XML構文は、データを交換するための標準として働く。メタデータ自体は、RDB-MSに持たせてもいいし、XHTMLのマーク付けを利用する「小文字のsemantic web」方式でも構わない。そこから何らかの方法でメタデータをRDF(/XML)として取り出せば、異なるシステム間でも交換が容易になる。意味のレイヤーではDCなどの広く知られた語彙が、そしてデータ表現のレイヤーではRDFが、それぞれハブとして機能するわけだ。

特定の世界内でなら、DCやRDFを持ち出すまでもなく、ずっと以前から様々な形で「メタデータ」は活用されている。それをグローバルなウェブの世界で共有できるようにしようというのが、セマンティック・ウェブの考えだ(Stu Weibelも筑波大の杉本先生も「ダブリン・コアは図書館だけのものではなく、ウェブのためのもの」ということを繰り返し強調していたし、Tom Bakerの講演テーマは「組織の壁を越えた情報リソースの共有」だ)。経験のある人ほどこの壁は越えがたいと否定的に考えるのかも知れないが、ハイパーテキストをネットワークでつないでWWWが成功したように、メタデータを解き放つ道にスリルを感じてもいいんじゃなかろうか。

関連メモ: