もう一ヶ月近く経ってしまいましたが、7月に「Web標準の日々」というカンファレンスに参加してきました。
このイベントに関しては何か色々とネットで騒動もあったようですが、個人的には以前よりサイトやブログ、書籍などを読ませていただいていた方々の講演を直接聞くことができ、大変貴重な体験となりました。
今回はそこで聞いてきた話の中から、Web KANZAKIの神崎さんが発表されていたセマンティック・ウェブ関連の話題である「GRDDL」について紹介したいと思います。
GRDDLは、わざわざコンテンツと別にメタデータを用意しなくても、通常のコンテンツがそのままセマンティック・ウェブの基礎になってくれるという画期的な仕組みです。
しかもこれが、XHTMLの@profile属性とXSLTという既存技術の組み合わせでだけで実現できるという点も見逃せません。
セマンティック・ウェブは、ネット上のリソースに意味構造を持たせ機械的に処理できるようにすることで、情報の検索や閲覧など人間の作業を助けようという次世代ウェブの構想です。
将来的にネットの利便性を大きく進歩させるものと思われますので、是非注目しておきましょう。
GRDDLとは?
GRDDLについて、現在まだ数少ない日本語解説ページのひとつから引用すると、その説明は以下のようになっています。
GRDDLはメタデータが埋め込まれた XHTML とメタデータを抽出するルールを記述した XSLT スタイルシートなどを結びつける仕組みです。
(GRDDLアプリケーション[セマンティックWeb] -TECHSCORE)
ちなみにW3CによるとGRDDLは「グリドゥル (griddle)」と発音するらしいですが、神崎さんは「ジーアールディーディーエル」と読まれていました。(この読み方については質疑応答でも指摘があったり)
で、要は何かといえば一定のルールで@class属性などを書いたXHTML文書を元に、これを自動的にメタデータに変換できるようにしてしまおうというものです。
具体的にはまず、ヘッダのプロファイル属性を設定します。(プロファイル属性は現在ほとんど使われていない属性ですが、仕様には存在します)
<head profile="http://www.w3.org/2003/g/data-view">
これによって「transformation」というリンクタイプが使用可能になり、このlinkタグによって変換用のXSLTを指定します。(この例ではRSSに変換するXSLTを指定)
<link rel="transformation" href="http://www.w3.org/2000/08/w3c-synd/home2rss.xsl" />
あとはXHTML自体を変換用XSLTが期待するルールに従って記述してさえいれば、GRDDLに対応したエージェントがXHTMLからRSSを生成できるようになります。
先のリンク先の例によれば、「<span class=”date”>2005-04-12</span>」と指定した部分が「<dc:date>2005-04-12</dc:date>」に変換されるといった具合です。
GRDDLの3つの適用方法
さて、上の例ではあらかじめ用意されている変換用XSLTを利用していました。
GRDDLには、この他全体で以下3つの適用方法が存在します。
- 自分で変換XSLTを用意
- 公開XSLTを利用
- 変換XSLTを登録したプロファイルを利用
特に簡単なのは3つめの方法で、これは共有プロファイル経由で自動的にXSLTが呼び出されます。(別途linkタグを書く必要がない)
あらかじめ誰かがこのプロファイルを用意のうえ公開してくれていれば、head要素のprofile属性として指定するだけで使えるということです。
そして現在、なんと神崎さんがmetaprofという名前でこの公開プロファイルを用意されています。
metaprof
metaprofの神崎さんによる説明は以下の通り。(一部略)
- Web KANZAKI謹製公開プロファイルhttp://purl.org/net/ns/metaprof
- Dublin Coreやmicroformatsなどのポピュラーな名前を@class、@rel属性値に用いて、RDF変換できる
- head要素の@profile属性にmetaprofのURIを書くだけ!
<head profile=”http://purl.org/net/ns/metaprof”>
(名前のウェブとXHTML文書のプロファイル [12] 共有プロファイルを使おう)
詳しい仕様や使い方は神崎さんのスライドを見ていただくとして、ひとつ特筆しておきたいのはmicroformatsを解釈してくれる点。
ブロックレベル要素にvcard, vevent, hreviewのいずれかの@classがあれば、その内部をそれぞれのmicroformatで定める名前によって処理
(名前のウェブとXHTML文書のプロファイル [24] 特殊なブロックとしてのmicroformats)
microformatsとRDF語彙の対応は以下のようになっています。
@class | microformats | RDFメタデータ |
---|---|---|
vcard | hCard | FOAF |
hreview | hReview | Review Vocabulary |
vevent | hCalendar | RDFCalendar |
GRDDLを利用する際の注意点
神崎さんのmetaprofもそうですが、公開されている意味定義の恒久性はプロファイル管理者に依存します。
仕様が変わったり、利用できなくなってしまう場合もあるということを認識しておきましょう。
また、GRDDLの処理は対象が整形式(ウェルフォームド)XMLである必要があるため、XHTML文書を書く際には以下の点に注意が必要です。
- &は常に&と実態参照にする(@href属性の中でも同じ)
- 属性値は引用符で囲む
- 空要素は閉じる
- 属性名の前にはスペースを入れる(Validatorではチェックできない)
おわりに
神崎さんのプレゼンには、この他にも「名前」についてのちょっと哲学的な話や、キーワードにURIを与える試みなど面白いテーマが含まれていました。
それらについて一度のエントリーではとても書ききれないので、今回は自分自身の復習の意味も兼ね、GRDDLに限定して簡単にまとめてみた次第です。
もっとも、私は数年前からセマンティック・ウェブに興味を持ち積極的に調べてはいますが、専門家ではありません。
内容には間違った部分など多々ある恐れがあるのでお気をつけを。
セマンティック・ウェブに興味を持つきっかけ程度にでもなれば幸いです。
参考ページ
- 名前のウェブとXHTML文書のプロファイル
Web標準の日々での神崎さんプレゼン資料。後半からがGRDDLの具体的な話。 - ちょっとしたメモ - GRDDLがW3C勧告案に
ちょうどそのプレゼンの翌日にGRDDLがW3C勧告案になったとのこと。 - XHTMLからメタデータを自動抽出する
いつくかのアプローチを紹介する中で下の方にGRDDLの記述あり。 - GRDDLアプリケーション[セマンティックWeb] -TECHSCORE-
今回の記事を書くにあたって参考にさせてもらったページ。この説明はなかなか分かりやすい。 - securecat’s exblog : Acronymの読み方
「GRDDL」の読み方に言及されている記事。私も「ジーアールディーディーエル」って読んでます。 - SummerWind - Web標準の日々 1日目の覚え書き
同じくカンファレンスに参加された方の記事。非常にすっきりとまとめられています。 - ヨモツネット[日記] » Web標準の日々 1日目
こちらも参加された方。私も感動して「ほー」とか唸っていたかも。
参考文献
神崎さんといえば、やっぱりこの本。講演の際も紹介時に名前があげられていました。HTML本来の役割を理解することができる名著です。HTMLを自分で書くことがあるなら読んでおくべき。
RDFやオントロジー記述言語のOWLについて分かりやすく解説した本。とはいえ内容はかなり専門的です。セマンティック・ウェブの概念を裏側の仕様から理解するという点で役立つかも。
Comments»
no comments yet