OWL:オントロジーの記述言語
OWL:オントロジーの記述言語
オントロジーにおいて、概念と概念の関係性について推論を行うことは非常に大事な要素であり、RDF・RDFSではオントロジーの推論までを表現する事は難しく、推論を実現するためにはDL(記述論理)で概念を表現する事が必要で、DLに対応した技術要素が必要になります。これを考慮したのがOWLで、OWLを用いる事で、DLをベースにしたオントロジーの推論を行うことができます。
OWL
OWLはセマンティックWebのレイヤーケーキの中では、RDF、RDFSの上位に位置し、RDFの語彙拡張という事が出来ます。冒頭でもお話をしましたが、特に推論を表現するDLを備えており、これによりオントロジーの概念間の推論が可能になります。現在のレイヤーケーキ上では、OWLはRDF、RDFSと異なった構成要素と位置付けられていますが、RDF、RDFSと同一のものとして考えて頂いた方がわかりやすいかもしれません。
OWLは上の図のようにのように、OWL Lite、OWL DL、OWL Fullの3層構造になっています。以下、それぞれについて、定義される語彙の概要のみ解説します。
OWL Lite
OWL Liteは名前からも類推されますが、OWLの最もプリミティブ(基本要素)となります。OWL Liteでは以下のような語彙が定義されます。
- RDFスキーマ特性: RDFを記述するための要素
- ヘッダ情報: バージョンや他のオントロジーのインポート情報の要素
- 等号: クラスの個体の同一性の要素
- プロパティ特徴: クラスや個体のプロパティを扱う要素
- プロパティ制限: プロパティの制限を扱う要素
- 制限的基数: クラスのプロパティの基数(0 or 1)を扱う要素
- クラス共通: クラスと制限の共通を扱う要素
- バージョン管理: バージョン情報等を扱う要素
- 注釈プロパティ: RDFSのラベルやコメントを扱う要素
- データタイプ: 値となるデータタイプを扱う要素
これらの語彙により、RDF、RDFSよりも厳密にオントロジーの概念を記述する事ができ、以下のようなプロパティの語彙により、概念間の関係性の推論も行う事が出来ます。以下にその例を示します。
OWL Liteの代表的な語彙の例
- owlEquivalentProperty:プロパティの等価性について定義を行う
- 以下の例では、lectureslnリソースとteachersリソースのプロパティの内容が共通している事を表している。
- owlInverseOf:リソース間の関係が、お互いに逆であることについて定義を行う
- 以下の例ではteachersというリソースと、isTaughtByというリソースが逆の関係である事を示している。
OWL DL
OWL DLは、OWL Liteの語彙拡張にあたり、OWL Fullのサブセットにあたります。名前の通り、DLとしての性質を備えるため、OWL DLにより、オントロジーの推論を行うことが出来ます。OWL DLはOWL Liteのプリミティブを継承し、以下のような語彙を備えます。
- owl:oneOf: 列挙クラスの記述に用いられる
- owl:hasValue: 特定のプロパティの値の存在を示す
- owl:disjointWith: クラスの集合が排他である事を示す
- owl:unionOf: クラスの結合を表す
- owl:complementOf: クラスの補元を表す
OWL DLの代表的な語彙の例
- equivalentClass:2つ以上のクラスが等価であることを示す
- unionOf:あるクラスが、他の複数のクラスの結合から構成されていることを示す
- 以下の例では、AtomicPlaceInBuildingというクラスと、Room、Hallway、Stairway、OtherPlaceInBuildingという複数のクラスを結合したものが等価である事を示している。
- disjointWith:1つのクラスに対して、2つのインスタンスの候補がある際に、どちらか片方のインスタンスしか、そのクラスでは許されない事を示す。
- 以下の例では、professorとassistantProfessorのうちどちらかしかassociateProfessorのインスタンスにはなれないことを示している
OWL Full
OWL Fullは、OWLの階層の中で一番上位のセットであり、OWLの使用できる全てのプリミティブを使う事ができます。理論的な概念の記述ができ、複雑なオントロジーの記述を行うために十分な表現能力を備えます。OWL Fullは以下のような拡張をサポートします。
- 複合クラス:クラスを継承する際に、複数の親クラスから概念を継承したクラスの記述が可能
- 基数:0と1のみに留まらず、より汎用的な数の扱いが可能
OWLのセマンティクス
OWLがDLベースである事は既に説明した通りです。つまり、OWLのセマンティクスもDLに準拠したものとなります。以下に代表的な性質を説明します。
- OWLオントロジーはDLのKBに対応
- OWLのクラスはDLの概念に対応
- OWLのプロパティはDLのロールに対応
- OWLオントロジーはDLで記述可能
まとめ
オントロジーの記述、及び推論を行うための記述言語としてOWLの紹介をさせて頂きました。末尾になりますが。OWLは本当はWeb Ontology Languageの略称で、本来はWOLと略されるべきなのですが、呼びにくいため、フクロウを意味するOWLとかけて、OWLと呼ばれるようになりました。