ちょっとしたメモ

rel="nofollow"ほかメタデータのプロファイル

メジャーな検索エンジンがrel="nofollow"をサポートすると話題になっているので、これを含めたいくつかのリンクタイプを使うためのプロファイルを定義してみました。さらにおまけで(というより、こちらがメイン)、このプロファイルを使うと、GRDDLで文書からRDFメタデータを抽出できるようになります。

実情はともかく、rel属性に(X)HTML仕様で定められていないリンクタイプを記述するときは、プロファイルをhead要素で指定することになっています。今回作成したプロファイルは、nofollowのほかにCreative Commonsrel="license"などを使えるようにするもの。head要素のprofile属性に次のように記述してください。

(例)

<head profile="http://purl.org/net/ns/metaprof">

仕様に厳密な人でも、これで大手を振ってrel="nofollow"を使えます(注意:このプロファイルURIの最後に / は付きません)。

このプロファイルのメリットは、GRDDLのためのXSLTを合わせて指定しているところ。これを使うと次のような形でRDFメタデータが抽出できるようになります。

rel="license"
hrefの値をcc:licenseとして抽出
itemprop="mentions"
hrefの値をfoaf:topicとして抽出
rel="source"
hrefの値をdc:sourceとして抽出
dfn要素
要素内容をdc:subjectとして抽出
link要素のrev="made", meta要素の"author"
文書の作者としてfoaf:Personを生成
class属性
Metadata in XHTML - XSLTによる抽出」にしたがってメタデータを生成

これによって、とても手軽にメタデータをXHTML文中に埋め込むことができます。たとえば、RDFを話題にしている文章で、W3Cのページにリンクしているところがあれば、次のように記述します。

(例)

<p>この<a rel="topic" href="http://www.w3.org/RDF/">RDF</a>を用いることで…</p>

プロファイルで指定しているXSLTを使って、GRDDLは次のようなRDF/XMLの要素を生成します。

(例)

<foaf:topic rdf:resource="http://www.w3.org/RDF/"/>

その他、上記のclass属性を用いると、かなり凝ったメタデータも扱えます。プロファイル属性とdfn要素、rel属性、class属性などを加えたXHTMLを作成し、W3CのGRDDLデモページでURLを入力してみてください。

XSLTを使うので、もちろん文書はXHTMLでなければなりません。また、W3Cのデモを利用してRDFを生成するには、今のところ文書の文字コードをUTF-8にしておく必要があります。

関連メモ: