このページの目次

日記

セマンティックなマーク付けとメタデータ活用

写真 : 公演中の神崎先生サイバーガーデン biz で行われた神崎正英先生の講演『セマンティックなマーク付けとメタデータ活用』 に参加してきました。

この講演に参加して、やっと RDFa をどうやって使うのかがわかりました !! とりあえず覚書メモ。

  • セマンティックウェブは難しいけど切り口 (テーマ) を考えればセマンティックウェブに関心をもっていなさそうな人にも伝わる。CSSNite のときは名前の Web」でやったら通じた

シンプルでわかりやすいことは大切

  • HTML という非常に簡単でシンプルな仕組みを使うだけでだれでも情報を発信できる。(これが神崎先生のいうユニバーサル HTML)
  • 情報はみんなが使えるものであるべき (情報のユニバーサリティー)
  • URI は Uniform Resource Identifier の略だが、バーナーズリー博士は Universal Resource Identifier といっていた
  • 誰でも使える、わかりやすいことが大切
  • 人間だけではなく、人間を助ける機械にも使いやすいことは、一周して人間が使いやすいということになる
  • セマンティックの分野の初期は人工知能系の人が注目していたので難しい感じ。また、昔は XML の上にセマンティック Web があるという考えだった。でもユーザーが使ってこそはじめて。
  • 複雑なものとしてやってしまったら普及しない。シンプルで誰にでも仕えることが大切
  • セマンティックな情報をコンピューター専用に別途用意する方法はだめだった。例えば FOAF は、自己紹介の情報は HTML で用意してこれを更新しているが FOAF は更新しないというようなケース。それならば一緒にしてしまえばいい (HTML に FOAF のようなメタデータを埋め込む)。ワンソースマルチユーズ
  • (神崎さんの言う) セマンティック HTML とは、HTML にメタデータを詰め込んだもの。
  • HTML、メタデータの両者にとってシンプルのおとしどころを探っていく

RDFa を使ってみる

  • コンピュータにデータをわかりやすくするには、次の 3つの事柄をこれら文書の中で示すことができればいい
    • 文脈にを必要としない識別 (名前付け)
    • データのタイプ (型、カテゴリー)
    • データ同士の関係 (@rel など)
  • @rel はインターネットドラフト (HTML 1.0) から存在していた。@rel がずっとのこってきたのはバーナーズリー博士が、いつか使われるだろうと思っていたからではないか。
  • 人間は文脈から暗黙の主語がわかる。しかし、コンピューターは文脈がわからない。例えば花という文脈中、『色が赤い』とかいても主語は不明。『花の色が赤い』と書くことで『色が赤い』が花についての話題であることが判断できる。(結局人間も暗黙的に主語は何かを考えている)
  • 名前付けには URI をつかう : URI は情報が存在する場所を一意として特定できる。
  • さまざまなモデルを 3つ組 (主語、述語、目的語) : トリプルで表現する RDF (Resource Description Framework) ができた。
  • RSS、FOAF はボキャブラリ。RDF はブロック
  • RDFa は RDF を XHTML の属性と使って埋め込むことができる仕組み
  • 要素型は従来の文書構造を記述するのみために使うべき。だからメタ要素を付与するためだけの要素型として記述するのはお勧めできない。なので属性を使う。
    • 既存の @rel, @rev, @href, @content, @src
    • 新しい属性 @property, @resource, @about, @typeof, @datatype
  • 固有名詞の URI は長い URI ではなく、できれば短く書きたい。XML には名前空間を短縮してかく方法がある (e.g. : xhtml:div)。CURIE(キュリー) は同様に「接頭辞:参照」の形で示すことができる。

RDFa 以外のメタデータ付けについて

  • マイクロフォーマット、GRDDL、RDFa、どれをつかってもセマンティック。
  • マイクロフォーマット : 作者にとってシンプルでやさしいが、コンピュータにとってはシンプルではない。(hCard, hCalendar, hReview, xFolk では処理するロジックは別だから)
  • GRDDL : 便利だがあれもこれもをしていると破綻しそうになる。いいけどある一線を越えると非常に厳しい。使い方が明確の場合は OK

