【注意】 このドキュメントは、W3CのOWL Web Ontology Language Overview W3C Recommendation 10 February 2004 の和訳です。
このドキュメントの正式版はW3Cのサイト上にある英語版であり、このドキュメントには翻訳に起因する誤りがありえます。誤訳、誤植などのご指摘は、訳者までお願い致します。
First Update: 2004年2月15日 | Last Update: 2004年5月5日
OWLウェブ・オントロジー言語は、人間に対して単に情報を提示するのではなく、情報の内容を処理する必要のあるアプリケーションが利用できるように設計されています。OWLは、形式意味論(formal semantics)を用いて語彙を補足して提供することによって、XML、RDF、および、RDFスキーマ (RDF-S) のサポートよりもウェブ・コンテンツに対する機械解釈可能性の実現をより容易にします。OWLには、OWL Lite、OWL DL、OWL Fullの順でより表現力を持つ3つのサブ言語(sublanguage)が存在しています。
このドキュメントは、OWLの性能に対するファースト・インプレッションを得ようとする読者に向けて書かれています。OWLのそれぞれのサブ言語の特徴について非形式的に記述することにより、OWLを紹介しています。RDFスキーマに関していくらかの知識があれば、このドキュメントを理解し易いですが、絶対に必要ということではありません。興味を持ったならば、より多くの詳細な記述およびOWLの機能に関する多くの例を入手するために、このドキュメントの後にOWLガイドを見てみるのも良いでしょう。OWLの規範的な公式定義は、OWLセマンティクスおよび抽象構文にあります。
このドキュメントのステータス
-
はじめに
-
ドキュメント・ロードマップ
-
なぜOWLか?
-
OWLの3つのサブ言語
-
このドキュメントの構造
-
言語概要
-
OWL Lite概要
-
OWL DLおよびOWL Full概要
-
OWL Liteの言語記述
-
OWL Lite RDFスキーマ機能
-
OWL Lite同等および非同等
-
OWL Liteプロパティー特性
-
OWL Liteプロパティー制約
-
OWL Lite制約カーディナリティー
-
OWL Liteクラス積集合
-
OWLデータ型
-
OWL Liteヘッダー情報
-
OWL Liteアノテーション・プロパティ
-
OWL Liteバージョン付け
-
OWL DLおよびOWL Fullのインクリメント言語記述
-
要約
-
参考文献
-
謝辞
-
変更履歴
1. はじめに
このドキュメントは、OWLウェブ・オントロジー言語に関して記述しています。OWLは、人間にコンテンツを単に提示するだけでよい状況ではなく、ドキュメントに含まれる情報をアプリケーションが処理する必要がある場合に使用されることを意図しています。OWLは、語彙中の用語の意味やそれらの用語間の関係を明示的に表すために使用できます。このような用語の表現やそれらの間の相関関係をオントロジーと呼びます。OWLは、XMLやRDFやRDF-Sよりも意味やセマンティクスを表現するためのより多くの機能を持っており、したがって、OWLは、ウェブ上で機械が解釈できる(machine interpretable)コンテンツを表現する能力において、これらの言語を凌いでいます。OWLは、DAML+OILの設計やアプリケーションから学んだ経験を盛り込んで、DAML+OILウェブ・オントロジー言語を改訂したものです。
1.1 ドキュメント・ロードマップ
OWL言語は、一連のドキュメント(それぞれ異なる目的を果たし、異なる対象者の要求に応じた)によって記述されています。以下では、このドキュメントをナビゲートするために簡単な案内図を提供しています。
最初の4つのドキュメントは、技術内容の度合いが進むにつれてリストアップされていったため、書かれている順に読むことをお勧めします。最後の2つのドキュメントで一連のドキュメンテーションが揃います。
1.2 なぜOWLか?
セマンティック・ウェブは、情報に明示的な意味を与え、ウェブ上で公開されている情報を機械がより簡単に自動的に処理し統合するというウェブの一つの将来ビジョンです。セマンティック・ウェブは、カスタマイズされたタグ・スキームを定義するXMLの性能およびRDFのデータ表現に対する柔軟なアプローチを基に築き上げられるでしょう。RDFより一つ上のレベルに位置し、セマンティック・ウェブに必要なものとして、ウェブ・ドキュメントにおいて使用される用語の意味を形式的に記述することができるオントロジー言語が存在します。機械がこれらのドキュメントにあるような有用な推論タスクを実行することが期待されているならば、オントロジー言語は、RDFスキーマの基礎的なセマンティクスを凌ぐものでなければなりません。OWLユースケースおよび要件ドキュメントは、さらに多くの オントロジーに関する詳細情報を提供し、6つのユースケースの観点からウェブ・オントロジー言語の必要性を動機づけ、OWLの設計目標および要件そして目的策定しています。
OWLは、ウェブ・オントロジー言語に対するこの要求を満たすべく設計されてきました。OWLは、増えつづけているセマンティック・ウェブに関するW3C勧告の一部です。
-
XMLは、構造化ドキュメント(structured documents)に対して表層構文(surface syntax)を提供しますが、これらのドキュメントの意味に対してセマンティックな制約を課すものではありません。
-
XMLスキーマは、XMLドキュメントの構造を限定し、XMLをデータ型で拡張するための言語です。
-
RDFは、オブジェクト(「資源」)およびそれらの間の関係のデータ・モデルであり、このデータ・モデルに対してシンプルなセマンティクスを提供し、XMLシンタックスでこれらのデータ・モデルを表すことができます。
-
RDFスキーマは、RDF資源のプロパティーとクラスを(そのようなプロパティーやクラスの一般化階層(generalization-hierarchies)に対するセマンティクスを用いて)記述するための語彙です。
-
OWLは、プロパティーとクラスの記述に対してより多くの語彙を補足します:特に、クラス間の関係(例えば、素の関係である)、カーディナリティー(例えば、「ちょうど1」)、同等性、プロパティーのより豊かなタイピング、プロパティーの特性(例えば、対称)、および、列挙型クラス。
1.3 OWLの3つのサブ言語
OWLは、特定の開発者コミュニティーやユーザが使用できるように設計された、(訳注:OWL Lite、OWL DL、OWL Fullの順で)順に表現力のある3つのサブ言語を提供します。
-
OWL Liteは、主として分類階層やシンプルな制約を必要としているユーザをサポートします。例えば、カーディナリティー制約をサポートしていますが、カーディナリティーの値は0または1のみが許されています。より表現力のある他の関連言語よりも、OWL Liteには、よりシンプルなツールがサポートされるべきで、OWL Liteは類語集やその他の分類法に対して迅速な移行パスを提供します。さらにOWL Liteは、形式の複雑さがOWL DLより低いです。より詳細は、OWLリファレンスのOWL Liteに関する項を参照してください。
-
OWL DLは、計算能力の完全性(すべての結論が計算されることが保証される)や、決定可能性(すべての計算が限られた時間内に終了する)を保持しつつ、最大の表現力を要求するユーザをサポートします。OWL DLは、すべてのOWLの言語の構成子を含んでいますが、それらはある制限下でのみ使用することができます(例えば、クラスは多くのクラスのサブクラスでありえますが、クラスは別のクラスのインスタンスではありえません)。OWL DLという名前は、記述論理(description logics)(OWLの形式の基礎を形成する論理を研究している研究分野の1つ)と一致していることから、そのように名づけられています。
-
OWL Fullは、最大の表現力、および、コンピュータ上の保証がないRDFの構文に制限がないこと望むユーザに向けたものです。例えば、OWL Fullでは、クラスを個体の集まりとして、また同時に、1つの個体自体として扱うことができます。OWL Fullは、オントロジーが、定義済みである(RDFあるいはOWLの)語彙の意味を補強することを可能にします。どんな推論ソフトウェアでも、OWL Fullのすべての機能に対して完全な推論をサポートすることは望めそうにありません。
これらのサブ言語は、それぞれ、何を正当に表現でき、何を有効的に結論づけられるかの両方において、前身の、よりシンプルな言語を拡張したものです。下記の一連の関係は成り立ちます。その逆は成り立ちません。
-
すべての正当なOWL Liteオントロジーは、正当なOWL DLオントロジーです。
-
すべての正当なOWL DLオントロジーは、正当なOWL Fullオントロジーです。
-
すべての有効なOWL Liteの結論は、有効なOWL DLの結論です。
-
すべての有効なOWL DLの結論は、有効なOWL Fullの結論です。
OWLを導入するオントロジーの開発者は、どのサブ言語が彼らのニーズに最適であるかを考慮するべきです。OWL LiteかOWL DLかの選択は、ユーザがどの程度OWL DLよりも表現力がある構成子を求めるかによります。OWL DLかOWL Fullかの選択は、主としてユーザがRDFスキームのメタモデリング機能を要求する程度に依存します(例えば、クラスのクラスを定義する、あるいは、クラスにプロパティーを付与する)。現時点ではOWL Fullの完全実装が実現していないため、OWL Fullを使用する際には、OWL DLと比較して、推論のサポートが予測できません。
OWL LiteとOWL DLは、RDFの制約部分を拡張するものとして見ることができる一方で、OWL Fullは、RDFを拡張するものとして見ることができます。すべてのOWL(Lite、DL、Full)ドキュメントはRDFドキュメントであり、すべてのRDFドキュメントはOWL Fullドキュメントですが、一部のRDFだけが正当なOWL LiteあるいはOWL DLのドキュメントです。 このために、ユーザがOWLへのRDFドキュメントにマイグレートしたい場合には、いくらかの注意を払わなければなりません。OWL DLあるいはOWL Liteの表情の豊かさが適切であると考えられる場合、元のRDFドキュメントがOWL DLおよびOWL Liteによって付加された制約に適合することを保証するために、いくつかの予防策を講じなければなりません。特に、クラス名として使用されるすべてのURIは、タイプ「owl:Class」(および、同様にプロパティーに対しても)であると明示的に断言されなければならず、すべての個体は少なくとも1つのクラス(owl:Thingのみであっても)属すると断言されなければならず、クラス、プロパティおよび個体に使用されたURIは相互に素でなければなりません。OWL DLおよびOWL Liteにおける、これらおよび他の制約の詳細は、OWLリファレンスの付録Eで説明されます。
1.4 このドキュメントの構造
このドキュメントは、最初にOWL Liteの機能について記述し、続けて、OWL DLとOWL Fullに加えられた機能について記述しています(OWL DLとOWL Fullは同じ機能を含んでいますが、OWL Fullはこれらの機能の組み合わせ方法に関してより自由度があります)。
2. 言語概要
この項では、OWL Lite、OWL DL、およびOWL Fullのすべての言語機能の簡易インデックスを提供します。
このドキュメントでは、イタリック体の用語はOWL言語の用語です。用語がRDFあるいはRDFスキーマに既に存在している場合には、接頭辞「rdf:」や「rdfs:」を使用しています。それ以外の場合には、用語はOWLで導入されています。したがって、rdfs:subPropertyOfという用語は、subPropertyOfが既にrdfsの語彙(技術的には、rdfs namespace)に存在していることを示します。さらに、クラスという用語は、より正確にはowl:Classという形で記述され、OWLで導入された用語です。
2.1 OWL Lite概要
OWL Lite言語の構成子のリストは下記の通りです。
RDFスキーマ機能:
|
(非)同等:
|
プロパティー特性:
|
プロパティー制約:
|
制約付きカーディナリティー:
|
ヘッダー情報:
|
クラス積集合:
|
バージョン付け:
|
アノテーション・プロパティ:
|
データ型
|
2.2 OWL DLおよびOWL Full概要
OWL Liteの言語構成子に加え、OWL DLとOWL Fullの言語構成子のリストは、下記の通りです。
クラス公理:
|
クラス表現のブール組合せ:
|
任意のカーディナリティー:
|
フィラー情報:
|
3. OWL Liteの言語記述
この項では、OWL Lite言語機能に関する非形式的な記述を提供します。これらの機能の特定の構文については論じません(定義については、OWLリファレンスを参照してください)。それぞれの言語機能は、使用に関するより多くの例とガイダンスを提供するために、OWLガイドの適所にハイパーリンクされています。
OWL Liteは、OWLの言語機能のうちのいくつかのみを使用し、OWL DLやOWL Fullと比べて機能の使用により多くの制約があります。例えば、OWL Liteにおいては、クラスは名前付きスーパークラス(スーパークラスは任意の表現でありえません)に関してのみ定義することができ、ある種のクラス制約のみしか使用することができません。クラス間の同等性、およびクラス間のサブクラスの関係も、名前付きクラスの間でのみ許され、任意のクラス表現の間では許されません。同様に、OWL Liteの制約は、名前付きクラスのみを使用します。OWL Liteは、カーディナリティーの概念にも制限があります - 明示的に示すことができるカーディナリティーは0もしくは1だけです。
3.1 OWL Lite RDFスキーマ機能
RDFスキーマに関する下記のOWL Liteの機能が含まれています。
-
Class: クラスは、個体がいくつかのプロパティーを共有するため、同類の個体のグループを定義します。例えば、デボラ(Deborah)とフランク(Frank)は両方ともクラス「人(Person)」のメンバーです。クラスは、 subClassOfを用いて、専門階層の形にまとめることができます。すべての個体のクラスであり、すべてのOWLのクラスのスーパークラスである「物事(Thing)」という名の最も一般的な組み込み済みクラスが存在しています。 さらに、インスタンスを持たないクラスであり、すべてのOWLのクラスのサブクラスである「無(Nothing)」という名の最も限定的な組み込み済みクラスが存在しています。
-
rdfs:subClassOf: クラスの階層は、クラスが別のクラスのサブクラスであるという1つ以上のステートメントを行なうことにより作成することができます。例えば、クラス「人」はクラス「哺乳類(Mammal)」のサブクラスであると示すことができます。これによって推論システムは、個体が人ならば、それは哺乳類であると推論することができます。
-
rdf:Property: プロパティーは、個体間あるいは個体からデータ値に至るまでの関係を示すために使用することができます。プロパティーの例としては、「子を持つ(hasChild)」、「親戚を持つ(hasRelative)」、「兄弟を持つ(hasSibling)」、「年齢を持つ(hasAge)」などがあげられます。最初の3つは、クラス「人」を別のクラス「人」のインスタンスに関連付けるために使用でき(それゆえにObjectPropertyのオカレンス)、最後の「年齢を持つ」は、クラス「人」のインスタンスをデータ型「整数(Integer)」のインスタンスに関連付けることができます(それゆえにデータ型プロパティーのオカレンス)。 owl:ObjectPropertyとowl:DatatypePropertyの両方は、RDFクラス「rdf:Property」のサブクラスです。
-
rdfs:subPropertyOf: プロパティーの階層は、プロパティーが1つ以上の別のプロパティーのサブプロパティーであるというステートメントを行うことによって作成できます。例えば、「兄弟を持つ」は「親戚を持つ」のサブプロパティーであると明示することができます。これによって推論システムは、「兄弟を持つ」プロパティーによって個体が別の個体に関係づけられている場合、「親戚を持つ」プロパティーによってもその別の個体に関係づけれられていると推論することができます。
-
rdfs:domain: プロパティーの定義域は、プロパティーを適用することができる個体を制限します。プロパティーが別の個体に個体を関係づけ、そのプロパティーがその定義域の1つとしてクラスを持っていれば、個体はクラスに属しているはずです。例えば、プロパティー「子を持つ」は「哺乳類(Mammal)」の定義域を持っていると明示することができます。これによって推論システムは、フランクがアンナ(Anna)という「子を持っていれば」、フランクは「哺乳類」であるに違いないと推論することができます。制約はプロパティーにおいて明示され、しかも、特定のクラスに関係している場合にはプロパティーにおいてのみ明示されるわけではないため、rdfs:domainはグローバルな制約と呼ばれることに注意してください。プロパティーの制約に関する詳細については、以下の議論を参照してください。
-
rdfs:range: プロパティーの値域は、プロパティーがその値として持つことができる個体を制限します。プロパティーによって個体が別の個体に関連付けられていて、そのプロパティーがその値域としてクラスを持っている場合、その別の個体は値域クラスに属しているはずです。例えば、プロパティー「子を持つ」は、哺乳類の値域を持っていると明言することができます。これによって推論システムは、「子を持つ」プロパティーによって「ルィーズ(Louise)」が「デボラ」と関係づけられていれば(つまり、デボラがルィーズの子であれば)、デボラは哺乳類であると推論することができます。上記の定義域と同様に、値域もグローバルな制約です。この場合も、ローカルな制約(例えば、AllValuesFrom)に関する詳細については、以下の議論を参照してください。
-
Individual : 個体はクラスのインスタンスで、さらに、1つの個体を別の個体に関連付けるためにプロパティーを使用することができます。例えば、「デボラ」という名の個体をクラス「人」のインスタンスとして記述することができ、個体「デボラ」を個体「スタンフォード大学(StanfordUniversity)」に関連付けるためにプロパティー「雇い主を持つ(hasEmployer)」を使用することができます。
3.2 OWL Lite同等および非同等
同等あるいは非同等に関するOWL Liteの機能には以下のものが含まれます。
-
equivalentClass : 2つのクラスが同等であると明示することができます。同等なクラスは同じインスタンスを所有しています。同等は同義のクラスを作成するために使用することができます。例えば、「車(Car)」は「自動車(Automobile)」と「同等のクラス(equivalentClass)」であると明示することができます。これによって推論システムは、車のインスタンスである個体は自動車のインスタンスでもあると推論することができ、その逆も可能です。
-
equivalentProperty: 2つのプロパティーが同等であると明示することができます。同等なプロパティーは、1つの個体を別の個体の同じ集合に関連付けます。同等は、同義のプロパティーを作成するために使用することができます。例えば、「リーダーを持つ(hasLeader)」は「代表者を持つ(hasHead)」と「同じプロパティー(equivalentProperty)」であると明示することができます。これによって推論システムは、プロパティー「リーダーを持つ」によってXがYに関連付けられている場合、プロパティー「代表者を持つ」によってもXはYに関連付けられていると推論でき、その逆も可能です。さらに推論システムは、「リーダーを持つ」が「代表者を持つ」のサブプロパティーであり、「代表者を持つ」が「リーダーを持つ」のサブプロパティーであると推論することも可能です。
-
sameAs: 2つの個体が同じであると明示することができます。これらの構成子は、同じ個体を指し示す複数の別名を作成するために使用することができます。例えば、個体「デボラ」は「デボラ・マックギネス(DeborahMcGuinness)」と同じ個体であると明示することができます。
-
differentFrom: 個体は別の個体と異なると明示することができます。例えば、個体「フランク」は、個体「デボラ」や「ジム(Jim)」とは異なると明示することが可能です。したがって、個体「フランク」と「デボラ」の両方が関数型(Functional)であると明示されているプロパティーの値であれば(したがって、プロパティーは高々1つの値を持ちます)、矛盾があります。複数の個体がたった一つの名前を持ってるとはみなさないOWL(およびRDF)のような言語を使用する際には、個体が異なると明示することは重要でありえます。例えば、補足情報がなければ、OWLは「フランク」と「デボラ」が複数の別個の個体を示しているとは推論しないでしょう。
-
AllDifferent: 複数の個体は1つのAllDifferentステートメントで互いに別物であると明示することができます。例えば、構成子AllDifferentを使用すれば、「フランク」、「デボラ」および「ジム」はお互いに別物であると明示することが可能です。上記のdifferentFromステートメントとは違って、これは、(「フランク」は「デボラ」と別個であり、「フランク」は「ジム」と別個であるということだけでなく)「ジム」と「デボラ」も別個であることまで明示します。構成子AllDifferentは、別個のオブジェクトの集合がある場合や、モデラー達(modelers)が、それらのオブジェクト集合内の単一名仮定を強化することに興味を持っている場合に、特に有用です。それは、リストのすべてのメンバーが別物であり対で素であることを明示するためにdistinctMembersとともに使用されます。
3.3 OWL Liteプロパティー特性
OWL Liteには、プロパティーおよびその値に関する情報を提供するために使用される特別な識別子が存在しています。ObjectPropertyとDatatypePropertyの違いについては、上記のプロパティの記述で言及されています。
-
inverseOf: あるプロパティーが別のプロパティーの逆であると明示することができます。プロパティー「P1」がプロパティー「P2」の逆だと明示され、「P2」プロパティーによってXがYと関連付けられている場合、「P1」プロパティーによってYはXと関連付けられています。例えば、「子を持つ」が、「親を持つ(hasParent)」および「デボラはルィーズという親を持っている(Deborah hasParent Louise)」の逆である場合、推論システムは「ルィーズはデボラという子を持っている(Louise hasChild Deborah)」と推論することができます。
-
TransitiveProperty: プロパティーが推移的であると明示することができます。プロパティーが推移的である場合に、対(x,y)が推移的なプロパティー「P」のインスタンスであり、さらに対(y,z)が「P」のインスタンスであれば、対(x,z)も「P」のインスタンスです。例えば、「先祖(ancestor)」が推移的だと明示されていて、さらに「サラ(Sara)」が「ルィーズ」の先祖(つまり(サラ,ルィーズ)がプロパティ「先祖」のインスタンス)であり、さらにルィーズがデボラの先祖(つまり(ルィーズ,デボラ)はプロパティ「先祖」のインスタンス)ならば、推論システムはサラがデボラの先祖(つまり(サラ,デボラ)がプロパティ「先祖」のインスタンス)であると推論できます。
OWLライト(および、OWL DL)では、推移的なプロパティー(および、そのスーパープロパティー)が、maxCardinalityが「1」である制約を持つことができないという条件が課されています。この条件がなければ、OWL LiteおよびOWL DLは決定不能な(undecidable)言語になるでしょう。詳細については、OWLセマンティクスおよび抽象構文ドキュメントのプロパティー公理の項を参照してください。
-
SymmetricProperty: プロパティーは対称的であると明示することができます。プロパティーが対称的である場合に、対(x,y)が対称的なプロパティー「P」のインスタンスであれば、対(y,x)は「P」のインスタンスでもあります。例えば、「友達(friend)」は対称的なプロパティーだと明示することができます。そうすると「フランク」が「デボラ」の友人であるという条件を与えられた推論システムは、デボラがフランクの友人でもあると推論することができます。
-
FunctionalProperty : プロパティーはユニークな値を持つと明示することができます。プロパティーが「関数型プロパティー(FunctionalProperty)」である場合、それは、それぞれの個体に対して1つ以下の値しか持っていません(個体に対して値を持っていない可能性もあります)。この特性はユニークなプロパティーを持っているという表現で呼ばれてきました。FunctionalPropertyは、プロパティーの最小カーディナリティーが0であり、最大カーディナリティーが1であると明示することの省略表現です。例えば、「第一雇用主を持つ(hasPrimaryEmployer)」は関数型プロパティーであると明示することができます。これによって推論システムは、個体には2人以上の第一雇用主は存在しえないと推論することができます。しかし、これは、すべての人が少なくとも1人の第一雇用主を持っていなければならないということを意味しているわけではありません。
-
InverseFunctionalProperty: プロパティーは逆関数型であると明示することができます。プロパティーが逆関数型である場合、プロパティーの逆は関数型です。したがって、プロパティーの逆はそれぞれの個体に対して高々1つの値を持っています。この特性も、一意なプロパティーとも呼ばれてきました。例えば、「米国社会保障番号(米国民に対するユニークな識別子)を持つ(hasUSSocialSecurityNumber)」は、逆関数型である(あるいは一意である)と明示することができます。このプロパティー逆(「~の社会保障番号である(isTheSocialSecurityNumberFor)」と呼ぶことができる)は、社会保障番号のクラスの任意の個体に対して高々1つの値を持っています。したがって、ある1人の社会保障番号は、それらの「~の社会保障番号である(isTheSocialSecurityNumberFor)」プロパティーに対する唯一の値です。これによって推論システムは、「人」の2つの異なる個別のインスタンスが同じ米国社会保障番号を持っていないと推論することができます。さらに推論システムは、「人」の2つのインスタンスが同じ社会保障番号を持っている場合、それらの2つのインスタンスが同じ個人を指していると推論することができます。
3.4 OWL Liteプロパティー制約
OWL Liteは、クラスのインスタンスがどのようにプロパティーを使用することができるかに対して制約が置かれることを可能にします。これらのタイプ(および、次の小項目のカーディナリティー制約)はowl:Restrictionのコンテクスト内で使用されます。owl:onProperty要素は、制約されたプロパティを示します。次の項の制約がどれだけの値が使用されるかを制限する一方で、次の2つの制約はどの値を使用することができるかを制限します。
-
allValuesFrom: allValuesFrom制約は、プロパティーにおいてクラスに関して明示されます。これは、この特定のクラスのこのプロパティーが、それに関係のあるローカルな値域の制約を持つことができるということを意味します。したがって、クラスのインスタンスがプロパティーによって別の個体と関連付けられている場合、その第2の個体はローカルな値域の制約のクラスのインスタンスであると推論することができます。例えば、クラス「人」は、そのクラス「女性(Woman)」の「全ての値(allValuesFrom)」を持つように制約された「娘を持つ(hasDaughter)」と呼ばれるプロパティーを持つことができます。これは、個体の「人」である「ルィーズ」が「娘を持つ」プロパティーによって個体「デボラ」に関連付けられている場合、これによってデボラはクラス「女性」のインスタンスであると推論システムが推論することができるということを意味します。これにより、「娘を持つ」プロパティーを(クラス「猫(Cat)」などのような)他のクラスとともに使用でき、しかも、該当するクラスにおけるプロパティーの使用に関連した適切な値の制約を持つことが可能になります。このケースでは、「娘を持つ」は、クラス「猫」と関連している時にはローカルな値域の制約「猫」を持ち、クラス「人」と関連している時にはローカルな値域の制約「人」を持つことになります。allValuesFrom制約だけからでは、プロパティーに対して少なくとも1つの値が本当に存在すると推論システムが推論することはできないことに注意してください。
-
someValuesFrom: someValuesFrom制約は、プロパティーにおいてクラスに関して明示されます。ある特定のクラスは、少なくとも1つの値が特定のタイプに属しているプロパティーにおいて制約を持つことができます。例えば、「セマンティック・ウェブ報告書(SemanticWebPaper)」クラスは、「キーワードを持つ(hasKeyword)」プロパティーにおいてsomeValuesFrom制約を持つことができ、それによって、「キーワードを持つ」プロパティーのある値が「セマンティック・ウェブ・トピック(SemanticWebTopic)」クラスのインスタンスであるはずだと明示することができます。これは、複数のキーワードを持つというオプションが可能で、1つ以上がクラス「セマンティック・ウェブ・トピック」のインスタンスである限り、報告書はsomeValuesFrom制約と矛盾していないと言えるでしょう。allValuesFromとは異なり、someValuesFromは、プロパティーのすべての値が同じクラスのインスタンスであるように制約するとは限りません。「私の報告書(myPaper)」がクラス「セマンティック・ウェブ報告書」のインスタンスであれば、「私の報告書」は「キーワードを持つ」プロパティーによって、クラス「セマンティック・ウェブ・トピック」の少なくとも1つのインスタンスと関連付けられています。「キーワードを持つ」のすべての値がクラス「セマンティック・ウェブ・トピック」のインスタンスであると推論システムが推論することが(allValuesFrom制約のようには)できないことに注意してください。
3.5 OWL Lite制約カーディナリティー
カーディナリティー制約は、限定付きでOWL Liteに含まれました。OWL(およびOWL Lite)カーディナリティー制約は、プロパティーにおいて特定のクラスに関して明示されるため、ローカルな制約と呼ばれます。つまり、制約はそのクラスのインスタンスにおいて、そのプロパティーのカーディナリティーを制限します。カーディナリティーの値は0もしくは1のみの記述が許されているという点で、OWL Liteのカーディナリティー制約には制限があります(そして、OWL DLやOWL Fullの場合と違って、カーディナリティーに対する任意の値を許しません)。
-
minCardinality: カーディナリティーは、プロパティーにおいて特定のクラスに関して明示されます。minCardinality「1」がプロパティーにおいてクラスに関して明示される場合、そのクラスのあらゆるインスタンスはそのプロパティーによって少なくとも1つの個体と関連付けられているでしょう。この制約は、プロパティーがクラスのすべてのインスタンスに対する値を持つ必要があるということを言い換えたものです。例えば、全ての人が子孫を持っているわけではないため、クラス「人」は「子孫を持つ」プロパティーに関して明示する最小カーディナリティー制約を持っていません。しかし、クラス「親(Parent)」は「子孫を持つ」プロパティーに最小カーディナリティー「1」を持っています。「ルィーズ」が「人」であることを推論システムが知っていれば、彼女の「子孫を持つ」プロパティーの最小カーディナリティーに関して何も推論することができません。いったん「ルィーズ」が「親」のインスタンスであることが発見されれば、推論システムはルィーズが「子孫を持つ」プロパティーによって少なくとも1つの個体に関連付けられていると推論ることができます。この情報のみから、推論システムがクラス「親」の個体(インスタンス)に対する子孫の最大数を推論することはできません。OWL Liteで許されている唯一の最小カーディナリティーは0もしくは1のみです。プロパティーの最小カーディナリティーが「0」である場合は(それ以上の具体的な情報を欠く時は)、そのプロパティーがクラスに関してオプショナルであるということを単に示しているだけです。例えば、プロパティー「子孫を持つ」は、クラス「人」において最小カーディナリティー「0」を持つことができます(一方では、クラス「親」において最小カーディナリティー「1」より具体的な情報を持っていると明示されますが)。
-
maxCardinality: Cardinality is stated on a property with respect to a particular class.
カーディナリティーは、プロパティーにおいて特定のクラスに関して明示されます。maxCardinality「1」がプロパティーにおいてクラスに関して明示される場合、そのクラスのあらゆるインスタンスはそのプロパティーによって高々1つの個体と関づけられているでしょう。maxCardinalityが「1」の制約は、関数型の、または、ユニークなプロパティーと呼ばれることがあります。例えば、クラス「米国民(UnitedStatesCitizens)」のプロパティー「登録選挙区(州)を持つ(hasRegisteredVotingState)」は、最大カーディナリティー「1」を持つことができます(人々は1つの州のみで投票することが認められているので)。これによって推論システムは、クラス「米国民(USCitizens)」の個体(インスタンス)が「登録選挙区(州)を持つ」プロパティーによって2つ以上の別個の個体とは関連付けられていないと推論することができます。最大カーディナリティー「1」の制約のみから、最小カーディナリティーは「1」であると推論システムが推論することはできません。特定のプロパティーに対する値を持たないクラスもあると明示することは有用かもしれません。例えば、クラス「未婚者(UnmarriedPerson)」のインスタンスは、プロパティー「配偶者を持つ(hasSpouse)」によっていかなる個体とも関連付けられるべきではありません。この状況は、クラス「未婚者」の「配偶者を持つ」プロパティーにおいて最大カーディナリティー「0」によって表されます。
-
cardinality: クラスのプロパティーが、minCardinality「0」とmaxCardinality「0」の両方、あるいは、minCardinality「1」とmaxCardinality「1」の両方を持っていると明示することが有効な場合、カーディナリティーは便宜的に提供されます。例えば、クラス「人」はプロパティー「生みの親を持つ(hasBirthMother)」に対してきっかり1つの値を持っています。これによって推論システムは、「母親(Mother)」の2人の別個の個体(インスタンス)が同一人物の「生みの親を持つ」プロパティーに対する値ではないと推論できます。
これらの制約付きのカーディナリティーの代わりとなる名前について議論されました。現在推薦できるのは、フロント・エンド・システムにそのような名前も含むことです。このトピックについての詳細は、最も関連のあるメッセージhttp://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0063.htmlも含み、Webontの公開メール・アーカイブで入手できます。
3.6 OWL Liteクラス積集合
OWL Liteは積集合(intersection)コンストラクタを含んでいるけれども、その使用には制限があります。
-
intersectionOf: OWL Liteでは名前付きクラスと制約の積集合が許されています。例えば、クラス「就業者(EmployedPerson)」は、「人」と「就業物(EmployedThings)」(「雇用主を持つ(hasEmployer)」プロパティーにおいて最小カーディナリティー「1」を持つ物として定義される)の「積集合(intersectionOf) 」として記述することができます。これにより推論システムは、特定の「就業者」は少なくとも1人の雇用者を持っていると推論することができます。
3.7 OWLデータ型
OWLはデータ値に対してRDFメカニズムを使用します。
XMLスキーマ・データ型から大部分を採り入れた組み込みOWLデータ型についてのより詳細な記述に関しては、OWLガイドのデータ型の項を参照してください。
3.8 OWL Liteヘッダー情報
OWL Liteは、オントロジーの包含および関係、そして、オントロジーに付随する情報の概念をサポートしています。
詳細はOWLリファレンスを、そして、例はOWLガイドを参照してください。
3.9 OWL Liteアノテーション・プロパティ
OWL Liteでは、クラス、プロパティ、個体およびオントロジー・ヘッダーに関するアノテーションが許されています。これらのアノテーションの使用は、ある制限に従います。詳細に関しては、OWLリファレンスにおけるアノテーションに関する項を参照してください。
3.10 OWL Liteバージョン付け
RDFは、バージョン付け情報を記述するための小規模な語彙を既に備えています。OWLは、この語彙を大きく拡張します。より詳細に関しては、OWLリファレンスを参照してください。
4. OWL DLおよびOWL Fullのインクリメント言語記述
OWL DLにはいくつかの制約がありますが、OWL DLおよびOWL Fullは両方とも同じ語彙を使用します。大まかに言うと、OWL DLはタイプ分離(クラスは個体でもプロパティーでもありえなく、プロパティーは個体あるいはクラスでもありえない)を要求します。これは、OWL自体の言語要素には制約を適用できないこと(OWL Fullでは可能)を暗示しています。さらにOWL DLでは、プロパティーがObjectPropertiesあるいはDatatypePropertiesのいずれかである必要があります。ObjectPropertiesが2つのクラスのインスタンス間の関係である一方、DatatypePropertiesはクラスおよびRDFリテラルのインスタンスとXMLスキーマ・データ型の間の関係です。OWLセマンティクスおよび抽象構文のドキュメントでは、識別および制限について説明しています。以下に、OWL Liteの構築を拡張するOWL DLおよびOWL Fullの語彙について記述しています。
-
oneOf:(列挙型クラス): クラスは、クラスを構成している個体を列挙することによって記述することができます。クラスのメンバーは、列挙された個体セットそのものであり、それ以上でも、それ以下でもありません。例えば、「曜日(daysOfTheWeek)」のクラスは、日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日と、個体を単に列挙することにより記述することができます。これによって推論システムは、そのallValuesFrom制約としてdaysOfTheWeekを持っているプロパティーの最大カーディナリティーは(7)であると推論することができます。
-
hasValue:(プロパティー値): プロパティーは値としてある個体を持っていることを要求されることがあります(プロパティー値と呼ばれることもあります)。例えば、「オランダ国民(dutchCitizens)」のクラスのインスタンスは、国籍の値として「ネザーランド(theNetherlands)」を持っている人々であると見なすことができます。(国籍の値「ネザーランド」は、国籍のクラスのインスタンスの1つです)。
-
disjointWith: クラス同士は、互いに素であると明示することができます。例えば、男性と女性は互いに素のクラスであると明示することができます。このdisjointWithステートメントによって推論システムは、ある個体が両方のインスタンスであると明示されるときには矛盾があると推論することができ、同様に、Aが男性のインスタンスであれば、Aは女性のインスタンスではないと推論することができます。
-
unionOf, complementOf, intersectionOf(ブール組合せ): OWL DLおよびOWL Fullでは、クラスおよび制約の任意のブール組合せ(unionOf、complementOf、および、intersectionOf)が可能です。例えば、和集合(unionOf)を使用すると、クラスが「米国市民」あるいは「オランダ市民」のいずれかを含むと明示することができます。補集合(complementOf)を使用すると、子供は「高齢者(SeniorCitizens)」ではないと明示することができます。(つまり、クラス「子供(Children)」は「高齢者」の補集合のサブクラスです)。欧州連合の市民権は、すべての加盟国の市民権の和集合(union)であると表現することができます。
-
minCardinality, maxCardinality, cardinality(フル・カーディナリティー): OWL Liteではカーディナリティーが、少なくとも、高々、あるいは、ちょうど1か0に制約されている一方で、Full OWLでは任意の非負整数に対するカーディナリティー・ステートメントが可能です。例えば、DINKs(「Dual Income, No Kids」)のクラスは、プロパティー「収入を持つ(hasIncome)」のカーディナリティーを最小カーディナリティー「2」に制約するでしょう(「子を持つ」プロパティーは、カーディナリティー0に制限されるでしょうが)。
-
複合クラス : 多くの構成子の中で、OWL Liteは構文を単一のクラス名(例えば、subClassOfまたはequivalentClassのステートメントの)に制約します。OWL Fullでは、この制約を拡張し、任意の複合クラス記述、列挙型クラスの構成、プロパティー制約、および、ブール組合せが可能です。さらに、OWL Fullでは、クラスをインスタンスとして使用することができます(OWL DLおよびOWL Liteでは不可)。このトピックについての詳細については、「ガイド」ドキュメントの「使用設計」の項を参照してください。
このドキュメントは、なぜウェブ・オントロジー言語が必要かもしれないのか、また、OWLがどのように関連のW3C言語と調和するかに関して簡潔に紹介することにより、ウェブ・オントロジー言語の概要を提供しています。さらに、3つのOWLのサブ言語(OWL Lite、OWL DL、OWL Fullおよびそれぞれの言語の機能概要)の簡潔な解説も提供しています。このドキュメントは「機能概要」ドキュメントのアップデート版です。簡潔な例を用いて構成子の簡単な説明を提供しています。より詳細については、OWLリファレンスドキュメント、OWLガイド、およびOWLセマンティクスおよび抽象構文ドキュメントを参照してください。
このドキュメントの旧バージョン(2003年12月15日、2003年9月5日、2003年8月18日、2003年7月30日、2003年5月1日、2003年3月20日、2003年1月2日、2002年7月29日、2002年7月8日、2002年6月23日、2002年5月26日、および2002年5月15日)では、OWL Liteの進化の歴史的な概観およびその進化で議論された問題に関してご覧になれます。
-
[OWL Guide]
-
OWL Web Ontology Language Guide, Michael K. Smith, Chris Welty, and Deborah L. McGuinness, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-owl-guide-20040210/。最新バージョンは、http://www.w3.org/TR/owl-guide/で入手可能です。
-
[OWL Reference]
-
OWL Web Ontology Language Reference, Mike Dean and Guus Schreiber, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-owl-ref-20040210/。最新バージョンは、http://www.w3.org/TR/owl-ref/で入手可能です。
-
[OWL Abstract Syntax and Semantics]
-
OWL Web Ontology Language Semantics and Abstract Syntax, Peter F. Patel-Schneider, Pat Hayes, and Ian Horrocks, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-owl-semantics-20040210/。最新バージョンは、http://www.w3.org/TR/owl-semantics/で入手可能です。
-
[OWL Test]
-
OWL Web Ontology Language Test Cases, Jeremy J. Carroll and Jos De Roo, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-owl-test-20040210/。最新バージョンは、http://www.w3.org/TR/owl-test/で入手可能です。
-
[OWL Requirements]
-
OWL Web Ontology Language Use Cases and Requirements, Jeff Heflin, Editor, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-webont-req-20040210/。最新バージョンは、http://www.w3.org/TR/webont-req/で入手可能です。
-
[OWL Issues]
-
Web Ontology Issue Status. Michael K. Smith, ed. 1 November 2003.
-
[DAML+OIL Reference]
- DAML+OIL Reference Description . Dan Connolly, Frank van Harmelen, Ian Horrocks, Deborah L. McGuinness, Peter F. Patel-Schneider, and Lynn Andrea Stein. W3C Note 18 December 2001.
-
[XML]
-
Extensible Markup Language (XML).
-
[XML Schema]
-
XML Schema .
-
[XML-SCHEMA2]
-
XML Schema Part 2: Datatypes - W3C Recommendation, World Wide Web Consortium, 2 May 2001.
-
[RDF/XML Syntax]
- RDF/XML Syntax Specification (Revised), Dave Beckett, Editor, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/。最新バージョンは、http://www.w3.org/TR/rdf-syntax-grammar/で入手可能です。
-
[RDF Concepts]
- Resource Description Framework (RDF): Concepts and Abstract Syntax, Graham Klyne and Jeremy J. Carroll, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/。最新バージョンは、http://www.w3.org/TR/rdf-concepts/で入手可能です。
- [RDF Schema]
- RDF Vocabulary Description Language 1.0: RDF Schema, Dan Brickley and R. V. Guha, Editors, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-schema-20040210/。最新バージョンは、http://www.w3.org/TR/rdf-schema/で入手可能です。
-
[RDF Semantics]
- RDF Semantics, Patrick Hayes, Editor, W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-mt-20040210/。最新バージョンは、http://www.w3.org/TR/rdf-mt/で入手可能です。
-
[Description Logics]
-
The Description Logic Handbook. Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, Peter Patel-Schneider, editors. Cambridge University Press, 2003; および、Description Logics Home Page.
このドキュメントは、総じてウェブ・オントロジー・ワーキンググループ内で積み重ねられた議論の結果です。このワーキンググループのメンバーは、Yasser alSafadi、Jean-François Baget、James Barnette、Sean Bechhofer、Jonathan Borden、Frederik Brysse、Stephen Buswell、Jeremy Carroll、Dan Connolly、Peter Crowther、Jonathan Dale、Jos De Roo、David De Roure、Mike Dean、Larry Eshelman、Jérôme Euzenat、Tim Finin、Nicholas Gibbins、Sandro Hawke、Patrick Hayes、Jeff Heflin、Ziv Hellman、James Hendler、Bernard Horan、Masahiro Hori、Ian Horrocks、Jane Hunter、Francesco Iannuzzelli、Rüdiger Klein、Natasha Kravtsova、Ora Lassila、Massimo Marchiori、Deborah McGuinness、Enrico Motta、Leo Obrst、Mehrdad Omidvari、Martin Pike、Marwan Sabbouh、Guus Schreiber、Noboru Shimizu、Michael Sintek、Michael K. Smith、John Stanton、Lynn Andrea Stein、Herman ter Horst、David Trastour、Frank van Harmelen、Bernard Vatant、Raphael Volz、Evan Wallace、Christopher Welty、Charles White、John Yanosyです。
-
OWL Liteにowl:Nothingを追加。
-
タイトルの下の最終草案ドキュメントに指示子を追加。
-
owl-absynへのすべてのリンクをowl-semanticsに変更。
-
2003年4月21日付けのpublic-webont-commentsからLee Lacyの文法に関するコメントを組み込んだ。
-
Lee Lacyの他のコメントを組み込んだ。それらは、アノテーション・プロパティ、バージョン・プロパティ、および他の2.2の欠落したタグ(その結果、再編成された)。
-
hasOffSpringの例をhasDaughterに変更(Morten Frederiksenの要請)。
-
「機械可読性」から「機械解釈可能性」への置き換え、および様々な誤植を含む、Lasillaの全てのコメントを組み込んだ。
-
Jim Hendlerに提案された通りに、より複雑さの低いOWL Liteのクラスに関する文を追加。
-
Sandro Hawkeのコメントの後に、第1項に最初の文を追加。
-
スタイル・ファイルへのリンクを復帰。
-
テスト・ドキュメントおよび5月1日バージョンへのリンクを追加。
-
参考文献の項を追加。
-
項への相対参照に戻した。
-
TR/2003/CR-xx-20030818/への後の更新をともなって、前バージョンからhttp://www.w3.org/TR/xxへリンクを変更。
-
勧告候補以後の変更履歴を追加。
-
全ての行末のCtrl-Mを削除。
-
Jeff Rafterのパブリック・ウェブオント・コメントを組み込んだ。
-
ステータス、ドキュメント・リンク、発行日、その他を議長からのPRemailにより更新。
-
2つのリンク切れを修正 - W3Cアイコンは、著者を示すgifだったローカルのW3C拡張src="OWL Web Ontology Language Overview_files/を参照することにより参照されていた。W3Cアイコン(http://www.w3.org/Icons/w3c_home)およびemailのgif(http://www.w3.org/2001/sw/WebOnt/guide-src/Email.Deborah.McGuinness.gif)に全面的拡張を加えた。
-
新バージョン移行で開始された全ての行末のCtrl-Mを削除。
-
2003年12月に旧バージョンにリンクを追加。
-
Lee Lacyのコメントを採用した2004年1月12日付けの最新ドキュメントを更新。(大部分は、小さな編集上の変更、テーブルの30~27のセルスペーシング変更のコメント、...)
-
Benjamin Nowackの編集コメントを収録。
-
リファレンス・フォーマットを更新。