RDF Primer読了

RDF入門の5章以降を読んだ.

以下簡単なまとめ

  • RDF語彙の定義
    • rdfs:Class語彙を用いて,クラスを定義
    • rdf:Property語彙を用いて,プロパティ(クラスの属性・性質)を定義
    • rdfs:subClassOf, rdfs:subPropertyOf語彙を用いて,クラス・プロパティの上位/下位関係を定義
    • rdfs:domain, rdfs:range語彙を用いて,プロパティの定義域・値域を定義
  • クラスとプロパティの定義例(引用
    • ex:Book rdf:type rdfs:Class .
    • ex:author rdf:type rdf:Property .
    • ex:author rdfs:domain ex:Book .
  • RDFスキーマでカバーできないこと(引用
    • プロパティーにおけるカーディナリティー制約。例えば、人(Person)にはきっかり1人の実の父親がいるなど。
    • あるプロパティー(ex:hasAncestorのような)が推移的であると指定すること。例えば、A ex:hasAncestor Bであり、B ex:hasAncestor Cである場合、A ex:hasAncestor Cであるなど。
    • あるプロパティーが特定のクラスのインスタンスに対する一意の識別子(または、キー)であると指定すること。
    • 2つの異なるクラス(異なるURIrefを持っている)が実際には同じクラスを表現していると指定すること。
    • 2つの異なるインスタンス(異なるURIrefを持っている)が実際には同じ個体を表現していると指定すること。
    • プロパティーが適用される資源のクラスに依存するプロパティーの値域やカーディナリティーにおける制約を指定すること。例えば、サッカー・チームではex:hasPlayersプロパティーには11の値がある一方で、バスケットボール・チームでは同じプロパティーに5つの値しかない、と言うことができるなど。
    • 他のクラスの組み合わせ(例えば、和集合と積集合)で新しいクラスを記述したり、2つのクラスが互いに素である(すなわち、資源は両方のクラスのインスタンスではない)と述べる性能。

感想

  • rdfs:subClassOf, rdfs:subPropertyOf語彙は,単純に部分集合を表す語彙で十分ではないのか?
  • プロパティの定義域や値域まで定義できるとは思わなかった
  • RDFスキーマでカバーできない範囲に重要なことが多い
    • あるプロパティが推移的であるかどうかは"情報"か"知識"か?
      • "情報"ならばRDFで扱えるようにしたい
      • "知識"ならばOWLで扱えればよい
  • OWLやSPARQLといったRDFの上のレイヤーについても調べる必要がある