昨日、Sethによる「ウェブログのメタデータ」のアイデアを紹介した際、「コメントとその作者に関するメタデータを記述する具体的方法は提案されていない」と書いたが、RSS 1.0 and 2.0 Blog Comments Moduleというものがあるらしい。あまり良い設計ではないし、使われている例も見かけたことはないが、参考までにこれも紹介しておくことにする。
このモジュールの名前空間URIはhttp://purl.org/net/rssmodules/blogcomments/、接頭辞はblogcommentsとするようだ。rss:item要素内に、次のようにしてコメントを記述する。
(例)
<blogcomments:comments>
<blogcomments:comment>
<blogcomments:name>コメント作者名</blogcomments:name>
<blogcomments:email rdf:resource="mailto:commentauthor@mail"/>
<blogcomments:ip>コメント元IPアドレス</blogcomments:ip>
<blogcomments:url rdf:resource="http://commentauthor.homepage/"/>
<blogcomments:date>2004-04-17T22:38:20</blogcomments:date>
<blogcomments:body>
<![CDATA[コメント本文]>
</blogcomments:body>
</blogcomments:comment>
</blogcomments:comments>
commentsプロパティでitem要素とcommentノードをつなぎ、その中にコメントに関するプロパティを記述しようというわけだが、commentに対して直接nameやemailを与えるのはモデルとして変だし(コメントがメールアドレスを持つのではなく、その作者がメールアドレスを持つはず)、IPアドレスをRSSで公開するというのも、オプションとはいえ、いささか乱暴かな。bodyとしてコメント本文まで埋め込むというのは、メタデータというよりシンジケーションの発想に近い(これが必須になっているのは泣ける)。
問題なのは、commentsプロパティ要素内に複数のcommentノードを書けるとうたっているところ。残念ながらこれはRDFでは不可能で、コメントそれぞれを個別のcommentsプロパティでitem要素につなぐか、<blogcomments:comments rdf:parseType="Collection">としてコレクションにする必要がある。
全体的に、このモジュールそのものはあまり使い物にならない感じだが、枠組みだけを利用して、コメントのメタデータはDublin CoreやFOAFで記述するという形なら利用できるかも知れない。
(例)
<blogcomments:comments>
<blogcomments:comment>
<foaf:maker>
<foaf:Person>
<foaf:name>コメント作者名</foaf:name>
<foaf:mbox rdf:resource="mailto:commentauthor@mail"/>
<foaf:homepage rdf:resource="http://commentauthor.homepage/"/>
</foaf:Person>
</foaf:maker>
<dc:date>2004-04-17T22:38:20</dc:date>
<dc:description>コメント冒頭など</dc:description>
</blogcomments:comment>
</blogcomments:comments>
うーむ、やっぱりいまいちだな。トラックバックやdcterms:referencesは1つのプロパティで示しているのだから、これももう少しシンプルにしたいところ。やはり、それぞれのコメントにきちんとIDを与えて、必要に応じて参照可能にするべきだろう。
(例)
<blogcomments:comments> <blogcomments:comment rdf:about="blog-uri#comment-id"> <foaf:maker rdf:parseType="Resource"> <foaf:mbox rdf:resource="mailto:commentauthor@mail"/> </foaf:maker> <dc:date>2004-04-17T22:38:20</dc:date> </blogcomments:comment> </blogcomments:comments>
ウェブログ間のつながりを示すという意味では、foaf:mboxよりもfoaf:weblogの方がいいかも。少しは使い道があるかな?
- ウェブログのメタデータ (2004-04-16)


