2005 年 7 月の履歴(もしくは日誌)


2005 年 7 月

7 月 19 日

そのページが誰のものなのかを示す識別子を埋め込む方法

最初に識別子(ID)を埋め込む方法について検討し,つぎに「投げ銭」についても考えてみます.

まず,そのページが誰のものなのかを示す識別子を埋め込む方法を考えてみます.もし FOAF を利用するのであれば,FOAF で ID を記述するか,もしくは ID が特定できる URI をもつページが自分のものであると記述しておいて,そこから ID を探すというのはどうでしょう.そうすれば,ある記事の持ち主の ID を探すとなると,ある記事に対して FOAF Autodiscovery を利用して FOAF を特定し,その FOAF から ID を探すという手順になります.

ID が特定できるあるページが自分のものだと記述する場合:

<foaf:Person rdf:nodeID="me">
  <foaf:made rdf:resource="http://t.hatena.jp/naoya/tipjar" />
</foaf:Person>

ID を直接記述する場合:

<foaf:Person rdf:nodeID="me" xmlns:hatenaid="http://ns.hatena.ne.jp/hatenaid#">
  <hatenaid:hatenaid>naoya</hatena:hatenaid>
</foaf:Person>

FOAF を利用できるようになっている Weblog サービスもあるけど,直接 FOAF を編集したりできないだろうし,実現は難しそうです.同様に Weblog サービスを利用していたら XHTML の head 要素の中の meta 要素などを応用するのも難しいのではないでしょうか.やっぱり記事の XHTML の中に情報を埋め込む事を考えてみます.

ID が特定できるあるページが自分のものだと記述する場合:

<p class="me"><a rel="foaf.made" href="http://t.hatena.jp/naoya/tipjar">naoya</a></p>

ID を直接記述する場合:

<link rel="schema.hatenaid" href="http://ns.hatena.ne.jp/hatenaid#" />
<p class="me"><span class="hatenaid.hatenaid">onohiroki</span></p>

この ID を XHTML に埋め込む場合は,神崎さんの XHTML metainformation profile を利用すれば,GRDDL を利用して RDF/XML としてメタデータを抽出できます.集出した結果は,先にあげた FOAF のようになります.XSLT スタイルシートが用意されているので簡単に試す事ができます.

もっとも GRDDL を利用しなくても XHTML に埋め込まれれているのから抽出するのはいろいろ方法はあるでしょうね.

これらのどちらも Web ブラウザで何かしらが表示されてしまいますが,それが無意味な表示になるのは避けたいところです.

この話のもとは,「naoyaのはてなダイアリー - そのページが誰のものなのかを示す識別子を埋め込む仕様を考えています」という記事なのですが,ここでは「そのページが誰のものなのかを示す識別子を埋め込む仕様」が問題になっていますが,その理由は「投げ銭」のサービス実現に向けての話のなかで出てくるのです.投げ銭ってのは,つまり良い記事を書いた人にチップを与えるって事です.

はてな側で,それぞれのユーザの ID で「投げ銭」のことを説明するページを用意したらどうでしょうか.そして,それぞれの記事からそのページにリンクしてもらうのです.それならそれがどういうリンクなのか明確ですし,そのリンクの URI からはてなの ID を簡単に拾えそうですよね.

http://d.hatena.ne.jp/naoya/about だと,プロフィールのページになりますが,そんな感じで http://t.hatena.jp/naoya/tipjar っていうページを作って,そこで投げ銭についての説明等が参照できるようにします.

で,FOAF でも tipjar についてのページを記述する foaf:tipjar ってのがあるのでそれを使えばこうなります:

<p class="me"><a rel="foaf.tipjar" href="http://t.hatena.jp/naoya/tipjar">投げ銭よろしく</a></p>

なにか画像を作っても良いですね:

<p class="me"><a rel="foaf.tipjar" href="http://t.hatena.jp/naoya/tipjar" title="はてな投げ銭" ><img src="tipjar.png" alt="投げ銭よろしく" /></a></p>

これを GRDDL で RDF/XML に変換すれば:

<foaf:Person rdf:nodeID="me">
  <foaf:tipjar rdf:resource="http://t.hatena.jp/naoya/tipjar" />
</foaf:Person>

ってなるわけです.どうでしょう?

急いで書いたので,あまり分かりやすくは書けていないのは申し訳ない.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20050719n1 TrackBack