OWLガイド読了

OWLウェブ・オントロジー言語ガイドを読んだ.

前エントリで引用したRDFスキーマでできないことは,OWLの語彙で全て実現可能.

OWLガイドの簡単なまとめ

  • クラスの定義
    • owl:Class語彙でクラスを定義
      • すべての個体はowl:Thingのメンバ
  • プロパティの定義
  • プロパティの性質を定義
    • owl:TransitiveProperty語彙で推移的であると定義(P(x,y) and P(y,z) implies P(x,z))
    • owl:SymmetricProperty語彙で対称的であると定義(P(x,y) iff P(y,x))
    • owl:FunctionalProperty語彙で関数型であると定義(P(x,y) and P(x,z) implies y = z)
    • owl:inverseOf語彙で逆関係であると定義(P1(x,y) iff P2(y,x))
    • owl:InverseFunctionalProperty語彙で逆関数型であると定義(P(y,x) and P(z,x) implies y = z)
  • プロパティの制約を定義
    • owl:allValuesFrom, owl:someValuesFrom語彙で値の制約を定義
      • プロパティの定義域,値域とは異なり,あるクラスにおけるプロパティの値の制約
        • 例.WineクラスのhasMakerプロパティの値は,Wineryクラスである
        • 一方で,CarクラスのhasMakerプロパティの値は,Companyクラスである
    • owl:cardinality語彙でカーディナリティー制約を定義
      • あるクラスのあるプロパティの数の制約
        • 例.Wineクラスは,必ず1つのhasMakerを持つ
      • owl:minCardinality, owl:maxCardinality語彙でカーディナリティーの範囲を定義できる
    • owl:hasValue語彙で特定のプロパティ値を定義
      • あるクラスのあるプロパティが決まった値を持つことを定義
  • オントロジーマッピング
    • owl:equivalentClass語彙で2つのクラスが等価であることを定義
      • 2つのクラスが等価であるとき,それぞれのクラスは,全く同じインスタンスを持つ(集合の等価性)
    • owl:equivalentProperty語彙で2つのプロパティが等価であることを定義
    • owl:sameAs語彙で2つの個体が同一であることを定義
      • 2つの個体が同一であることは,owl:FunctionalPropertyから推論可能
    • owl:differentFrom語彙で2つの個体が互いに素であることを定義
      • owl:AllDifferent語彙でコレクションの要素が互いに素であることを定義
  • 複合クラスの定義
    • owl:intersectionOf語彙で積集合を用いてクラスを定義
      • 例.WhiteWineクラスは,WineクラスとhasColorプロパティがWhiteであるクラスの積集合である
    • owl:unionOf語彙で和集合を用いてクラスを定義
      • 例.Fruitクラスは,SweetFruitクラスとNonSweetFruitクラスの和集合である
    • owl:complementOf語彙で補集合を用いてクラスを定義
      • あるクラスの補集合は,owl:Thingとあるクラスの差集合
      • 通常,非常に大きな集合を表す
    • owl:oneOf語彙でクラスのメンバをすべて列挙する
      • 例.WhineColorクラスのインスタンスは,White/Red/Roseのいずれか(それ以外の色はない)
    • owl:disjointWith語彙で2つのクラスが互いに素であることを定義
  • バージョン付け
    • owl:priorVersion語彙で以前のバージョンへのリンクを作成
    • owl:backwardCompatibleWith,owl:incompatibleWith語彙で互換性を定義
    • owl:DeprecatedClass,owl:DeprecatedProperty語彙で互換性がなくなる可能性を示唆