ちょっとしたメモ

もうひとつのRDF構文:Turtle

Turtle(Terse RDF Triple Language)は、"RDF Primer"などでも使われているN-Tripleを拡張してN3に近い機能を持たせる構文で、RDF/XML構文仕様書のエディタでもあるDave Beckettが提案しているものだ。コンパクトで扱いやすい上に、Collection(閉じたリスト)を示すこともでき、かなり強力なものになっている。

先日のHEMLRDFicalで記述する例:

(例)

<i:Vevent rdf:nodeID="makuranososhi">
  <i:summary>Makura no soshi</i:summary>
  <dc:creator>Sei Shonagon</dc:creatory>
  <i:dtstart rdf:parseType="Resource">
    <i:date>996</i:date>
  </i:dtstart>
</i:Vevent>

を、Turtleで書いてみると次のようになる(上のRDF/XMLは名前空間宣言などを一切省略しているが、次のTurtleの例は、使い方を示すためにそれも含める)。

(例)

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix i: <http://www.w3.org/2002/12/cal/ical#> .
:makuranososhi a i:Vevent; i:summary "Makura no soshi";
   dc:creator "Sei Shonagon"; i:dtstart [i:date 996] .

分かりやすいかどうかは慣れの問題もあるが、RDF/XMLで7行つかう記述が2行(トリプルごとに改行すれば4行)とコンパクトにまとまっている。また、これはマーク付けのないテキストなので、妥当性検証を気にすることなくXHTMLなどにも埋め込めるというメリットもある。

XMLじゃないとXSLTで処理できないなど既存のツールで扱いにくいというデメリットもあるし、これが単純にRDF/XML構文を置き換えるというわけではない。それでも、このコンパクトさ、明瞭さは魅力的だ。RDFはXMLでの表現が本質ではなくて、最終的にはトリプルであることを思い出すには、いい材料だろう。

関連メモ:
genre: rdf. at