整理技術研究グループ勉強会記録(2005年度)
「セマンティックWebと資料組織法」第8回
- 日時:
- 2005年9月13日 19:00〜
- 会場:
- 日本図書館研究会事務所
- 発表者 :
- 松井純子氏(大阪芸術大学)
- テキスト:
- 「セマンティック・ウェブのためのRDF/OWL入門
第6章 ウェブ・オントロジー言語OWL 6.1-6.5
- 出席者:
- 吉田(帝塚山学院大学)、松井(大阪芸術大学)、横山(大阪市立大学)、田窪(近畿大学)、渡邊(神戸大学附属図書館)、蔭山、河手(大阪樟蔭女子大学図書館)
第6章 ウェブ・オントロジー言語OWL
セマンティック・ウェブの実現のためには、ウェブ上のさまざまn情報(リソース)をコンピュータが識別し、論理的に処理できるように記述する仕組み(技術)が必要
Ontology:リソースの概念の関係を論理的に詳細に表現し、知識の共有を可能にするための仕組み(語彙)
RDF Schema:RDFでリソースを記述するために用いる語彙を定義したもの
RDF M&S:ウェブ上のリソースに関する情報(メタデータ)を記述するための言語体系であり、論理関係を表現するデータ・モデル
6.1 OWLの目的と3つのサブ言語
オントロジー(ontology)=ある分野の知識をコンピュータで処理できるように、明示的・論理的に記述し、その知識の共有と再利用を可能にするもの。
★シソーラスを厳密に分析したものか?それとも単なる記述言語か?
ウェブ・オントロジとは以下の機能を持つ記述言語のこと。
(1) ウェブ上の異なる言語の関係を示す
(2) 推論可能な論理的記述を行う
(3) ウェブ上の分散した知識の記述を相互に結びつける
オントロジーの要件(W3C勧告)
(1) 共有性と相互運用性:オントロジーの共有と相互運用が可能なこと
(2) 発展性:オントロジーの改訂や統合が可能なこと
(3) 不整合の検出:複数のオントロジーやデータ間の矛盾が検出可能なこと
(4) 表現力と拡張性のバランス:多様なリソースの記述が可能なこと
オントロジーの種類
・異なる語彙の関係を示すものから、厳密な論理的帰結を導くための概念記述を行うものまで
・具体的な問題解決を念頭に置いたもの(タスクオントロジー)
・ある領域の概念を汎用的に定義するもの(ドメインオントロジー)
OWL(Web Ontology Language)=W3Cによって開発されたウェブ・オントロジー言語
OWLのサブ言語
・OWL DL:記述理論にもとづき、論理計算の完全性と決定可能性を確保。厳密な推論を行うシステムを構築するための言語。
・OWL Lite:クラスの階層の構築と基本的な制約条件の記述が主目的の場合に使用。OWL DLのサブセット。実装が容易。
・OWL Full:OWLの語彙とRDFの柔軟性を最大限利用するための言語。論理計算の完全性と決定可能性は保障されない。
OWLオントロジーの構成要素
・ヘッダ:オントロジー全体に関わる情報を記述
・クラス公理:クラスの定義を記述
・プロパティ公理:プロパティの定義を記述
・事実:個体を記述
6.2 OWLのクラス
・クラス:同じ性質のリソースをグループ化したもの。その性質を論理的に表現することが基本。
・個体:インスタンス。同じ性質を持つグループである「クラス」に属するリソース
・外延:インスタンスの集合
基本クラス
owl:Class
ある概念を抽象化して表現。
OWL DL/Liteではクラスにowl:Class型を与えなければならない。
URI参照は同時にプロパティや個体を名前付けできない。
すべての個体は、1つ以上のowl:Classに属さなければならない。
owl:Thing
OWLで記述する世界の個体全体に対応。
すべての個体はowl:Thingのインスタンス
すべてのowl:Classはowl:Thingのサブクラス
owl:Nothing
インスタンスを1つも持たない「空集合」に対応
owl:Nothingはすべてのowl:Classのサブクラス
なぜOWLはrdfs:Classとは別にowl:Classを定めているのか?
OWL DL/Liteでの型分離に対応するため。
OWL DL/Liteではowl:Classであるリソースは同時にプロパティや個体になれない。
OWL Fullでは、owl:Classとowl:Thingはそれぞれrdfs:Classとrdfs:Resourceと同じ。
OWLのクラス…クラス表現を組み合せてクラス公理として定義される
クラス公理(クラス表現の組み合わせ)
1) URI参照によるクラスの名前付け
2) クラスのインスタンスとなる個体の列挙
3) プロパティの制約
4) 2つ以上のクラス表現の積
5) 2つ以上のクラス表現の和
6) クラス表現の否定
※クラス外延のメンバーであるための条件を2)〜5)のように記述することでそのクラスを表現し1)と組み合せてクラス公理となる
6.3 クラスの表現
クラスメンバーの列挙
クラスはその外延のメンバーである個体をすべて列挙することで表現できる。
owl:oneOf
クラスのメンバーを列挙するためのプロパティ(例6.1)
OWLクラスのすべての個体を過不足なく列挙
OWL Liteでは使えない
主語となるクラス(定義域)はowl:Class、目的語(値域)となるクラスはrdf:List
クラスの論理の組み合わせ
クラスを列挙したクラスの積・和・否定として表現
owl:intersectionOf
列挙したクラスの積として表現(例6.3)
owl;unionOf
列挙したクラスの和として表現(例6.4)
OWL Liteでは使えない
owl;complementOf
目的語クラスに属さないすべてのインスタンスがそのクラスのインスタンス(例6.5)
OWL Liteでは使えない
6.4 プロパティの制約によるクラス表現
プロパティ制約のためのRestrictionクラス
owl:Restriction
プロパティによる制約を記述
owl:onProperty
owl:Restrictionによる制約の対象となるプロパティを示す
値による制約
owl:allValuesFrom
主語クラスのすべてのインスタンスについて、その制約対象プロパティ値がすべて、目的語クラスのインスタンスや目的語データ値域で示された値であることを示す。(例6.8)
述語論理の全称記号と同様のはたらき
owl:someValuesFrom
主語クラスのすべてのインスタンスについて、その制約対象プロパティの値のうち少なくとも1つが目的語クラスのインスタンスや目的語データ値域で示された値であることを示す。(例6.9)
述語論理の存在記号と同様のはたらき
owl:hasValue
主語クラスのすべてのインスタンスについて、その制約プロパティの値のうち少なくとも1つが目的語で示された値であることを示す。(例6.10)
出現回数による制約
owl:maxCardinality
主語クラスのすべてのインスタンスについて、その制約対象プロパティの出現回数が、目的語で示された値以下であることを示す。(例6.12)
owl:minCardinality
主語クラスのすべてのインスタンスについて、その制約対象プロパティの出現回数が、目的語で示された値以上であることを示す。(例6.13)
owl:Cardinality
主語クラスのすべてのインスタンスについて、その制約対象プロパティの出現回数が、目的語で示された値に常に等しいことを示す。(例6.14)
6.5 クラス公理の記述
名前付けクラス表現に、任意の数のクラス表現を組み合せてクラス公理を記述
サブクラスによる必要条件の定義
クラスを名前付けし、クラス表現のサブクラスとして記述すると、そのクラスに属するための必要条件を与える「部分公理」となる。(例6.15)
同等なクラスと必要十分条件の定義
名前付けしたクラスを主語とし、目的語クラス表現と同等であると記述すると、主語クラスに属するための必要十分条件を与えるための「完全公理」となる。(例6.18〜6.20)
owl:eqivalentClass
主語クラスと目的クラスが同一のインスタンスの集合を外延に持つことを示す。
分離クラスによる必要条件の定義
名前付けしたクラス表現に別のクラス表現を結びつけると「主語と目的語の外延は互いに素である」という、主語クラスに属するための必要条件を与える「部分公理」となる。(例6.23〜6.24)
owl:disjointWith
主語クラスと目的語クラスの外延が互いに素であることを示す。
OWL Liteでは使えない