Turtle(Terse RDF Triple Language)は、"RDF Primer"などでも使われているN-Tripleを拡張してN3に近い機能を持たせる構文で、RDF/XML構文仕様書のエディタでもあるDave Beckettが提案しているものだ。コンパクトで扱いやすい上に、Collection(閉じたリスト)を示すこともでき、かなり強力なものになっている。
先日のHEMLをRDFicalで記述する例:
(例)
<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での表現が本質ではなくて、最終的にはトリプルであることを思い出すには、いい材料だろう。
関連メモ:
- バーコードとRDF (2004-04-02)
- RDFクエリ言語 SPARQL (2004-10-13)
- コメントにするならXMLでなくてもいいのでは (2005-07-28)
- JSONではじめるRDF/Turtle (2006-02-21)
- Trix: RDFのトリプルを直接XMLで表現する (2004-02-29)