RDFa について

  • URI で参照できるリソースと、リテラル (文字列) でしか参照できないメタデータがある。
  • @name は a要素とかでかぶるから @property で。
  • 文書メタデータを head 要素の中に隠す必要がない。body 要素の中身に書いた情報も文書のメタデータとすることができる。body 要素の中に書いたほうが人間、コンピュータ両方参照でいるデータになる
  • ハイパーリンクしないときに href を用いると UA によっては動作が不安定。そのため @resourece で示す。
    • @href の中身は URI をフルで書かないといけないという決まりがある。
    • @resource 属性は URI を CURIE で省略できる。

ここまでのおさらい

  1. Web のいろいろな情報は文書の中に埋もれているので一元化して利用できるようにしよう
  2. そのためには名前 URI、モデル RDFa、構文 (HTML の属性) が必要。
  3. メタデータとしてほしいのは…
    • 文書自体のメタデータ (文書自体は暗黙の主語にできる (主語を明示しないときはその主語は文書となる) )
    • 文書以外のメタデータ

RDFa についての続き

  • HTML で定義済みの属性値と、新たに用意する属性値
    • rel="copyright" : 定義済みリンク型はそのまま書く。
    • rel="ex:history" : 定義されていないので CURIE をつかって参照しながら書く。
  • 拡張するときの手間を省く方法として…
    • Google が用意した RDFa のボキャブラリがある。(使いそうな語彙をワンパッケージにして接頭辞宣言を 1つで済ます)
    • head[@profile] でまとめて参照する

文書以外のメタデータは、@about 属性で対象の URI で示す

例えば、今から書籍 : セマンティック HTML / XHTML についての話題であるときは主語である書籍 : セマンティック HTML / XHTML を @about で示す

<p about="urn:isbn:9784839931957"><cite property="ex:title">セマンティック HTML / XHTML</cite>は<span property="ex:author">神崎先生</span>の著書です</p>

の例ならば、ISBN が 978-4-8399-3195-7 の書籍についての話題であり、書籍のタイトルはセマンティック HTML / XHTML、著者は神崎先生ということがわかる。

typeof 属性でデータの型を示す

人物の URI は何? というような場合を考える。URI がわからないので主語なしにしてしまうと、主語はその文書そのものになってしまうので、@about (固有名詞) をつけないで @typeof のみを明示する。

<p about="URI がわからない!!">隣に住んでいる人についての話題</p>

というときは、とりあえず、人物を主語にするために

<p typeof="forf:Person">隣に住んでいる人についての話題</p>

とするとで、(この文書ではなく) 匿名のある人物を主語とする。これを空白ノードという。

HTML の文脈を利用した記述 : RDF 連鎖

HTML で要素を入れ子にしたときにメタデータの関係は連鎖する。これを RDF の連鎖という

P6 図3のときは

<p>仕様の詳細は
  <a rel="dct:relation" href="http://www.w3.org/TR/rdfa-syntax/">
    <span property="dct:title">RDFa in XHTML</span>
  </a>
を参照してください</p>

の場合、<span property="dct:title">RDFa in XHTML</span<自体は主語を持たないが、その親である a 要素で主語が明示されているので主語は http://www.w3.org/TR/rdfa-syntax/ となる。

isPrimaryTopicOf

Web 上のリソースなど (URI を持つリソース) と現実世界のモノ (URI を持たないモノ) は、別で扱わないと矛盾が生じる。

例えば、山田さんのホームページが http://yamada.com なので山田さん自身の URI を http://yamada.com とする。そのとき、文書 : http://yamada.com のとき、クリエイターは山田さん (http://yamada.com) となる。しかし、山田さん自信のクリエイターはお母さん (?) なので、山田さん (http://yamada.com) のクリエイターはお母さんとなる。すると、http://yamada.com のクリエイターは山田さんであり、お母さんでもある事になってしまう。

  1. 矛盾を防ぐために、実際のものとオンライン上のものは区別しないといけない。
  2. URI がない場合は、直接 ID を参照できない。しかし、間接的に URI を示すことでIDを与えることができる。
  3. 実世界のものについてURI がないときは、Web 上の文書の URI をつかって間接的にそれの URI 示す。
    1. 例えば <a rel="foaf:isPrimaryTopicOf" href="http://ja.wikipedia.org/wiki/東京タワー">東京タワー</a>のとき
    2. 「現在の文脈の主語」=「http://ja.wikipedia.org/wiki/東京タワー の主要トピック」 = 東京タワー
    3. ある URI をその人をあらわす ID の代わりにするためのプロパティー (逆関数プロパティー)

