Piggy Bankでセマンティック・ウェブを体験する

Resource Description Framework(RDF)やセマンティック・ウェブを巡る話題について行けない人に、朗報である。Piggy Bankを使えば、現行のWebブラウザでセマンティック・ウェブを体験できるのだ。

Piggy Bank(「豚の形をした貯金箱」の意)はFirefoxの拡張で、Javaで書かれている。開発したのは、MITのSIMILEプロジェクト――セマンティック・ウェブのアプリケーションとツールをテーマとするグループ――だ。FirefoxにPiggy Bankをインストールしても、Webの閲覧方法は従来どおりで変わりはない。しかし、Piggy Bankはバックグラウンドで動作しており、RDFリンクを持つページを開くと小さな「データ硬貨」(豚の貯金箱に貯める硬貨のつもり)アイコンをFirefoxのステータス・バーに表示する。これをクリックすると、Piggy Bankはそのページに付属しているRDFデータを取り込んで解析する。解析した結果はPiggy Bankに組み込まれているブラウザ・インタフェースを介して検索できるし、保存しておいて後で利用することもできる。

と、ここまでなら、どうということもない。あるページの内容を検索する機能は珍しくないし、適切に構造化されているページがRDFを提供したとしても、さしたる御利益はない。実は、セマンティック・ウェブの非凡なところは、この先にあるのだ。多くの情報源からデータを収集しRDFを使って多様なデータの相互関係を見いだすアプリケーションが可能になるのである。

たとえば、Piggy Bankのユーザー向け入門書を読めば、VacancyGuide.comの住宅情報とMonster.comの仕事情報とYahooの映画館情報からそれぞれの場所情報を組み合わせ、気に入った仕事の勤務地に近く、しかも好みの映画を上映する映画館の近隣で売り出し中の住宅を探すことができる。こうした情報は3つのサイトをバラバラに見ただけでは得られない。しかし、実際に住宅を探すときには有用な情報であり、大方の人は手作業でこうした情報を組み立てているのである。

Piggy Bankのインストールと使い方

Piggy Bankを使うには、最新版のFirefoxが必要だ。Javaプラグインが動作している必要もある。お手元のFirefoxにJavaプラグインが組み込まれているかどうかは、Piggy Bankプロジェクトのページを開いてみればわかる。JavaプラグインがあればXPIをインストールするためのリンクが画面右上に表示され、なければ「Get Java」リンクが表示される。Javaの準備ができXPIをインストールするためのリンクが表示されたら、XPIをインストールし、Firefoxを再起動する。

再起動後、初回のみ、Piggy Bankプラグインの初期設定が行われる。これには少し時間がかかる。その際、電子メール・アドレスの入力を求められるが、これはデータの収集者を区別するためのハッシュの生成に使われる。収集者は区別されるが、データをコラボレーティブに共有することもできる。これについては後で触れることにする。この電子メール・アドレスが売られたり第三者の手に渡ったりすることはないが、どうしても気になるなら――実は私がそうなのだ――無償のWebメール・サービスのものを使えばよい。

以上で設定は終わり、これ以降、RDFを提供しているサイトを閲覧して、そのRDFデータを取り込むことができる。すでに述べたとおり、RDFを提供しているサイトを開き、ステータス・バーにある「データ硬貨」をクリックすればよい。取り込んだデータはPiggy Bankに組み込まれた検索ツールで検索することができるが、保存しておくこともできる。そして、いよいよ、Piggy Bankの醍醐味を味わうことができる。それは、Webを渉猟しながらデータを保存していくところから生まれる。

たとえば、[Tools]→[Piggy Bank]の順にメニューをクリックし[Track this Window]オプションを選択する。これを繰り返して幾つかのサイトからデータを収集したら、先の例で示したようなクロスサイトの集約を実行してみよう。まず、[Combine Information from Several Windows]オプションを選ぶ。すると、追跡しているサイトが一覧表示される。このウィンドウで集約したいサイトを幾つか指定すると、指定した情報源からのデータを組み合わせた検索ページが表示される。データに場所情報が含まれている場合は(先の例のように)、結果を地図にすることもできる。

