Last Callといいつつ6月7日にはまたID-9が出ていたりするAtomのシンジケーション書式仕様だが、ID-04から取り入れられていたcategory
要素について、少し補足説明しておこう。
Atomでは、feed
要素、entry
要素ともにその「カテゴリー」を示すcategory
要素を任意の数、持つことができる。これは、カテゴリーを示す分類名をterm
属性(必須)で記述したうえで、必要に応じてそのスキーム(名前空間)のIRIをscheme
属性で加えてもよいというもの(さらにlabel属性も使える)。たとえば、あるウェブログ・エントリーが音楽について書かれていることを示すなら、次のような具合だ:
(例)
<category
term
="Music"scheme
="http://xmlns.com/wordnet/1.6/"label
="音楽"/>
これはなかなか面白い仕掛けになっている。dc:subject
で主題を示す時に、単語(リテラル)だけでは意味が曖昧になるので、できればURI参照を使いたいわけだが、ほとんどのケースでdc:subject
はリテラルとして用いられており、いきなりrdf:resource
属性でURI参照を書いても通用しない可能性が高い。それで、dc:subject
には単語キーワード(URIのローカル名部分)を与え、foaf:topic
やtaxo:topic
を使ってURI参照を併記するという面倒なことになっていたりする。
category
要素ではこれをterm
とscheme
に分離することで、このあたりを柔軟に扱えるようにした。単語としてのキーワードしか思いつかない(適当なスキーム=語彙が思い当たらない)時はterm
だけを与えておき、ちゃんとした体系があるならscheme
を加えればいいわけだ。アプリケーションは、あらかじめscheme
はオプションと分かっているから、混乱せずにカテゴリを処理することができるだろう。それに、scheme
とterm
を連結すれば、RDFのURI参照として利用できるのも具合がよろしい(スキームによってはそう単純ではないこともあるが)。
何でもかんでもURI参照と肩肘を張らず、できる範囲で明確な意味を与えていきましょうよというのは、最近よく目にする手法だし、受け入れられる素地も大きい。Atomでカテゴリを示すなら、検討する価値はあるだろう(scheme
のURIは #
もしくは /
で終わらせて、term
と直接連結してRDF URI参照を構成できるようになっていると、なお素晴らしい)。
- Atom Syndication FormatがRFCに (2005-12-06)
- RSSのtaxonomyモジュール (2004-03-02)
- Atom最終草案 (2005-04-21)