神崎先生への質問タイム

RSS や Atom のように高い認知度を得られそうなフォーマットは?
検索エンジンがサポートする語彙がメインに使われるようになるだろう。W3C が Social Web XG をつくったのでそこで標準ができるかも
XHTML2、HTML 5 が登場するとウェブはどう変わると思いますか?
XHTML WG がストップすることで進んだ草案がなくってしまう (note になる) のがもったいない。Web アプリケーションはいままで独自にやってきたことが標準化進むだろう。Web パブリシングについてはそんなにかわらないだろう。仕様と実装が連動しているのは大切。
機械が自然言語を人間並みに理解/解析できる仕組みができればすべては解決するのでしょうか?
マーク付けは簡素化できるかもしれないけど人工知能的な分野が入ってくる
メタデータの実装は特にどのようなコンテンツで増えていくか
メタデータの付与は、人や製品、サービスの情報、加えて、時間と場所に対しても重要。また、ある情報を見たとき、どう判断するかの基準として、レビュー情報にも便利。情報がものすごくあるときには探すのが大変なので、時間的な制約 (短時間で情報を発見できるように) そういったデータにも。
神崎さんがほしい身近なサービスは?
前項同様。ネットラジオの番組は無数にあるのでネットラジオの番組表がほしい。
メタデータの実装をどんなメリットにフューチャーして売ったらいいか
セマンティック HTML を使うメリットはワンソースでいけるようにするもの。特殊なコストをかけてやるのは少し違うかも。簡単なルールで一部の情報をセマンティックマーク付けにする仕組みを提案してみてはどうか
セマンティックな HTML / XHTML を活用している事例は

US、イギリス政府系のデータを公開に RDFa が使われている。また、Digg, SlideShareなどにも。マイクロフォーマットならもっといろいろなところがやっている。

小さな会社で商品の数が少ないなら DB を持つのはだるいから、そのページをセマンティクスにすれば、検索エンジンがそれを拾ってくれてデータベース化してくれるかも

メタデータの実装にはいくつかの方法が用意されているが「こんな場合はコレで」の基準は ?
マイクロフォーマットはお手軽。しかし、分散したものを統合して利用するのはマイクロフォーマットではできないので RDFa などで実装するといいだろう。すぐにはやりたいという場合はマイクロフォーマット、時間をかけてデータの再利用を考える場合は RDFa を選べばよいだろう。
HTML / XHTML においてメタデータを付与するには RDF, microdata, microformats などさまざまな実現方法がありますがこれは最終的には淘汰されるのでしょうか。もしされるとしたらなにが残ると予測されますか ?
HTML 5 はメジャーになりそうなことを考えるとマイクロデータの影響力は大きいだろう。マイクロフォーマットとマイクロデータは固まったら修練していくだろう。また、既にRecommendation になった RDFa をひっくり返すのはなさそう。
今後、さらに洗練されたメタデータ実装方法は出現する可能性はありますか?その場合、どのようなものになると予測されますか?

主語述語目的語の 3個のことだけじゃなくて、n個のことをいえるようにしたいという人や、簡単にという人も要るけどかわらないだろう。

推論できるようになれば 規則の部分を記述していく

今の実装をどういうふうに使っていくかについてを考えていく

CURIE の部分が変わってくるかもしれない。でもどうなるかはわからない。