また、Piggy Bank上のデータの各項目にプライベート・タグ(複数可)を割り当てておけば、そのタグに基づいて検索や絞り込みをすることもできる。

スクリーン・スクレイパーとSemantic Bank

W3CのSemantic WebではRDFのこうした使い方が推奨されているが、まだまだ主流にはなっていない。しかし、ありがたいことに、Piggy Bankが扱えるサイトはRDFを提供しているWebサイトだけではいない。プラグ式のスクリーン・スクレイパーもサポートしている。スクリーン・スクレイパーはJavaScriptあるいはXSLTのモジュールで、RDFを提供していないページを解析し有用な情報を抽出する。

スクリーン・スクレイパーは、それぞれ特定のサイト向けに作られている。したがって、スクリーン・スクレイパーは自身が処理可能なURLのパターンを登録し、Firefoxがそのパターンに一致するURLのページを開くと、対応するスクリーン・スクレイパーをPiggy Bankが呼び出すようになっている。そのサイトがRDFを提供している場合、データ硬貨のアイコンが表示され、それとわかる。ただし、この場合は、コインをクリックしてもいわゆる「純粋な」RDF抽出は行われず、スクリーン・スクレイパーがページのコンテンツを読み取って変換する。

したがって、その成否は、スクリーン・スクレイパーの作者の腕次第である。サイトの画面構成が変わると、スクリーン・スクレイパーの更新を待たねばならない。そのような場合は、スクリーン・スクレイパーの作者に丁重な礼状を、サイトの所有者にはRDFの採用を促す手紙を送ると効果があるかもしれない。

あるいは、自分でスクリーン・スクレイパーを書いてもよい。Piggy Bankにはスクリーン・スクレイパーを配布する公式の手段がない代わり、チーム・メンバーが書いたスクリーン・スクレイパーへのリンクがある。しかし、情報を収集する価値のあるサイトか否かを判断するのはユーザーの責任である。自分で選ぶつもりなら、初心者用のガイドが参考になるだろう。

そのつもりがないなら、トップページに用意されているSemantic Bankを試してみよう。SIMILEが制作したPiggy Bankのサーバーサイド版である。Semantic Bankを介して、ユーザーがそれぞれ収集した情報を共有することができる。共同ライブラリには、Piggy Bankの[My Bank Accounts]メニューからアクセスできる。

登録は、使いたいBankごとに行う必要がある。デフォルトはSIMILEプロジェクトのBankだが、自分のBankから始めることもできる。登録すれば、情報の提供も可能である。提供された情報には提供者を区別できるように一人ひとりに一意的なハッシュが付いている。このハッシュは、Piggy Bankを最初にインストールした際に生成したものだ。これを利用すれば、特定の人が提供したものだけを絞り込むことができる。もちろん、自分についても同様である。

論より体験

セマンティック・ウェブを説明するのは、簡単なことではない。確かに、明確に定義された実体および共通のXMLベースの枠組みによってプラットフォームを超えてデータの交換や再利用を実現する構想である、と言うことはできる。しかし、このような説明を聞いてもちんぷんかんぷんだ。

率直に言って、セマンティック・ウェブは説明するよりも体験してみる方が簡単である。今は、FirefoxブラウザとJavaがあれば、SIMILEのPiggy Bankプラグインを使って体験することができる。最近、どこかのブログでPiggy Bankを「Google Mapsの二番煎じ」と評していたのを見た。おそらく、地図対応機能のことを指して言ったものだろう。これはPiggy Bankで最も見栄えのする機能だが、セマンティック・ウェブの威力はそれを遥かに超えている。

まずは体験してみよう。最初のうちは、定期的に閲覧するサイト上のRDFデータが見えるだけだ。しかし、徐々にサイト間の隠された相互関係が浮かんでくる。その中には、個々のサイトだけからは見えないものがある。それこそが、セマンティック・ウェブなのである。

原文