JSON-LDの最小知識

RDFのシリアライズ形式/マークアップ構文は:

  1. RDF/XML
  2. N-Triples
  3. N-Quads
  4. Canonicalized N-Quads
  5. Turtle
  6. N3
  7. TriG
  8. Trix
  9. RDFa
  10. microdata
  11. JSON-LD
    1. Compcated
    2. Expanded
    3. Flattened
    4. Framed

次も表現に使える。

  1. Table format
  2. Visualized
  3. SPARQL

あり過ぎだろう。ダメだろ。

  1. アットマーク"@" が予約先頭文字となっている。接頭辞よりさらに強い。
  2. JSONデータがJSON-LDドキュメントであることはインバンドで知る方法はない。アウトオブバンドで識別する。アットマーク・プロパティ名で憶測は出来る。
  3. JSON-LDドキュメントのメタデータは "@context" プロパティで記述される。"@context" 情報もアウトオブバンドで与えるこができる。
  4. "@context"情報(インバンドまたはアウトオブバンド)があれば、JSON-LD処理〈processing〉は出来る。
  5. JSON-LD処理とは、JSONデータの正規化である。
  6. 正規化する先は N-Quads データである。

JSON-LDのセマンティクスは:

  1. JSON-LDドキュメントは記述子〈descriptor〉である。
  2. 記述対象物〈主語 | サブジェクト〉は@idのURLで示す。ドラフトでは @subject だった。
  3. @context の値がURLなら、ボキャブラリーIDである。
  4. @context の値がオブジェクトなら @vocab の値がボキャブラリーIDである。
  5. トップレベルの @type に記述子としての型を入れる。記述子としての型が、しばしば記述対象物の型と同一視される。
  6. すべてのプロパティは、指定したボキャブラリー(デフォルトボキャブラリー)で解釈される。
  7. @contex 内に名前置換指定を書ける。
    1. 接頭辞置換=コンパクトURIの展開ができる。
    2. 名前のまるごと置換もできる。
    3. 属性値内に現れるコンパクトURIも置換する。
  8. 目的語であるリテラル=属性値の型指定と言語指定に、@value, @type の組み合わせが使える。

とりあえず @context は:

  1. URL文字列
  2. オブジェクトで、デフォルトボキャブラリー指定 @vocab と名前置換指定

これだけで十分だろう。