「日本の Web は残念だ」という話について、神崎さんの目にはどのように映っていますか ?
話題が出ているというメタデータはしってるけど、内容は空白ノードです(笑)。Web に外国も日本もないと思うから残念ではないと思います。
書籍の 238 から 239 ページの説明がこんがらがってしまうのですが、複雑な関係を考えるコツは?
こういう変則的な事態になるのは望ましくない。一応、こういうこともできるよということを書いておきました
RDFa 実装で span が空になるのが気持ち悪いのですが (P234 10.6)
メタデータは人に見えるほうがいい。でも画面を見ている人(人間)にわかりきっていることは空要素にしておく。コンピュータが必要とするデータと人間が欲するデータは同じではない。人間に見せてもいいならからにしないで内容を入れればいい。これは Object要素のパラメーター要素と近い。
日々どんな情報のインプットアウトプットしてるの?

適当にやってます(笑)。

全部テキストにするのがつぶしが利く。

今回の本では本文も含めてアウトラインプロセッサーをつかいました。それに対応するツリーの参考文献用のアウトラインプロセッサーもつかいました。

普段はどんな仕事をしているのですか
Web に関する何かの仕事をその時々でやっています。学校で教えたり、本を書いたり、実装をしたり。頼みたい仕事があればどうぞ!!
The Web KANZAKI はかなりのページ数があると思うのですが、すべて静的に管理しているのでしょうか?また、現在の時点でおおよそ何ページくらいで構成されているのでしょうか?
先週の結果では 16000 くらいのリソースに対するアクセスがありました。7, 8割はダイナミックに RDF から出せるようにしています。スタティックなページは実際は2000~3000くらいかなぁ…よくわからないです。
Twitter 使ってますか?
アカウント名に masaka が使えなかったので _masaka でやってます。masaka という名前が使えないとやる気がなくなってしまうのでしばらくはつかってなかったのですがフォローされちゃったので今はつかってます。FriendFeed にいろいろあつめているのでこっちみてもらったほうがいいです。ハッシュタグとそのタグが使われた時期を絡めたサービスをつくってみるともしろいかもしれないですね。

懇親会

写真 : 懇親会の様子。店内はエスニックな感じです渋谷のアジアンキッチンにて。

神崎先生が Web 上で公開していない情報に対する質問があったりしました。例えばお使いのディスプレイの大きさは ? とか OS は ? とか。渋谷だけあって周りで合コンやお誕生日祝いなどが行われていて神崎先生や小久保さん、矢倉さんたちのお話が聞き取りづらくて残念でしたが、幸い席が隣の隣だったので、公演中に疑問に思ったことをお聞きすることができました。

質問してみた内容とその回答を。覚えている範囲でなので、実際に神崎先生がおっしゃったこととは少しずれているかも。

仮に isPrimaryTopicOf の参照先リソースの主題が変わってしまったらどうなるのか?
そうなったら困ってしまいますね。WikiPedia なら各リソースで扱う主題は変わることはないはずなので WikiPedia を参照しておけばよいでしょう
仮に isPrimaryTopicOf の参照先リソースの URI が変更されたり削除されてしまったらどうなるのか?
そうなったら過去に~を主題にしたリソースがあったということになるでしょう。それを聞いて自分は、xmlns が参照する先のリソースが特に意味を持たないのと似たようなことなのだろうと理解しました。
text/html と application/xhtml+xml、どちらが好きですか ? text/html はユニバーサル (容易) でいいと思うのですが、データの再利用を考えると application/xhtml+xml もいいと思うのですが。
(XHTML のためのものですが) RDFa でメタ情報を埋め込むには text/html で事足ります。ほとんどの UA で動作しました。GRDDLやXSLTなどを使いたいなら application/xhtml+xml を使えばよいでしょう。

2次会

写真 : 座敷の席で神崎先生を囲んでお話を聞きました静かな座敷のあるお店にて。参加している皆さんでひとつのテーブルを囲んで行われました。静かで全体の声が聞き取れました。神崎先生の正面、矢倉さんの隣だったので、とても勉強になりました。

XHTML は XML であってもデータとして解析される必要はない。なので XHTML にドラコニアンエラーハンドリング (厳密すぎる解析) は必要なかったなど、特に HTML, XHTML について熱く語られました。



トラックバックURI

http://www.yomotsu.net/wp/wp-trackback.php?p=538

この記事へのコメントはまだありません

コメントフォーム

コメント

コメントでは一部の XHTML タグを使用できます。 : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

著作権情報等

CC 2004 yomotsu-net, Some Rights Reserved.