FOAFにBlogger Codeを貼り付けようというチャレンジャーが現れた模様。
んで、どうやってfoaf.rdfに記述すりゃええのんかなぁ?よーわからん。
xmlns:bc="http://purl.org/net/bloggercode/"という名前空間属性をrdf:RDF要素に追加して、foaf:Person要素の子要素に各コードを表す「ノード達」を追加すれば完了です。で、その「ノード達」は、次のJavaScriptコードをアドレスバーに貼り付けて、Enterを押して出てくる入力欄に、アンケートの結果得られたBlogger Codeを入力して「OK」を押せば得られます。
javascript:(function(p){for(var a=p.toLowerCase().replace(/\+/g,'p').replace(/\-/g,'m').split(/\s/),m={b:'blogging',d:'domain',t:'technical',k:'linkslut',s:'stats',u:'usualsuspects',f:'frequency',i:'immediacy',o:'originality',x:'sex',e:'exhibitionism',l:'lemming',c:'closet'},s='',k,c,i=0;i<13;i++){c = a[i];k = c.charAt(0);s+=('<bc:'+m[k]+' rdf:resource="http://purl.org/net/bloggercode/'+c+'"/><br>');}document.body.innerHTML=s;})(prompt());Internet Explorer6(Sleipnir)とNetscape7.1で確認。
Sleipnirのbookmarkletは文字数制限が厳しくて、コードを切り詰める為につまらない手間がかかってしまった。
一応めも。Blogger CodeのアルファベットとRDFのプロパティ要素名(local名)との対応は次の通り(JavaScriptのObjectリテラルで表記)。
{
b:'blogging',
d:'domain',
t:'technical',
k:'linkslut',
s:'stats',
u:'usualsuspects',
f:'frequency',
i:'immediacy',
o:'originality',
x:'sex',
e:'exhibitionism',
l:'lemming',
c:'closet'
}
// B だけは小文字にする
+はp、-はmに置換し、名前空間URI http://purl.org/net/bloggercode/ の末尾に付け足したものがその特徴(特徴もリソース)を表すURIとなる。
というわけで例えば s++というコードならRDF/XMLで次のように書ける(名前空間宣言は省略):
<foaf:Person>
<bc:stats rdf:resource="http://purl.org/net/bloggercode/spp"/>
</foaf:Person>
「ある人物(http://xmlns.com/foaf/0.1/Person)」の「stats指数(http://purl.org/net/bloggercode/stats)」は、「s++(http://purl.org/net/bloggercode/spp)」である。