ちょっとしたメモ

SPARQLによるRDF画像アノテーションの検索

画像や写真のどのエリアに何が描かれている(写っている)かを示す画像のアノテーションは、flickrのNoteを使ってみてもわかるようにそれ自身なかなか興味深いが、この注釈データを検索して、ヒットした画像の該当部分だけを取りだしてみると結構面白い。RDFによるアノテーション、SPARQLによる検索、XSLTによる変換とCSSを組み合わせると、画像のエリア検索の雰囲気を試してみることができる。

ここでいう画像アノテーションは、画像のどのエリア(coords)に何が描かれているかを、いくつかのRDF語彙を組み合わせて表現しようというもの。SPARQLのようなRDFクエリ言語を使えば、このデータに対して例えば「タイトルに○○を含むエリア」といった形で問い合わせを行い、座標などを取り出すことができる。SPARQLの検索結果は通常XMLで返ってくるが、XSLT経由でブラウザに視覚表示させるのは簡単だ。

せっかく座標データがあるのだから、CSSのclipプロパティを用いれば、検索したエリアだけを画像から切り出して表示できるはず。漠然とアイデアだけは持ちつつしばらく手を付けていなかったのだが、WWW2005のパネルの準備をしながら話の種にと思ってつくってみたら、案外面白いものができた。

[図]画像の注釈RDFにクエリを送り、その結果をCSSでクリッピングするという流れ

実験ページ「RDF画像アノテーションを使って部分を検索表示する」では、(1)タイトルを検索するシンプルなクエリ、(2)複数画像のアノテーションRDFに対して正規表現を使ったクエリ、(3)flickrのNoteをRDF化したものに対するクエリ、の3つの例を取り上げている。(2)の対象を拡大すれば、画像アノテーションRDFを収集したデータベースに対してエリアの照会ができることになる。(3)はRDFを用いてデータやサービスを連動させる例として見ることができるだろう。

今月はやたらと忙しくて詳しく解説を書くゆとりがなかったので、まずとりあえず紹介だけ。RDFデータを検索して加工するという方向は、いろいろ可能性があるので、引き続き検討していく予定。

関連メモ: