RDFa Lite 1.1

RDFa Lite 1.1の仕様を読んだが忘れそうなのでメモ:

  1. a は in attributes から。
  2. 使う属性は、vocab, typeof, property, resouce, prefix の5つだけ。
  3. vocal の値にボキャブラリー仕様のURLを書く。スコープ内ではそのボキャブラリーを使う。例: vocab="http://schema.org/"
  4. typeOf でボキャブラリー内で定義されている型名を指定する。その要素の型は指定した型のデータと解釈される。例: typeOf="Person"
  5. 指定した型はいくつかのプロパティを持つはずだから、プロパティ名を property で指定する。例: property="name"
  6. propertyを指定した要素のどの部分からデータを抽出するかは別にコンベンションが必要。要素内容、属性値、子要素を見に行く、など様々。
  7. resource で記述要素〈description〉のIDを指定する。記述対象のIDではない。記述対象のURLが何であるかは、ボキャブラリー=スキーマのプロパティ定義により決まる。
  8. resource の値はXMLのID値ではなくて、通常は相対URLで、ハッシュからはじまる。resoruce いらなくね?
  9. prefix は、Turtle の @prefix と同じことをする。そのスコープ内で使える接頭辞を定義する。属性値は、接頭辞、空白、URL という構文。区切りに空白が入る点に注意。

これも「何に対する記述」がわからない。おそらく、ボキャブラリー内に記述対象のURLを書くプロパティが準備されていて、そのボキャブラリー定義プロパティを使って対象物を示すのだろう。

記述リソースとしての要素のIDでいいなら、resouceは要らないと思う。

vocab + typeof で、型名のグローバル名が得られる。その仕様に従って、プロパティを記していけばよい。問題になるのは、プロパティ値をどう抽出するか? プロパティごとにとかだとだいぶ鬱陶しい。パス言語/ポインター言語でプロパティ値の取り出し方を記述する手はある。

JSON形式なら:

  1. property は不要となる。実際のプロパティを使えばよい。
  2. prefix の構文は必要。JSON-LD の @context か。
  3. vocab + typeOf は必要。@vocab, @type かな。
  4. @vocab でボキャブラリースキーマ仕様の URL を書いて、@type で自分の型≒記述対象の型を書いて、必要なら @contexg で名前マッピングテーブルを作る、という使い方か。