標準仕様書(TS)   TS X 7254:2006

OWL ウェブオントロジ言語 — 意味論及び抽象構文

OWL Web Ontology Language — Semantics and Abstract Syntax



序文

この標準仕様書(TS)は,2004年2月にWorld Wide Web Consortium (W3C)から公表された OWL Web Ontology Language — Semantics and Abstract Syntax を翻訳し,技術的内容を変更することなく作成した標準 仕様書(TS)である。

0. 適用範囲

この標準仕様書(TS)は,W3Cのウェブオントロジ作業グループが設計したウェブオントロジ言語OWLについて,OWLの下位言語であるOWL DL及びOWL Liteの両方に関する高水準の抽象構文を規定する。この抽象構文で書かれたOWLオントロジに形式的な意味を与えるために, モデル論的意味論を与える。RDFグラフとしてのOWLオントロジ(OWL Full)に関する形式的な意味を与えるために,RDF意味論の拡張の形式でのモデル論的意味論も与える。抽象構文からRDFグラフへの写像を与え,この抽象構文で記述することができるOWLオントロジに同じ結果を与えるために,二つのモデル理論を示す。

1. 導入

この標準仕様書(TS)は,ウェブオントロジ言語OWLの規定の一部とする。OWL 概要(TS X 7251) [OWL Overview]は,その規定を構成する様々な規定文書のそれぞれを示し,それらが互いにどのように整合するかを示す。

この標準仕様書(TS)は,W3Cのウェブオントロジ作業グループ(WebOnt)が作成したウェブオントロジ言語OWLの複数の下位言語の規定の,幾つかの相互に関連する規定仕様を含む。最初に2.は,OWL Lite及びOWL DLの両方に関して,高水準の抽象構文を規定する。OWL Liteは,OWLの下位言語であり,OWL DLは,OWLを使用する上でLiteよりは充実したスタイルをもつが,OWLオントロジの構成方法にまだ幾つか制限を残している。 これらの制限を取り除いたものが,OWL Fullと呼ばれるOWL言語の完全版であり,これはRDFと同じ構文をもつ。OWLに関する規定の交換構文は,RDF/XML [RDF Syntax]とする。OWL 機能一覧(TS X 7253) [OWL Reference]は,RDF構文をOWLでどのように使用するかを示す。しかし,OWL抽象構文からRDFグラフ [RDF Concepts]への写像は,4.で与える。

この標準仕様書(TS)は,OWLの二つの形式的な意味論を含む。これらの意味論のうち,一つは3.で定義するもので,抽象構文で書かれたOWLオントロジの直接的で標準的なモデル論的意味論とする。もう一つは,5.で定義するもので,RDF意味論[RDF Semantics]の語い(彙)の拡張であり,RDFグラフの形式でOWLオントロジの意味を与える。この第二の意味論には二つの版がある。一つは,直接的な意味論により強く対応している。したがってOWL DLの意味論とする。もう一つは,クラスを個体として取扱う必要がある場合において,又は抽象構文で扱うことができない状況において使用できる。したがってOWL Fullの意味論とする。これらの二つの版は,実際極めて類似しており,議論の領域の分割の方法だけが異なる。

附属書Aでは,直接的意味論及びRDFに互換な意味論が,OWL個体,OWLクラス,OWL特性,RDF,RDFS,及びOWL構造語い(彙)を区別する抽象OWLオントロジに対応するOWLオントロジに関しては,同じ結果をもつことを証明する。附属書Aでは,OWL FullのためのRDFに互換な意味論の論理的帰結が,OWL DLのRDFに互換な意味論のすべての論理的帰結を含むことの証明の概略も与える。最後に,附属書Bにおいて,この規定文書で定義した様々な概念の幾つかの例を与える。

この規定は,OWLの技術的詳細に興味をもつ人が読むことを念頭においている。特に,OWLの知識をもたない読者を意図したものではない。それらの読者は,まず,OWL 手引(TS X 7252) [OWL Guide]を読むことが望ましい。OWLの構文解析プログラム及びその他の構文的ツールの開発者は,特に2.及び4.に興味をもつと思われる。OWLの推論プログラム及びその他の意味論的ツールの開発者は,特に,3.及び5.に興味をもつと思われる。

2. 抽象構文

2.におけるOWLの構文は,OWLの交換構文を抽象化したものであり,それゆえ,その言語へのアクセス及び評価が容易となっている。この特別な構文は,フレームに似たスタイルをもっていて,クラス又は特性に関する情報の集まりを,ほとんどの記述論理のように数多くの原子的な塊に分割したり,RDFグラフ [RDF Concepts]としてOWLを記述する場合のように数多くの三つ組に分割するのではなく,一つの大きな構文の構成要素で提供する。ここで使用する構文は,抽象構文のためのものとしても,どちらかといえば非形式的と いえるものであり,一般に,ある構成要素の引数は,順序がその構成要素の意味に影響しない場合はいつでも,順序付けがなされていないと考える。

ここでは,抽象構文は,XML[XML]で使われているEBNF記法に非常によく似た拡張BNFによって規定する。終端記号は,引用符で囲む。非終端記号は,太字とし,引用符で囲まない。代替要素は,縦線(|)で区切られるか,又は別の生成規則で提供される。1回以下出現する構成要素は,角括弧([…])で囲む。何回も( 0回を含む。)出現する構成要素は,中括弧({…})で囲む。生成規則の中では,空白を無視する。

抽象構文の中の名前は,RDF URI参照,[RDF Concepts]とする。これらの名前は,多くの場合,次の名前空間の一つを使用して,修飾名に略記される。:

名前空間の名前 名前空間
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfshttp://www.w3.org/2000/01/rdf-schema#
xsdhttp://www.w3.org/2001/XMLSchema#
owlhttp://www.w3.org/2002/07/owl#

抽象構文の各構成要素の意味は,導入の際には,非形式的に記述する。これらの構成要素の形式的意味は,モデル論的意味論によって,3.で提供される。

ある利用者にはOWLのような表現言語の全機能が重要であることは 広く認識されているが,それらの言語を求めることが,言語全体のツール群の支援を試みるグループの 気勢を削いでいることもわかっている。より実装しやすい目標を与えるために,OWL Lite[OWL Overview]と呼ばれる,より小規模な言語を定義した。このより小規模の言語は,ウェブ応用を支援するために重要であるが,RDFスキーマ[RDF Schema]では欠落している機能を提供するために設計された。しかし,OWL DLもOWL LiteもRDFスキーマのすべての機能を提供するわけではないことに注意されたい。抽象構文は,このより小規模の言語に対しても表現され (OWL Lite抽象構文と呼ばれる),OWLのより完全なスタイルに対しても表現される (OWL DL抽象構文と呼ばれる)。

ここでの抽象構文は,OWLの交換構文ほど一般的ではない。特に,自己参照する構文構造をつくることは許されていない。クラス,特性及び個体が互いに素な集まりを形成する場合に 使うことを意図している。これらは,大雑把にいえば,OWLの推論を決定可能とするために必す(須)となる制限とする。したがって,この抽象構文は,OWL DLの構文と考える。

備考 OWL Lite及びOWL DLは,SHIF(D)及びSHION(D)として知られる記述論理に強く対応しており,データ型の取扱い方法に限界がある。OWL Liteの抽象構文は,SHIF(D)と関連する,通常の明示的な構成子の多くを含まないが,その表現力は残されている。

2.1 オントロジ

抽象構文におけるOWLオントロジには,注記,公理及び事実の列が含まれる。OWLオントロジは,名前をもつことができる。OWLオントロジに関する注記を使用することで,原作者(authorship)及び他のオントロジへの取込み参照(imports reference)を含む,オントロジと関連した他の情報を記録できる。OWLオントロジの主な内容は,その公理及び事実として書き込まれ,それによって,そのオントロジのクラス,特性及び個体に関する情報が提供される。

ontology ::= 'Ontology(' [ ontologyID ] { directive } ')'
directive ::= 'Annotation(' ontologyPropertyID ontologyID ')'
	 | 'Annotation(' annotationPropertyID URIreference ')'
         | 'Annotation(' annotationPropertyID dataLiteral ')'
         | 'Annotation(' annotationPropertyID individual ')'
         | axiom
         | fact

オントロジの名前を抽象構文で使用することによって,ウェブ上で公開されたオントロジの 関連付けられた意味を伝える。したがって,抽象構文中のオントロジの名前は,それを入手できるURI (Uniform Resource Identifier, 統一資源識別子)であることを意図している。ただし,これはOWLの形式的な意味の一部ではない。 取込み注記は,事実上,ウェブ文書を検索し,それをオントロジとして扱うための指示とする。しかし,文書が欠落していたり,入手不能であったり,時間的に変化するなどの ウェブの多くの局面は,OWL規定の範囲外にある。つまりここに記述されていることは,URIがOWLオントロジに置き換え(dereference)られ得るということだけである。したがって,この規定の複数の箇所で,この取込みの操作的な意味の理想化が使用される。

オントロジは,クラス,特性及び個体に関する情報を組込んでいる。それらは,各々URI参照である識別子をもつことができる。これらの識別子の中には,公理を与える必要があるものもある。詳細については,2.3を参照されたい。

datatypeID ::= URIreference
classID ::= URIreference
individualID ::= URIreference
ontologyID ::= URIreference
datavaluedPropertyID ::= URIreference
individualvaluedPropertyID ::= URIreference
annotationPropertyID ::= URIreference
ontologyPropertyID ::= URIreference

URI参照は,オントロジのdatatypeIDとなることもclassIDとなることもできない。URI参照は,オントロジのdatavaluedPropertyIDindividualvaluedPropertyIDannotationPropertyID,又はontologyPropertyIDの,二つ以上になることもできない。 しかし,URI参照は,個体の識別子,特性の識別子ばかりでなく,クラス又はデータ型の識別子となることができる。 もっともオントロジは,OWL DL RDFグラフには変換され得ない。

OWLでは,データ型は,そのデータ型の値空間であるデータ値の集合を示す。クラスは個体の集合を示す。特性は,個体を他の情報に関連付け,4個の互いに素なグループ,すなわちデータ値特性,個体値特性,注記特性及びオントロジ特性に分けられる。データ値特性は,個体をデータ値に関連付ける。個体値特性は,個体を他の個体に関連付ける。注記特性は,個体,クラス名,特性名及びオントロジ名に注記を付けるために使用される。オントロジ特性は,オントロジを他のオントロジに関連付ける。特にこの特性は,他のオントロジから情報を取り込むために使用される。個体識別子は,資源を参照するために使用され,データリテラルはデータ値を参照するために使用される。

OWLには,二つの 組込みのクラスが存在し,それらは両者とも,OWL名前空間のURI参照,すなわち,http://www.w3.org/2002/07/owl#で始まる名前を使用する。ここではOWLの組込みクラスに対して,名前空間名owlを使用する。この規定全体を通して,修飾名をURI参照の短縮形として使用する。識別子owl:Thingをもつクラスは,すべての個体のクラスとする。識別子owl:Nothingをもつクラスは,空のクラスとする。いずれのクラスもOWL Liteの一部とする。

次のXMLスキーマデータ型[XML Schema Datatypes]は,データ型に対するXMLスキーマの正準URI参照http://www.w3.org/2001/XMLSchema#nameによって,組込みデータ型としてOWLでの使用が可能となる。この場合の名前は,データ型 xsd:string, xsd:boolean, xsd:decimal, xsd:float, xsd:double, xsd:dateTime, xsd:time, xsd:date, xsd:gYearMonth, xsd:gYear, xsd:gMonthDay, xsd:gDay, xsd:gMonth, xsd:hexBinary, xsd:base64Binary, xsd:anyURI, xsd:normalizedString, xsd:token, xsd:language, xsd:NMTOKEN, xsd:Name, xsd:NCName, xsd:integer, xsd:nonPositiveInteger, xsd:negativeInteger, xsd:long, xsd:int, xsd:short, xsd:byte, xsd:nonNegativeInteger, xsd:unsignedLong, xsd:unsignedInt, xsd:unsignedShort, xsd:unsignedByte 及び xsd:positiveInteger の局所名とする。他の組込みXMLスキーマデータ型は,OWLにとって問題がある。これについては,RDF意味論の5.1 [RDF Semantics]に示される。組込みRDFデータ型のrdf:XMLLiteralも,OWLの組込みデータ型とする。XMLスキーマでは,URI参照からXMLスキーマデータ型へたどるための標準的な方法がないため,OWLでは,ユーザ定義のXMLスキーマデータ型を使用するための標準的な方法は存在しない。

OWLでは,組込み注記特性が複数存在する。すなわち, owl:versionInfo, rdfs:label, rdfs:comment, rdfs:seeAlso及びrdfs:isDefinedByである。RDFにおけるそれらの定義との整合性を保つために,rdfs:label及びrdfs:commentだけが,データリテラルとともに使用される。

組込みオントロジ特性も複数存在する。すなわち, owl:imports owl:priorVersion owl:backwardCompatibleWith及び owl:incompatibleWithである。owl:importsを使用するオントロジ注記には,対象のオントロジを取り込む特別な効果がある。

OWL構成要素の多くは, 注記を使用するが,注記指示と同様に,それらは,構成要素の一部と関連付けられる情報を記録するために使われる。

annotation ::= 'annotation(' annotationPropertyID URIreference ')'
            | 'annotation(' annotationPropertyID dataLiteral ')'
            | 'annotation(' annotationPropertyID individual ')'

2.2 事実

OWL抽象構文には,2種類の事実が存在する。

第1の種類の事実は,個体がその個体の正の特性及び値に属するクラスの形式で,特定の個体に関する情報を言明する。個体は,その個体を示すことになるindividualIDを与えられ,その個体を参照するために使用できる。しかし,個体にindividualIDを与える必要はない。これらの個体は匿名(RDF用語では空白(blank))であり,直接どこかを参照することができない。ここでの構文は,rdf:nodeIDの使用なしに RDF/XML構文[RDF Syntax]を反映するものに設定される。

fact ::= individual 
individual ::= 'Individual(' [ individualID ] { annotation } { 'type(' type ')' } { value } ')'
value ::= 'value(' individualvaluedPropertyID individualID ')'
        | 'value(' individualvaluedPropertyID  individual ')'
        | 'value(' datavaluedPropertyID  dataLiteral ')'

事実は,型となれるものを除き,OWL Lite及びOWL DL抽象構文において同じとする。OWL Liteでは,型となれるのは,クラスID又はOWL Lite制限とする。2.3.1.2を参照されたい。

type ::= classID
       | restriction

OWL DL抽象構文では,型となれるのは,一般的な記述であり,これには,クラスID及びOWL Lite制限だけでなく他の構成要素も含まれる。

type ::= description

抽象構文のデータリテラルは,型なしリテラルか型付きリテラルのいずれかとする。型なしリテラルは,RDF 型なしリテラル [RDF Concepts]の場合と同様に,正規形CのUnicode文字列及びオプションの言語タグから構成される。型付きリテラルは,RDF 型付きリテラル [RDF Concepts]の場合と同様に,字句表現及びURI参照から構成される。

dataLiteral ::= typedLiteral | plainLiteral
typedLiteral ::= lexicalForm^^URIreference
plainLiteral ::= lexicalForm | lexicalForm@languageTag
lexicalForm ::= RDFと同様に正規形CのUnicode文字列
languageTag ::= RDFと同様に XML 言語タグ

第2の種類の事実は,個体識別子を同一である又は対ごとに異なる,とするために使用する。

fact ::= 'SameIndividual(' individualID individualID {individualID} ')'
      | 'DifferentIndividuals(' individualID individualID {individualID} ')'

2.3 公理

OWL Lite抽象構文とOWL DL抽象構文との最も大きな相違は,公理に現れる。公理は,クラス及び特性に関する情報を提供するために使われる。OWL Liteは,DLに比べ小規模な言語であるため,最初に2.3.1で,OWL Liteの公理を規定する。OWL DL公理は,2.3.2で解説する。OWL DL公理は,OWL Lite公理を特殊例として含んでいる。

公理を使用することによって,クラス及び特性の識別子を,それらの特徴の部分規定又は完全規定のいずれかと関連付け,クラス及び特性に関する他の情報を提供することができる。公理は定義と呼ばれていたが,用語の常識では公理は必ずしも定義ではないため,もっと中立的な 名前が選択された。

ここで使用する構文は,幾つかのフレームシステムで使用される構文に ある程度類似させている。OWL Liteの各クラス公理は,より一般的なクラスの集まり及び 制限構成要素の形式で局所的な特性制限の集まりを含む。制限構成要素は,特性の局所的な値域,どのくらいの個数の値を使用できるか,及び/又は 要求される値の集まりを提供する。クラスは,これらのもっと一般的なクラスと制限との 積(intersection)と等価にするか,その 部分集合にするかのいずれかとする。OWL DL抽象構文では,クラスの公理は,記述の集まりを含み,この集まりは,もっと一般的なクラス,制限,個体の集合及び記述のブール結合となり得る。クラスは,列挙によっても指定でき,又は等価若しくは互いに素とすることもできる。

特性は,他の特性と等価にすることができ,又は他の特性の下位特性にすることができる。すなわち,関数特性,逆関数特性,対称特性又は推移特性とすることができ,大域的な領域及び値域を与えられる。しかし,特性に関するほとんどの情報は,もっと自然に制限の中で表現され,それによって,局所範囲及びメンバ数情報を指定することができる。

組込みOWL クラスデータ型及びrdfs:Literalを除き,クラスID又はデータ型IDとして使用されるURI参照は,区別されなければならない。そのため,公理を必要とする。クラス又はデータ型には,公理が一つ以上存在することもある。抽象構文オントロジで使用される特性は,データ値特性,個体値特性又は注記特性のいずれかとして分類されなければならない。そこでこの目的のために,特性も少なくとも一つの公理を必要とする。オントロジが別のオントロジを取り込む場合,取り込まれたオントロジ(及びそれが取り込むあらゆるオントロジなど)の公理をこれらの目的のために,使用することができる。

2.3.1 OWL Liteの公理

2.3.1.1 OWL Lite クラスの公理

OWL Liteでは,クラスの公理は,あるクラスがその(複数の)上位クラスの集まりと OWL Lite制限との和集合に 厳密に等価である(完全モダリティの場合)か,和集合の 下位クラスとなる(部分モダリティの場合)かを言明するのに使われる。クラスの使用が非推奨であることを示すこともできる。

axiom ::= 'Class(' classID ['Deprecated'] modality { annotation } { super } ')'
modality ::= 'complete' | 'partial'
super ::= classID | restriction

OWL Liteでは,二つ以上のクラスが等価であると言明することができる。

axiom ::= 'EquivalentClasses(' classID classID { classID } ')'

データ型公理はもっと簡単であり,データ型IDが一つのデータ型のIDであることを示し,データ型の注記を与えるために役立つにすぎない。

axiom ::= 'Datatype(' datatypeID ['Deprecated']  { annotation } )'
2.3.1.2 OWL Lite制限

OWL Liteのクラスの公理では,制限を使用して,クラスの特性に局所的な制約を課す。制約のallValuesFrom部分のそれぞれは,クラスの個体に対する特性のすべての値が指定したクラス又はデータ型に属さなければならないという制約を課す。someValuesFrom部分のそれぞれは,指定したクラス又はデータ型に属する特性には,少なくとも値が一つ存在しなければならないという制約を課す。メンバ数部分は,クラスの各個体に対する特性について,どのくらい多くの異なる値が存在するかを示す。OWL Liteでは,許容されるメンバ数は,0及び1とする。

どの特性が制限の中にメンバ数の部分をもつことができるかに関する限界については,2.3.1.3を参照されたい。

restriction ::= 'restriction(' datavaluedPropertyID dataRestrictionComponent ')'
            | 'restriction(' individualvaluedPropertyID individualRestrictionComponent ')'
dataRestrictionComponent ::= 'allValuesFrom(' dataRange ')'
            | 'someValuesFrom(' dataRange ')'
            | cardinality
individualRestrictionComponent ::= 'allValuesFrom(' classID ')'
            | 'someValuesFrom(' classID ')'
            | cardinality 
cardinality ::= 'minCardinality(0)' | 'minCardinality(1)'
            | 'maxCardinality(0)' | 'maxCardinality(1)'
            | 'cardinality(0)'    | 'cardinality(1)'
2.3.1.3 OWL Lite 特性の公理

特性も,フレームに似た構文を使って指定する。データ値特性は,個体を整数などのデータ値に関連付ける。個体値特性は個体を他の個体に関連付ける。これらの2種類の特性に上位特性を与えることができ,特性階層の構築が可能となる。個体値特性をデータ値特性の上位特性にしたり,又はその逆とすることは,意味がない。データ値特性及び個体値特性に,領域及び値域を与えることもできる。特性の領域は,RDFSにおいてそうであるとおり,どの個体が,特性を述部としてもつ言明(statement)の潜在的な主語であるかを指定する。OWL Liteでは,特性の領域はクラスとする。複数の領域の存在が可能であり,その場合には,すべての領域に属する個体だけが潜在的な主語となる。特性の値域は,どの個体又はデータ値が,特性を述部としてもつ言明(statement)の目的語と なりうるかを指定する。ここでも,複数の値域の存在が可能であり,その場合,すべての値域に属する個体又はデータ値だけが潜在的な目的語となる。OWL Liteでは,個体値特性の値域はクラスであり,データ値特性の値域はデータ型とする。

データ値特性を(部分)関数として指定することができる。すなわち,個体を一つ与えると,特性の中には,その個体とデータ値との関係は一つ以下しかない。個体値特性を別の特性の逆特性に指定することができる。個体値特性は,部分関数特性,部分逆関数特性,又は推移特性だけでなく,対称特性と指定することもできる。

OWL Liteでは,推論の決定可能性を維持するために,すべての特性がそれらに課されたメンバ数の制限をもつことができるわけではなく,関数特性又は逆関数特性として指定できるわけではない。個体値特性は,1/ 関数特性又は逆関数特性として指定する場合,2/ それを使用するメンバ数の制限が存在する場合,3/ 複合的な逆特性をもつ場合,又は 4/ 複合的である上位特性をもつ場合は,複合的となる。複合特性を推移特性として指定することはできない。

注記特性及びオントロジ特性は,データ値特性及び個体値特性よりもさらに単純とする。それらに関する公理の中の情報が注記となるにすぎない。

axiom ::= 'DatatypeProperty(' datavaluedPropertyID ['Deprecated'] { annotation } 
              { 'super(' datavaluedPropertyID ')' } ['Functional'] 
              { 'domain(' classID' ')' } { 'range(' dataRange ')' } ')'
       | 'ObjectProperty(' individualvaluedPropertyID ['Deprecated'] { annotation } 
              { 'super(' individualvaluedPropertyID ')' }
              [ 'inverseOf(' individualvaluedPropertyID ')' ] [ 'Symmetric' ] 
              [ 'Functional' | 'InverseFunctional' | 'Functional' 'InverseFunctional' | 'Transitive' ]
              { 'domain(' classID ')' } { 'range(' classID ')' } ')'
       | 'AnnotationProperty(' annotationPropertyID { annotation } ')'
       | 'OntologyProperty(' ontologyPropertyID { annotation } ')'
dataRange ::= datatypeID | 'rdfs:Literal'

次の公理は,複数の特性を等価にするか,又は一つの特性を別の特性の下位特性とする。

axiom ::= 'EquivalentProperties(' datavaluedPropertyID datavaluedPropertyID  { datavaluedPropertyID } ')'
        | 'SubPropertyOf(' datavaluedPropertyID  datavaluedPropertyID ')'
        | 'EquivalentProperties(' individualvaluedPropertyID individualvaluedPropertyID  { individualvaluedPropertyID } ')'
        | 'SubPropertyOf(' individualvaluedPropertyID  individualvaluedPropertyID ')'

2.3.2 OWL DLの公理

2.3.2.1 OWL DLクラスの公理

OWL DL抽象構文には,OWL Liteのクラス公理のより一般的な版が存在し,そこでは,これらの上位クラス,より一般的な制限,及びブール結合を使用できる。これらの構成要素を,合わせて記述と呼ぶ。

axiom ::= 'Class(' classID  ['Deprecated'] modality { annotation } { description } ')'
modality ::= 'complete' | 'partial'

OWL DL 抽象構文では,クラスを指定した個体の集合から厳密に構成することも可能である。次に例を示す。

axiom ::= 'EnumeratedClass(' classID ['Deprecated'] { annotation } { individualID } ')'

最後に,OWL DL抽象構文では,記述の集まりが対ごとに互いに素となるか,同じインスタンスをもつか,又はある記述が別の記述の下位クラスであることを要求することが可能である。これらの公理のうち,最後の二つは,注記が欠落している場合を除き,上の第1の種類のクラス公理を一般化することに注意されたい。

axiom ::= 'DisjointClasses(' description description { description } ')'
        | 'EquivalentClasses(' description { description } ')'
        | 'SubClassOf(' description description ')'

OWL DLでは,EquivalentClasses構成要素の中の記述を一つだけもつことができる。これによって,オントロジは,何とも関連付けられない記述を含むことができる。これは,意味論上有用ではないが,最適とはいえないオントロジの編集を考慮に入れたものとする。

データ型公理は,OWL Liteの場合と同様とする。

axiom ::= 'Datatype(' datatypeID ['Deprecated']  { annotation } )'
2.3.2.2 OWL DLの記述

OWL DL抽象構文の記述は,クラス識別子及び制限を含む。記述は,他の記述のブール組合せ,及び個体の集合となることも可能である。

description ::= classID
            | restriction
            | 'unionOf(' { description } ')'
            | 'intersectionOf(' { description } ')'
            | 'complementOf(' description ')'
            | 'oneOf(' { individualID } ')'
2.3.2.3 OWL DL制限

OWL DL抽象構文の制限は,クラスがOWL Liteで使用できる記述を使用可能にしたり,データ型だけでなくデータ値の集合を使用可能にすることによって,OWL Liteの制限を一般化する。データ型及びデータ値の集合の組合せをデータ領域と呼ぶ。OWL DL抽象構文では,クラスの特性について値を与えることもできる。さらに,メンバ数が,0及び1だけに限定されることはない。

restriction ::= 'restriction(' datavaluedPropertyID dataRestrictionComponent { dataRestrictionComponent } ')'
            | 'restriction(' individualvaluedPropertyID individualRestrictionComponent { individualRestrictionComponent } ')'
dataRestrictionComponent ::= 'allValuesFrom(' dataRange ')'
            | 'someValuesFrom(' dataRange ')'
            | 'value(' dataLiteral ')'
            | cardinality
individualRestrictionComponent ::= 'allValuesFrom(' description ')'
            | 'someValuesFrom(' description ')'
            | 'value(' individualID ')'
            | cardinality 
cardinality ::= 'minCardinality(' non-negative-integer ')'
            | 'maxCardinality(' non-negative-integer ')'
            | 'cardinality(' non-negative-integer ')'

データ値特性の値域として用いられ,OWL DL抽象構文の他の場所で使用されるデータ領域は,データ型であるか,データ値の集合であるかのいずれかとする。


dataRange ::= datatypeID | 'rdfs:Literal'
            | 'oneOf(' { dataLiteral } ')'

特性が,それの制限中にもつことができるメンバ数の構成要素に関してのOWL Liteの限界は,同様にOWL DLにも存在する。

2.3.2.4 OWL DL特性公理

OWL DL抽象構文の特性公理は,クラスの代わりに記述を,領域及び値域のデータ型の代わりにデータ域を使用可能とすることによって,OWL Liteの特性の公理を一般化する。

axiom ::= 'DatatypeProperty(' datavaluedPropertyID ['Deprecated'] { annotation } 
                { 'super(' datavaluedPropertyID ')'} ['Functional']
                { 'domain(' description ')' } { 'range(' dataRange ')' } ')'
        | 'ObjectProperty(' individualvaluedPropertyID ['Deprecated'] { annotation } 
                { 'super(' individualvaluedPropertyID ')' }
                [ 'inverseOf(' individualvaluedPropertyID ')' ] [ 'Symmetric' ] 
                [ 'Functional' | 'InverseFunctional' | 'Functional' 'InverseFunctional' | 'Transitive' ]
                { 'domain(' description ')' } { 'range(' description ')' } ')'
        | 'AnnotationProperty(' annotationPropertyID { annotation } ')'
        | 'OntologyProperty(' ontologyPropertyID { annotation } ')'

特性を関数的又は逆関数的と指定できることについての限界は,同様にOWL DLにも存在する。

OWL Liteの場合と同様に,次の公理は,複数の特性を等価にするか,又はある特性を別の特性の下位特性とする。

axiom ::= 'EquivalentProperties(' datavaluedPropertyID datavaluedPropertyID  { datavaluedPropertyID } ')'
        | 'SubPropertyOf(' datavaluedPropertyID  datavaluedPropertyID ')'
        | 'EquivalentProperties(' individualvaluedPropertyID individualvaluedPropertyID
                                  { individualvaluedPropertyID } ')'
        | 'SubPropertyOf(' individualvaluedPropertyID  individualvaluedPropertyID ')'

3. 直接モデル論的意味論

OWLのこのモデル論的意味論は,OWL DL抽象構文のオントロジ(すなわち,OWL Lite抽象構文を含んでいる)から,直接的に,標準的なモデル理論へ 到達する。5.の意味論は, RDFS意味論よりも単純であり,その語い(彙)拡張とする

3.1 語い(彙)及び解釈

ここでは,意味論を語い(彙)の概念から始める。OWLオントロジを検討する際,語い(彙)は,そのオントロジによって取り込まれるオントロジだけでなく,そのオントロジ内のすべてのURI参照及びリテラルを含まなければならない。しかし,それに加えて,他のURL参照及びリテラルも含めることができる。

3.1では,VOPを,組込みOWLオントロジ特性のURI参照とする。

定義 OWL語い(彙) Vは,リテラルVLの集合及び VC, VD, VI, VDP, VIP, VAP,及びVOの七つのURI参照の集合から構成される。どの語い(彙)においても,VC及びVDは互いに素であり,VDP, VIP, VAP,及びVOPは,対ごとに互いに素とする。語い(彙)のクラス名であるVCは,owl:Thing及びowl:Nothingを含む。語い(彙)のデータ型の名前であるVDは,組込みOWLデータ型のURI参照及びrdfs:Literalを含む。語い(彙)の注記特性の名前であるVAPは,owl:versionInfo, rdfs:label, rdfs:comment, rdfs:seeAlso,及びrdfs:isDefinedByを含む。語い(彙)の個体値特性の名前であるVIP,語い(彙)のデータ値特性の名前であるVDP,語い(彙)の個体の名前であるVI,語い(彙)のオントロジの名前であるVOには,特に必す(須)のメンバをもたない。

定義 RDFの場合と同様に,データ型 dは,Unicode文字列の集合である字句空間L(d),値空間V(d),及び語い(彙)空間から値空間への全域写像L2V(d) によって特徴付けられる。

定義 A データ型写像Dは,URI参照から,xsd:string及びxsd:integerを適切なXMLスキーマデータ型に写像する,データ型への部分写像とする。

データ型写像は,その他の組込みOWLデータ型ためのデータ型を含んでもよい。他のデータ型も含んでもよいが,OWL構文においてこれらのデータ型が何であるかを知らせるための規定は存在しない。

定義 Dをデータ型写像とする。語い(彙)VL, VC, VD, VI, VDP, VIP, VAP, VOをもつDに関する抽象OWL解釈は,I = <R, EC, ER, L, S, LV>という形式の組であり,ここで,(Pをべき集合演算子とすると)各要素は次のとおりとする。

ECは,OWLクラス及びデータ型として使われるURI参照に対する意味を与える。ERは,OWL特性として使われるURI参照に対する意味を与える。特性rdf:typeは,非推奨(deprecation)に対する意味を与えるために注記特性に追加されている。後の記述を参照されたい。Lは,型付きリテラルに対して意味を与える。Sは,OWL個体を示すために使われるURI参照に対して意味を与え,注記に対して意味を与えるのに役立つ。整形式ではないリテラルに課されたすべての要件を満たすことができる解釈は存在しないことに注意されたい。この“整形式でない”とは,1.5^^xsd:integerなど,その字句の形式がデータ型に対して妥当ではないものをいう。

Sは,(本質的に) VL中の型なしリテラルを,それ自体に写像することによって,型なしリテラルに拡張される。すなわち,言語タグを除く型なしリテラルに対して,S("l") = lとし,言語タグを含む型なしリテラルに対して,S("l"@t) = <l,t> とする。Sは,型付きリテラルlに対して,S(l) = L(l)とするような,Lを使って型付きリテラルへ拡張される。

3.2 埋込み構成要素の解釈

ECは,EC 拡張表のとおりに,記述,データ領域,個体,値,及び注記の構文構成要素に拡張される。

EC拡張表
抽象構文 解釈(ECの値)
complementOf(c) O - EC(c)
unionOf(c1 … cn) EC(c1) ∪ … ∪ EC(cn)
intersectionOf(c1 … cn) EC(c1) ∩ … ∩ EC(cn)
oneOf(i1 … in), ijは個体IDとする {S(i1), …, S(in)}
oneOf(v1 … vn), vjはリテラルとする {S(v1), …, S(vn)}
restriction(p x1 … xn), n > 1とする EC(restriction(p x1)) ∩…∩EC(restriction(p xn))
restriction(p allValuesFrom(r)) {x ∈ O | <x,y> ∈ ER(p) implies y ∈ EC(r)}
restriction(p someValuesFrom(e)) {x ∈ O | ∃ <x,y> ∈ ER(p) ∧ y ∈ EC(e)}
restriction(p value(i)), 個体IDであるiに対して {x ∈ O | <x,S(i)> ∈ ER(p)}
restriction(p value(v)), リテラルvに対して {x ∈ O | <x,S(v)> ∈ ER(p)}
restriction(p minCardinality(n)) {x ∈ O | card({y ∈ O∪LV : <x,y> ∈ ER(p)}) n}
restriction(p maxCardinality(n)) {x ∈ O | card({y ∈ O∪LV : <x,y> ∈ ER(p)}) n}
restriction(p cardinality(n)) {x ∈ O | card({y ∈ O∪LV : <x,y> ∈ ER(p)}) = n}
Individual(annotation(p1 o1)annotation(pk ok)

    type(c1)type(cm) pv1 … pvn)
EC(annotation(p1 o1)) ∩ … EC(annotation(pk ok)) ∩

EC(c1) ∩ … ∩ EC(cm) ∩ EC(pv1) ∩…∩ EC(pvn)
Individual(i annotation(p1 o1)annotation(pk ok)

    type(c1)type(cm) pv1 … pvn)
{S(i)} ∩ EC(annotation(p1 o1)) ∩ … EC(annotation(pk ok)) ∩

EC(c1) ∩ … ∩ EC(cm) ∩ EC(pv1) ∩…∩ EC(pvn)
value(p Individual()) {x ∈ O | ∃ y∈EC(Individual()) : <x,y> ∈ ER(p)}
value(p id) , 個体IDであるidに対して {x ∈ O | <x,S(id)> ∈ ER(p) }
value(p v) , リテラルvに対して {x ∈ O | <x,S(v)> ∈ ER(p) }
annotation(p o) , URI参照oに対して {x ∈ R | <x,S(o)> ∈ ER(p) }
annotation(p Individual(…)) {x ∈ R | ∃ y ∈ EC(Individual(…)) : <x,y> ∈ ER(p) }

3.3 公理及び事実の解釈

抽象OWL解釈Iは,公理及び事実の解釈表に示すとおりに,OWL公理及び事実を満たす。この表では,公理及び事実のオプションの部分を角括弧([…])で囲み,それと対応するオプションの条件も角括弧で囲んでいる。

公理及び事実の解釈
指示 解釈における条件
Class(c [Deprecated] complete

    annotation(p1 o1)annotation(pk ok)

    descr1 … descrn)
[ <S(c),S(owl:DeprecatedClass)> ∈ ER(rdf:type) ]

S(c) ∈ EC(annotation(p1 o1)) … S(c) ∈ EC(annotation(pk ok))

EC(c) = EC(descr1) ∩…∩ EC(descrn)
Class(c [Deprecated] partial

    annotation(p1 o1)annotation(pk ok)

    descr1 … descrn)
[ <S(c),S(owl:DeprecatedClass)> ∈ ER(rdf:type) ]

S(c) ∈ EC(annotation(p1 o1)) … S(c) ∈ EC(annotation(pk ok))

EC(c) ⊆ EC(descr1) ∩…∩ EC(descrn)
EnumeratedClass(c [Deprecated]

    annotation(p1 o1)annotation(pk ok)

    i1 … in)
[ <S(c),S(owl:DeprecatedClass)> ∈ ER(rdf:type) ]

S(c) ∈ EC(annotation(p1 o1)) … S(c) ∈ EC(annotation(pk ok))

EC(c) = { S(i1), …, S(in) }
Datatype(c [Deprecated]

    annotation(p1 o1)annotation(pk ok) )
[ <S(c),S(owl:DeprecatedClass)> ∈ ER(rdf:type) ]

S(c) ∈ EC(annotation(p1 o1)) … S(c) ∈ EC(annotation(pk ok))

EC(c) ⊆ LV
DisjointClasses(d1 … dn) EC(di) ∩ EC(dj) = { } for 1 i < j n
EquivalentClasses(d1 … dn) EC(di) = EC(dj) for 1 i < j n
SubClassOf(d1 d2) EC(d1) ⊆ EC(d2)
DatatypeProperty(p [Deprecated]

    annotation(p1 o1)annotation(pk ok)

    super(s1)super(sn)

    domain(d1)domain(dn) range(r1)range(rn)

    [Functional])
[ <S(c),S(owl:DeprecatedProperty)> ∈ ER(rdf:type) ]

S(p) ∈ EC(annotation(p1 o1)) … S(p) ∈ EC(annotation(pk ok))

ER(p) ⊆ O×LV ∩ ER(s1) ∩…∩ ER(sn) ∩

       EC(d1)×LV ∩…∩ EC(dn)×LV ∩ O×EC(r1) ∩…∩ O×EC(rn)

[ER(p)は関数的である]
ObjectProperty(p [Deprecated]

    annotation(p1 o1)annotation(pk ok)

    super(s1)super(sn)

    domain(d1)domain(dn) range(r1)range(rn)

    [inverse(i)] [Symmetric]

    [Functional] [ InverseFunctional]

    [Transitive])
[ <S(c),S(owl:DeprecatedProperty)> ∈ ER(rdf:type)]

S(p) ∈ EC(annotation(p1 o1)) … S(p) ∈ EC(annotation(pk ok))

ER(p) ⊆ O×O ∩ ER(s1) ∩…∩ ER(sn) ∩

        EC(d1O ∩…∩ EC(dnOO×EC(r1) ∩…∩ O×EC(rn)

[ER(p)はER(i)の逆となる] [ER(p)は対称的である]
[ER(p)は関数的である] [ER(p)は逆関数的である]
[ER(p)は推移的である]
AnnotationProperty(p annotation(p1 o1)annotation(pk ok)) S(p) ∈ EC(annotation(p1 o1)) … S(p) ∈ EC(annotation(pk ok))
OntologyProperty(p annotation(p1 o1)annotation(pk ok)) S(p) ∈ EC(annotation(p1 o1)) … S(p) ∈ EC(annotation(pk ok))
EquivalentProperties(p1 … pn) ER(pi) = ER(pj) for 1 i < j n
SubPropertyOf(p1 p2) ER(p1) ⊆ ER(p2)
SameIndividual(i1 … in) S(ij) = S(ik) for 1 j < k n
DifferentIndividuals(i1 … in) S(ij) ≠ S(ik) for 1 j < k n
Individual([i] annotation(p1 o1)annotation(pk ok)

   type(c1)type(cm) pv1 … pvn)
EC(Individual([i] annotation(p1 o1)annotation(pk ok)

   type(c1)type(cm) pv1 … pvn)) is nonempty

3.4 オントロジの解釈

2.により, OWLオントロジは,注記をもつことができ,注記はそれら自体の意味論条件を必要とする。この局所的な意味を除けば, owl:imports注記も別のOWLオントロジの内容を現在のオントロジに取り込む。取り込まれたオントロジは,それがあるなら,名前として取込み構成要素の引数をもつオントロジとする。この取込みの取扱いは,ウェブでのものとは異なっている。このOWLオントロジの名前の使用は,名前をウェブ上のオントロジの場所とすることを意図しているが,これはこの正式な取扱いの範囲外とする。

定義 Dをデータ型写像とする。 次の場合,及びその場合に限り,VL, VC, VD, VI, VDP, VIP, VAP, VOから構成される語い(彙)をもつDに関して,抽象OWL解釈Iは,OWLオントロジOを 充足する

  1. クラス ID(データ型 ID,個体 ID,データ値特性 ID,個体値特性 ID,注記特性 ID,注記 ID,オントロジ ID)として使われるOの各URI参照が,VC(それぞれ,VD, VI, VDP, VIP, VAP, VO)に属する場合
  2. O中の各リテラルがVLに属する場合;
  3. オントロジ注記を除き,IがOの各指示を充足する場合;
  4. Annotation(p v)という形式の各Oオントロジ注記に対して,<o,S(v)> ∈ ER(p)であり,かつ,Oが名前nをもつなら,S(n) = oとなるような,<o,S(owl:Ontorogy)> ∈ ER(rdf:type) を伴う,何らかのo ∈ R with が存在する場合; 及び
  5. Iが,Oのowl:imports注記指示で言及している各オントロジを充足する場合

定義 抽象OWLのオントロジ,公理及び事実集まりは, 集まりの中の各オントロジ,公理及び事実を充足するデータ型写像D に関して,何らかの解釈Iが存在する場合,及びその場合に限り,IはDに関して無矛盾とする。

定義 抽象OWLのオントロジ,公理及び事実の集まりOの各オントロジ,公理及び事実を充足するデータ型写像Dに関する各解釈が,抽象OWLオントロジ,公理又は事実O'も充足する場合,写像Dに関して,集まりOは,O' 論理的帰結とする(伴意する)

4. RDFグラフへの写像

4.では,2.で記述したOWL DL及びOWL Liteの抽象構文から,OWLの交換構文,すなわち,RDF/XML [RDF Syntax]への写像を与える。この写像及びその逆写像は,抽象構文と交換構文との間の規定の関係を与える。5.及び附属書A.1では,この写像がOWL DLオントロジの意味を保存することを示している。4.2では,抽象構文オントロジからの写像の結果であるRDFグラフとして,OWLのOWL DL及びOWL Lite方言を定義する。

OWLの交換構文は,RDF/XML [RDF Syntax]であり,これは,OWL 機能一覧(TS X 7253) [OWL Reference]で規定されている。さらに,RDF/XMLのOWLオントロジの意味は,RDF/XML規定のRDF構文解析の結果であるRDFグラフ [RDF Concepts]だけから決定される。したがって,抽象構文形式のOWLオントロジを交換構文に翻訳するには,それぞれの指示を三つ組の集まりに変換するのも一つの方法である。OWL Liteの構成要素はすべて,完全抽象構文の構成要素の特殊例であるため,OWL DL版にだけ変換を与えるものとする。

OWL DLは,RDFグラフの部分集合から構成される抽象構文及び具象構文全体にわたって 定義される意味論をもつ。そのため,特定の抽象構文オントロジを,特定のRDF/XML文書及びそれらに対応するグラフに関連付ける必要がある。4.は,抽象構文オントロジとRDFグラフとの間の多対多関係を定義する。これを行うために,非決定的な写像規則の集合を使う。すなわち,意味論を特定のRDFグラフに適用するために,写像規則に従って,そのグラフと対応する抽象構文オントロジの一つを見出し,意味論をその抽象オントロジに適用する必要がある。写像は,特定のRDFグラフに対応する抽象オントロジがどれも同じ意味をもつのばかりでなく,特定の抽象構文に対応するRDFグラフがどれも同じ意味をもつように設計されている。さらに,対応する抽象構文の形式をもたないRDFグラフにこの処理を適用することはできないので,写像規則は,RDF/XMLでOWL DLを構文的に特徴付けるグラフの集合を暗黙に定義する。

ここで使う三つ組の構文は,RDF意味論[RDF Semantics]で使うものとする。この変化形では,修飾名を使用することができる。RDF意味論で詳細に記述するとおり,この構文を標準的な構文に変換するには,標準OWL名前空間を使用して,名前空間名を局所名に連接することによって,RDFの標準的な方法で,修飾名をURI参照に拡張すればよい。

4.1 RDFグラフの翻訳

変換表は,抽象構文をOWL交換構文に変換する変換規則を与える。幾つかのケース,特に,DifferentIndividuals構成要素については,異なる変換規則が存在する。これらのケースでは,いずれかの規則を選択することができ,その結果,非決定的な変換となる。他の幾つかのケース,特に,クラス公理及び特性公理については,生成されてもされることも生成されないこともある三つ組が存在する。これらの三つ組は,[opt]のフラグをつけることによって示される。二つのケースでは,二つの三つ組のうち,一つを生成しなければならないこともある。これは,三つ組をORで分けることによって示される。これらの非決定性によって,さらに多くのRDFを生成することが可能となる。

の左列は,抽象構文(S)の1要素とする。中央の列は,その三つ組への変換を表す(T(S))。右列は,変換の主ノードに対する識別子(M(T(S)))を表し,指示の一部として出現できる構文上の構成要素に対するものとする。構成要素の繰返しは,description1 … descriptionnなど,省略記号(…)を使って列挙する。この形式によって,構文で使用できるnのすべての値について,変換を簡単に規定することができる。抽象構文のオプションの部分(角括弧で囲まれる)は,変換のオプション部分(角括弧で示す)となる。さらに,組込みOWLデータ型組込みOWLクラス組込みOWL注記特性,及び 組込みOWLオントロジ特性のいずれについても,その変換の最初のrdf:type三つ組,又はそのあらゆる公理がオプションとする。

表には,指示に対する変換もあれば,指示文の一部に対する変換もある。最後の変換は,列に関するものであり,それ自体は抽象構文の一部ではない。この最後の変換は,他の幾つかの変換をさらに簡潔にし,読み易くするために使う。

多くの指示に対しては,これらの変換規則は,その指示の構成要素の他の変換規則を使った変換を呼び出す。構成要素の変換が,三つ組(オプションの三つ組でもよい)の主語,述語,又は目的語として使われるときには,その構成要素の変換は生成規則の一部であり (が,生成規則ごとに一回だけ),その変換の主ノードは三つ組の中で使用されるのが望ましい。

ここでのbノード識別子は,各変換に対して局所として考えられなければならない。すなわち,変換規則のそれぞれ呼出しには,異なる識別子を使用するのが望ましい。名前をもたないオントロジには,それらの主ノードとしてbノードを与える。名前をもつオントロジは,その名前を主ノードとして使う。いずれの場合も,このノードは,次の表ではOで表される。

三つ組への変換
抽象構文及びシーケンス - S 変換 - T(S) 主ノード - M(T(S))
Ontology(O directive1 … directiven) O rdf:type owl:Ontology .

T(directive1) … T(directiven)
Ontology(directive1 … directiven) O rdf:type owl:Ontology .

T(directive1) … T(directiven)
Annotation(ontologyPropertyID URIreference) ontologyPropertyID rdf:type owl:OntologyProperty .

O ontologyPropertyID URIreference .

URIreferencerdf:type owl:Ontology .
Annotation(annotationPropertyID URIreference) annotationPropertyID rdf:type owl:AnnotationProperty .

annotationPropertyID rdf:type rdf:Property . [opt]

O annotationPropertyID URIreference .
Annotation(annotationPropertyID dataLiteral) annotationPropertyID rdf:type owl:AnnotationProperty .

annotationPropertyID rdf:type rdf:Property . [opt]

O annotationPropertyID T(dataLiteral) .
Annotation(annotationPropertyID individual) annotationPropertyID rdf:type owl:AnnotationProperty .

annotationPropertyID rdf:type rdf:Property . [opt]

O annotationPropertyID T(individual) .
rdfs:Literal rdfs:Literal
datatypeID datatypeID rdf:type rdfs:Datatype . datatypeID
classID classID rdf:type owl:Class .

classID rdf:type rdfs:Class . [opt]
classID
individualID individualID
datavaluedPropertyID datavaluedPropertyID rdf:type owl:DatatypeProperty .

datavaluedPropertyID rdf:type rdf:Property . [opt]
datavalued-

PropertyID
individualvaluedPropertyID individualvaluedPropertyID rdf:type owl:ObjectProperty . [individualvaluedPropertyIDをowl:InverseFunctionalProperty, owl:TransitiveProperty,又はowl:SymmetricPropertyとして型付けするオントロジの変換中に三つ組が存在するなら,opt]

individualvaluedPropertyID rdf:type rdf:Property . [opt]
individualvalued-

PropertyID
dataLiteral dataLiteral dataLiteral
Individual(iID annotation1 … annotationm

      type(type1)type(typen)

      value(pID1 v1)value(pIDk vk))
iID T(annotation1) … iID T(annotationm)

iID rdf:type T(type1) . … iID rdf:type T(typen) .

iID T(pID1) T(v1) . … iID T(pIDk) T(vk) .
iID
Individual(annotation1 … annotationm

      type(type1)type(typen)

      value(pID1 v1)value(pIDk vk))

( 少なくとも一つの型をもつ)
_:x T(annotation1) … _:x T(annotationm)

_:x rdf:type T(type1) . … _:x rdf:type T(typen) .

_:x T(pID1) T(v1) . … _:x T(pIDk) T(vk) .
_:x
Individual(annotation1 … annotationm

      value(pID1 v1)value(pIDk vk))
_:x T(annotation1) … _:x T(annotationm)

_:x rdf:type owl:Thing .

_:x T(pID1) T(v1) . … _:x T(pIDk) T(vk) .
_:x
SameIndividual(iID1 … iIDn) iIDi owl:sameAs iIDi+1 . 1i<n

iIDi owl:sameAs iIDj . [opt] 1i≠jn
DifferentIndividuals(iID1 … iIDn) iIDi owl:differentFrom iIDj . OR

iIDj owl:differentFrom iIDi . 1i<jn

iIDj owl:differentFrom iIDi . [opt] 1i≠jn
DifferentIndividuals(iID1 … iIDn) _:x rdf:type owl:AllDifferent .

_:x owl:distinctMembers T(SEQ iID1 … iIDn) .
Class(classID [Deprecated] partial

      annotation1 … annotationm

      description1 … descriptionn)
classID rdf:type owl:Class .

classID rdf:type rdfs:Class . [opt]

[classID rdf:type owl:DeprecatedClass .]

classID T(annotation1) … classID T(annotationm)

classID rdfs:subClassOf T(description1) . …

classID rdfs:subClassOf T(descriptionn) .
Class(classID [Deprecated] complete

      annotation1 … annotationm

      description1 … descriptionn)
classID rdf:type owl:Class .

classID rdf:type rdfs:Class . [opt]

[classID rdf:type owl:DeprecatedClass .]

classID T(annotation1) … classID T(annotationm)

classID owl:intersectionOf T(SEQ description1…descriptionn) .
Class(classID [Deprecated] complete

      annotation1 … annotationm

      description)
classID rdf:type owl:Class .

classID rdf:type rdfs:Class . [opt]

[classID rdf:type owl:DeprecatedClass .]

classID T(annotation1) … classID T(annotationm)

classID owl:equivalentClass T(description) .

Class(classID [Deprecated] complete

      annotation1 … annotationm

      unionOf(description1 … descriptionn))
classID rdf:type owl:Class .

classID rdf:type rdfs:Class . [opt]

[classID rdf:type owl:DeprecatedClass .]

classID T(annotation1) … classID T(annotationm)

classID owl:unionOf T(SEQ description1…descriptionn) .
Class(classID [Deprecated] complete

      annotation1 … annotationm

      complementOf(description))
classID rdf:type owl:Class .

classID rdf:type rdfs:Class . [opt]

[classID rdf:type owl:DeprecatedClass .]

classID T(annotation1) … classID T(annotationm)

classID owl:complementOf T(description) .
EnumeratedClass(classID [Deprecated]

      annotation1 … annotationm

      iID1 … iIDn)
classID rdf:type owl:Class .

classID rdf:type rdfs:Class . [opt]

[classID rdf:type owl:DeprecatedClass .]

classID T(annotation1) … classID T(annotationm) .

classID owl:oneOf T(SEQ iID1…iIDn) .
DisjointClasses(description1 … descriptionn) T(descriptioni) owl:disjointWith T(descriptionj) . OR

T(descriptionj) owl:disjointWith T(descriptioni) . 1i<jn

T(descriptioni) owl:disjointWith T(descriptionj) . [opt] 1i≠jn
EquivalentClasses(description1 … descriptionn) T(descriptioni) owl:equivalentClass T(descriptionj) .

Gのすべての<i,j>に対して。ここで,Gは,無向グラフとして解釈したときに,{1,...,n}の連結グラフを形成するような {1,...,n}x{1,...,n}上の対の集合とする。
SubClassOf(description1 description2) T(description1) rdfs:subClassOf T(description2) .
Datatype(datatypeID [Deprecated]

      annotation1 … annotationm )
datatypeID rdf:type rdfs:Datatype .

datatypeID rdf:type rdfs:Class . [opt]

[datatypeID rdf:type owl:DeprecatedClass .]

datatypeID T(annotation1) … datatypeID T(annotationm)
unionOf(description1 … descriptionn) _:x rdf:type owl:Class .

_:x rdf:type rdfs:Class . [opt]

_:x owl:unionOf T(SEQ description1…descriptionn) .
_:x
intersectionOf(description1 … descriptionn) _:x rdf:type owl:Class .

_:x rdf:type rdfs:Class . [opt]

_:x owl:intersectionOf T(SEQ description1…descriptionn) .
_:x
complementOf(description) _:x rdf:type owl:Class .

_:x rdf:type rdfs:Class . [opt]

_:x owl:complementOf T(description) .
_:x
oneOf(iID1 … iIDn) _:x rdf:type owl:Class .

_:x rdf:type rdfs:Class . [opt]

_:x owl:oneOf T(SEQ iID1…iIDn) .
_:x
oneOf(v1 … vn) _:x rdf:type owl:DataRange .

_:x rdf:type rdfs:Class . [opt]

_:x owl:oneOf T(SEQ v1 … vn) .
_:x
restriction(ID component1 … componentn)

( 少なくとも二つの構成要素をもつ)
_:x rdf:type owl:Class .

_:x rdf:type rdfs:Class . [opt]

_:x owl:intersectionOf

  T(SEQ(restriction(ID component1) … restriction(ID componentn))) .
_:x
restriction(ID allValuesFrom(range)) _:x rdf:type owl:Restriction .

_:x rdf:type owl:Class . [opt]

_:x rdf:type rdfs:Class . [opt]

_:x owl:onProperty T(ID) .

_:x owl:allValuesFrom T(range) .
_:x
restriction(ID someValuesFrom(required)) _:x rdf:type owl:Restriction .

_:x rdf:type owl:Class . [opt]

_:x rdf:type rdfs:Class . [opt]

_:x owl:onProperty T(ID) .

_:x owl:someValuesFrom T(required) .
_:x
restriction(ID value(value)) _:x rdf:type owl:Restriction .

_:x rdf:type owl:Class . [opt]

_:x rdf:type rdfs:Class . [opt]

_:x owl:onProperty T(ID) .

_:x owl:hasValue T(value) .
_:x
restriction(ID minCardinality(min)) _:x rdf:type owl:Restriction .

_:x rdf:type owl:Class . [opt]

_:x rdf:type rdfs:Class . [opt]

_:x owl:onProperty T(ID) .

_:x owl:minCardinality "min"^^xsd:nonNegativeInteger .
_:x
restriction(ID maxCardinality(max)) _:x rdf:type owl:Restriction .

_:x rdf:type owl:Class . [opt]

_:x rdf:type rdfs:Class . [opt]

_:x owl:onProperty T(ID) .

_:x owl:maxCardinality "max"^^xsd:nonNegativeInteger .
_:x
restriction(ID cardinality(card)) _:x rdf:type owl:Restriction .

_:x rdf:type owl:Class . [opt]

_:x rdf:type rdfs:Class . [opt]

_:x owl:onProperty T(ID) .

_:x owl:cardinality "card"^^xsd:nonNegativeInteger .
_:x
DatatypeProperty(ID [Deprecated]

      annotation1 … annotationm

      super(super1)super(supern)

      domain(domain1)

      domain(domaink)

      range(range1)

      range(rangeh)

      [Functional])
ID rdf:type owl:DatatypeProperty .

ID rdf:type rdf:Property . [opt]

[ID rdf:type owl:DeprecatedProperty .]

ID T(annotation1) … ID T(annotationm)

ID rdfs:subPropertyOf T(super1) . …

ID rdfs:subPropertyOf T(supern) .

ID rdfs:domainT(domain1) . …

ID rdfs:domainT(domaink) .

ID rdfs:range T(range1) . …

ID rdfs:range T(rangeh) .

[ID rdf:type owl:FunctionalProperty . ]
ObjectProperty(ID [Deprecated]

      annotation1 … annotationm

      super(super1)super(supern)

      domain(domain1)

      domain(domaink)

      range(range1)

      range(rangeh)

      [inverseOf(inverse)]

      [Functional |

       InverseFunctional |

       Transitive])

      [Symmetric]
ID rdf:type owl:ObjectProperty .

    [ 最後の三つの三つ組のうち,一つが含まれているならば,opt]

ID rdf:type rdf:Property . [opt]

[ID rdf:type owl:DeprecatedProperty .]

ID T(annotation1) … ID T(annotationm)

ID rdfs:subPropertyOf T(super1) . …

ID rdfs:subPropertyOf T(supern) .

ID rdfs:domainT(domain1) . …

ID rdfs:domainT(domaink) .

ID rdfs:range T(range1) . …

ID rdfs:range T(rangeh) .

[ID owl:inverseOf T(inverse) .]

[ID rdf:type owl:FunctionalProperty . ]

[ID rdf:type owl:InverseFunctionalProperty . ]

[ID rdf:type owl:TransitiveProperty . ]

[ID rdf:type owl:SymmetricProperty . ]
AnnotationProperty(ID

      annotation1 … annotationm)
ID rdf:type owl:AnnotationProperty .

ID rdf:type rdf:Property . [opt]

ID T(annotation1) … ID T(annotationm)
OntologyProperty(ID

      annotation1 … annotationm)
ID rdf:type owl:OntologyProperty .

ID rdf:type rdf:Property . [opt]

ID T(annotation1) … ID T(annotationm)
EquivalentProperties(dvpID1 … dvpIDn) T(dvpIDi) owl:equivalentProperty T(dvpIDi+1) . 1i<n
SubPropertyOf(dvpID1 dvpID2) T(dvpID1) rdfs:subPropertyOf T(dvpID2) .
EquivalentProperties(ivpID1 … ivpIDn) T(ivpIDi) owl:equivalentProperty T(ivpIDi+1) . 1i<n
SubPropertyOf(ivpID1 ivpID2) T(ivpID1) rdfs:subPropertyOf T(ivpID2) .
annotation(annotationPropertyID URIreference) annotationPropertyID URIreference .

annotationPropertyID rdf:type owl:AnnotationProperty .

annotationPropertyID rdf:type rdf:Property . [opt]
annotation(annotationPropertyID dataLiteral) annotationPropertyID T(dataLiteral) .

annotationPropertyID rdf:type owl:AnnotationProperty .

annotationPropertyID rdf:type rdf:Property . [opt]
annotation(annotationPropertyID individual) annotationPropertyID T(individual) .

annotationPropertyID rdf:type owl:AnnotationProperty .

annotationPropertyID rdf:type rdf:Property . [opt]
SEQ rdf:nil
SEQ item1…itemn _:l1 rdf:type rdf:List . [opt]

_:l1 rdf:first T(item1) . _:l1 rdf:rest _:l2 .



_:ln rdf:type rdf:List . [opt]

_:ln rdf:first T(itemn) . _:ln rdf:rest rdf:nil .
_:l1

前述の予約語い(彙)を使用しない複数のOWL抽象オントロジが,同等のRDFグラフに写像できるため,この変換は単射ではない。しかし,これが起こり得る唯一のケースは,複数のDisjointClass公理が,一つだけ大きなそれと同じ効果をもつといったように,複数の構成要素が同じ意味をもつ場合である。もし,そうしたいのであれば,正準逆変換を定義することも可能である。

4.2 RDFグラフ形式でのOWL DL及びOWL Liteオントロジの定義

RDFグラフの形式でOWL Lite及びDLオントロジを検討する場合,OWLのクラス,特性又は個体として,ある語い(彙)を使用してはならないことに注意を払わなければならない。この注意を払わない場合,(RDF又はOWL規定における) この語い(彙)の組込み定義,又は使用は,OWLオントロジにおける情報を増大させることに なってしまう。この分類に適応するRDF語い(彙)は少ない。これは,rdf:subjectなどの幾つかのRDF語い(彙)がRDF規定によって意味をほとんど提供されないか,又は全く提供されないためであり,RDF規定が提供するあらゆる意味に一致すれば問題を起こさないからである。

定義 使用してはならないRDFからの語い(彙)は,rdf:type, rdf:Property, rdf:nil, rdf:List, rdf:first, rdf:rest, rdfs:domain, rdfs:range, rdfs:Resource, rdfs:Datatype, rdfs:Class, rdfs:subClassOf, rdfs:subPropertyOf, rdfs:member, rdfs:Container及び rdfs:ContainerMembershipPropertyとする。 OWLからの使用不能な語い(彙)owl:AllDifferent, owl:allValuesFrom, owl:AnnotationProperty, owl:cardinality, owl:Class, owl:complementOf, owl:DataRange, owl:DatatypeProperty, owl:DeprecatedClass, owl:DeprecatedProperty, owl:differentFrom, owl:disjointWith, owl:distinctMembers, owl:equivalentClass, owl:equivalentProperty, owl:FunctionalProperty, owl:hasValue, owl:intersectionOf, owl:InverseFunctionalProperty, owl:inverseOf, owl:maxCardinality, owl:minCardinality, owl:ObjectProperty, owl:oneOf, owl:onProperty, owl:Ontology, owl:OntologyProperty, owl:Restriction, owl:sameAs, owl:someValuesFrom, owl:SymmetricProperty, owl:TransitiveProperty, 及びowl:unionOfとする。 使用不能な語い(彙)とは,RDFからの使用不能な語い(彙)OWLからの使用不能な語い(彙)との 集合和とする。

定義 クラス固有の語い(彙)は,rdf:Statement, rdf:Seq, rdf:Bag,及びrdf:Altとする。 データ型固有の語い(彙)は,組込みOWLデータ型とする。 特性固有の語い(彙)は,rdf:subject, rdf:predicate, rdf:object, 及びすべてのコンテナの所属関係特性,すなわち,rdf:_1, rdf:_2, …とする。

定義 抽象構文形式におけるOWL DLオントロジと公理及び事実の集まりOは,次の場合には,分離された語い(彙)をもつ。

  1. O中の複数のオントロジが,全体として,二つ以上のクラスID,データ型ID,個体ID,個体値特性ID,データ値特性ID,注記特性ID,オントロジ特性ID,又はオントロジIDとして,いかなるURI参照も使わない場合
  2. O中の複数のオントロジが,全体として,すべての個体IDに型を与える場合
  3. O中のオントロジが,注記の値を除き,クラスIDとして クラス固有の語い(彙)だけを,データ型IDとして データ型固有の語い(彙)だけを,データ域ではrdfs:Literalだけを使用し,datavaluedPropertyID,individualvaluedProperty ID,又はannotationProperty IDとして 特性固有の語い(彙)だけを,クラスIDとして組込みクラスだけを,データ型IDとして,組込みデータ型だけを,annotationProperty IDとして 組込み注記特性だけを,ontologyProperty IDとして 組込みオントロジ特性だけを使い,いかなる使用不能な語い(彙)にも言及しない場合

定義 RDFグラフが,分離された語い(彙)をもつ抽象構文形式において,OWL DLオントロジ,公理及び事実の集まりの上の三つ組への変換の結果と等価となる(これをもう少し緩めることは後述する)ならば,そのRDFグラフは,RDFグラフ形式のOWL DLオントロジとする。RDFグラフがRDFグラフ形式のOWL DLオントロジであるかどうかを決定するという 目的のために,メンバ数制限において,符号化されたデータ値が非負整数である範囲で,"1"^^xsd:integerというような構成を明示的に使用できる。

定義 Oの内容が,抽象構文形式のOWL Liteオントロジ,公理又は事実である場合を除いて,上述のとおりであるならば,RDFグラフはRDFグラフ形式のOWL Liteオントロジとする。

5. RDFに互換なモデル論的意味論

このOWLのモデル論的意味論は,RDF意味論[RDF Semantics]で定義された意味論の拡張であり,RDFのOWL 意味論の拡張を定義する。

備考 5.で定義されるOWL DLの意味論と,3.で定義される直接モデル論的意味論との対応は際立っている。5.4の定理1及び定理2を参照されたい。しかし,これら二つの形式の間で,何らかの競合が生じた場合は,直接モデル論的意味論が優先する。

5.1 OWL及びRDFの世界

OWL語い(彙)のすべては,“OWL世界”で定義されている。これは,RDF世界の一部を,OWL個体,OWLクラス及びOWL特性の三つに分割したものとする。owl:Thingのクラス拡張は,OWL世界の個体を構成する。owl:Classのクラス拡張は,OWL世界のクラスを構成する。owl:ObjectProperty, owl:DatatypeProperty, owl:AnnotationProperty,及び owl:OntologyPropertyのクラス拡張の合併集合は,OWL世界の特性を構成する。

OWLの使用には,二つの異なるスタイルが存在する。OWL Fullと呼ばれる,より束縛のないスタイルでは,OWL世界の三つの部分は,それらのRDFの対応部分,すなわちrdfs:Resource, rdfs:Class,及びrdf:Propertyのクラス拡張で識別される。OWL Fullでは,RDFの場合と同様に,OWL世界の要素は個体にもクラスにもなることが可能であり,実際には,個体,クラス及び特性のいずれにもなることが可能である。OWL DLと呼ばれるより制限のあるスタイルでは,三つの部分は,RDFの対応部分とは異なり,その上,対で互いに素となる。より制限のあるOWL DLスタイルは,ある種の表現力は欠如しているが,代わりに,論理的帰結の決定可能性は高い。OWLの両方のスタイルは,DAML+OILモデル論的意味論のRDF意味論への単純な変換には欠落している論理的帰結を提供する。

二つのスタイルの主な相違点は,実質的には,URI参照が実際にOWL世界の適切な部分に確実に存在することを必す(須)とするかどうかにある。OWL Fullでは,これに注意を払う必要はない。 OWL DLでは,使用されるURI参照の多くに局所化した情報を提供しなければならない。これらの局所化の仮定は,OWL Fullではそれほど重要ではなく,OWL DLに厳密に対応するOWL抽象構文を使用する際に,無視することもできる。しかし,OWL DLを三つ組で書き込む場合は,語い(彙)のどの要素がOWL世界のどの部分に属するかに細心の注意を払わなければならない。

5.1の全体を通して,OWL語い(彙)は,組込みクラス組込み注記特性,及び 組込みオントロジ特性とともに, OWLの使用不能な語い(彙)となる。

5.2 OWL 解釈

OWL DL及びOWL Fullの意味論は非常に似ている。そのため,それらの意味論の共通部分をはじめに解説し,その後,相違点を記述する。

D解釈は,RDF意味論で詳細を解説しているとおり,複数の他の条件を満たさなければならない。例えば,EXTI(SI(rdfs:subClassOf))は,推移的な関係でなければならず,すべてのデータ型のクラス拡張は,LVIの部分集合でなければならない。

定義 Drdf:XMLLiteralxsd:integer及びxsd:stringのデータ型を取り込むデータ型対応付けとする。語い(彙)VのOWL 解釈,I = < RI, PI, EXTI, SI, LI, LVI >は,VがRDF及びRDFS語い(彙)並びにOWL語い(彙)を取り込む場合,5.2のすべての制約を満たすVのD解釈となる。

備考 抽象構文の記述を構成するOWL語い(彙)の要素は,他の意味論上の関係に対応するOWL語い(彙)の要素とは取り扱いが異なる。前者は,only-if意味論条件及び包括原理をもつが,後者は,if-and-only-if意味論条件をもつ。前者のonly-if意味論条件は,意味論の矛盾及びその他の意味論に関する問題を避けるために必要とされる。前者に対する包括原理及び後者に対するif-and-only-if意味論条件は,有益な論理的帰結が妥当であるために必要とされる。

OWL世界の一部及び構文上の分類に関する条件

条件E 結果 備考
SI(E)∈ CEXTI(SI(E))= かつ
owl:Class CIIOCIOC⊆CI これはIOCをOWLクラスの集合として定義している。
rdfs:Datatype IDCIDC⊆CI これはIDCをOWLデータ型の集合として定義している。
owl:RestrictionCIIORIOR⊆IOC これはIORをOWL制限の集合として定義している。
owl:Thing IOCIOT IOT⊆RI and IOT ≠ これはIOTをOWL個体の集合として定義している。
owl:Nothing IOC{}
rdfs:Literal IDCLVILVI⊆RI
owl:ObjectProperty CIIOOPIOOP⊆PI これはIOOPをOWL個体値特性の集合として定義している。
owl:DatatypeProperty CIIODPIODP⊆PI これはIODPをOWLデータ型特性の集合として定義している。
owl:AnnotationProperty CIIOAPIOAP⊆PI これはIOAPをOWL注記特性の集合として定義している。
owl:OntologyProperty CIIOXPIOXP⊆PI これはIOXPをOWLオントロジ特性の集合として定義している。
owl:Ontology CIIX これはIXをOWLオントロジの集合として定義している。
owl:AllDifferent CIIAD
rdf:List ILIL⊆RI これはILをOWLリストの集合として定義している。
rdf:nilIL
"l"^^d CEXTI(SI(d)) SI("l"^^d) ∈ LVI 型付きリテラルはOWLでは正常に動作する。

OWL組込み構文クラス及び特性

I(owl:FunctionalProperty), I(owl:InverseFunctionalProperty), I(owl:SymmetricProperty), I(owl:TransitiveProperty), I(owl:DeprecatedClass),及びI(owl:DeprecatedProperty)は,CIに属する。

I(owl:equivalentClass), I(owl:disjointWith), I(owl:equivalentProperty), I(owl:inverseOf), I(owl:sameAs), I(owl:differentFrom), I(owl:complementOf), I(owl:unionOf), I(owl:intersectionOf), I(owl:oneOf), I(owl:allValuesFrom), I(owl:onProperty), I(owl:someValuesFrom), I(owl:hasValue), I(owl:minCardinality), I(owl:maxCardinality), I(owl:cardinality), 及びI(owl:distinctMembers)はすべてPIに属する。

I(owl:versionInfo), I(rdfs:label), I(rdfs:comment), I(rdfs:seeAlso),及びI(rdfs:isDefinedBy)はすべてIOAPに属する。I(owl:imports), I(owl:priorVersion), I(owl:backwardCompatibleWith), 及びI(owl:incompatibleWith)はすべてIOXPに属する。

OWLクラス,データ型及び特性の特徴

条件E 追加条件e∈CEXTI(SI(E)) 結果 備考
owl:ClassCEXTI(e)⊆IOT OWLクラスのインスタンスはOWL個体である
rdfs:DatatypeCEXTI(e)⊆LVI
owl:DataRange CEXTI(e)⊆LVI OWLデータ域は特殊なデータ型とする。
owl:ObjectPropertyEXTI(e)⊆IOT×IOT 個体値特性の値は OWL個体とする。
owl:DatatypePropertyEXTI(e)⊆IOT×LVI データ型特性の値はリテラル値とする。
owl:AnnotationPropertyEXTI(e)⊆IOT×(IOT∪LVI) 注記特性の値は若干の制約を受ける。
owl:OntologyPropertyEXTI(e)⊆IX×IX オントロジ特性はオントロジを他のオントロジに関連付ける。
条件E 結果 c∈CEXTI(SI(E))if-and-only-if条件c∈IOOP∪IODP かつ 備考
owl:FunctionalProperty <x,y1>, <x,y2> ∈ EXTI(c) はy1 = y2を意味する 個体値特性もデータ型特性も関数特性となり得る。
条件E 結果c∈CEXTI(SI(E))if-and-only-ifの条件c∈IOOPかつ 備考
owl:InverseFunctionalProperty <x1,y>, <x2,y>∈EXTI(c) は x1 = x2を意味する 逆関数特性となり得るのは個体値特性だけとする。
owl:SymmetricProperty <x,y> ∈ EXTI(c) は<y, x>∈EXTI(c)を意味する 対称特性となり得るのは個体値特性だけとする。
owl:TransitiveProperty <x,y>, <y,z>∈EXTI(c) は<x,z>∈EXTI(c)を意味する 推移特性となり得るのは個体値特性だけとする。

rdfs:subClassOf, rdfs:subPropertyOf, rdfs:domain, 及び rdfs:range のif-and-only-if条件

条件E 結果 <x,y>∈EXTI(SI(E))のif-and-only-if条件
rdfs:subClassOf x,y∈IOC CEXTI(x) ⊆ CEXTI(y)
rdfs:subPropertyOf x,y∈IOOP EXTI(x) ⊆ EXTI(y)
rdfs:subPropertyOf x,y∈IODP EXTI(x) ⊆ EXTI(y)
rdfs:domain x∈IOOP∪IODP,y∈IOC <z,w>∈EXTI(x) はz∈CEXTI(y)を意味する
rdfs:range x∈IOOP∪IODP,y∈IOC∪IDC <w,z>∈EXTI(x) はz∈CEXTI(y)を意味する

等価性に関連付けされるOWL語い(彙)の特徴

条件E 結果<x,y>∈EXTI(SI(E))のif-and-only-if条件
owl:equivalentClass x,y∈IOC かつ CEXTI(x)=CEXTI(y)
owl:disjointWith x,y∈IOC かつ CEXTI(x)∩CEXTI(y)={}
owl:equivalentProperty x,y∈IOOP∪IODP かつ EXTI(x) = EXTI(y)
owl:inverseOf x,y∈IOOP及び<u,v>∈EXTI(x)のif-and-only-if条件は<v,u>∈EXTI(y)である
owl:sameAs x = y
owl:differentFrom x ≠ y

ブール結合及び集合に関連付けされるOWL語い(彙)の条件

n=0 かつ l1=SI(rdf:nil)又はn>0 かつ l1∈IL かつ ∃l2, …, ln ∈ILである場合,l1は,Cにおいてはy1,…,ynのシーケンスとなり,その逆も成立するといえる。この同値の例を次に示す。

<l1,y1>∈EXTI(SI(rdf:first)), y1∈C, <l1,l2>∈EXTI(SI(rdf:rest)), …,

<ln,yn>∈EXTI(SI(rdf:first)), yn∈C,かつ <ln,SI(rdf:nil)>∈EXTI(SI(rdf:rest)).

条件E 結果<x,y>∈EXTI(SI(E))のif-and-only-if条件
owl:complementOf x,y∈ IOC かつ CEXTI(x)=IOT-CEXTI(y)
owl:unionOf x∈IOC かつ IOCにおいてyがy1,…ynのシーケンスであり,かつCEXTI(x) = CEXTI(y1)∪…∪CEXTI(yn)
owl:intersectionOf x∈IOC かつ IOCにおいてyがy1,…ynのシーケンスであり,かつCEXTI(x) = CEXTI(y1)∩…∩CEXTI(yn)
owl:oneOf x∈CI かつIOT又はLVIにおいて,yがy1,…ynのシーケンスであり,かつCEXTI(x) = {y1,..., yn}

owl:oneOfの追加条件

条件E かつ 追加条件<x,l>∈EXTI(SI(E))の結果
owl:oneOf LVIにおいて,lが y1,…ynのシーケンスである x∈IDC
owl:oneOf IOTにおいて,lがy1,…ynのシーケンスとする x∈IOC

OWL制限の条件

条件 結果x∈IOR, y∈IOC∪IDC, p∈IOOP∪IODP,かつ CEXTI(x) =
<x,y>∈EXTI(SI(owl:allValuesFrom))) ∧

<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | <u,v>∈EXTI(p) はv∈CEXTI(y) を意味する }
<x,y>∈EXTI(SI(owl:someValuesFrom))) ∧

<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | ∃ <u,v>∈EXTI(p) 例えば v∈CEXTI(y) }
条件 結果 x∈IOR, y∈IOT∪LVI, p∈IOOP∪IODP,かつ CEXTI(x) =
<x,y>∈EXTI(SI(owl:hasValue))) ∧

<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | <u, y>∈EXTI(p) }
条件 結果 x∈IOR, y∈LVI,yが負ではない整数であり,p∈IOOP∪IODP,かつ CEXTI(x) =
<x,y>∈EXTI(SI(owl:minCardinality))) ∧

<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | card({v ∈ IOT ∪ LV : <u,v>∈EXTI(p)}) y }
<x,y>∈EXTI(SI(owl:maxCardinality))) ∧

<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | card({v ∈ IOT ∪ LV : <u,v>∈EXTI(p)}) y }
<x,y>∈EXTI(SI(owl:cardinality))) ∧

<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | card({v ∈ IOT ∪ LV : <u,v>∈EXTI(p)}) = y }

包括条件(原理)

初めの二つの包括条件は,幾つかのOWL構成要素で使用される限定シーケンスの存在を必す(須)とする。三番目の包括条件は,owl:AllDifferentのインスタンスの存在を必須とする。残りの包括条件は,適切なOWL記述及びデータ域の存在を必す(須)とする。

前提条件 結果l1,…,ln ∈ILとなるための条件
x1, …, xn ∈ IOC <l1,x1> ∈ EXTI(SI(rdf:first)), <l1,l2> ∈ EXTI(SI(rdf:rest)), …

<ln,xn> ∈ EXTI(SI(rdf:first)), <ln,SI(rdf:nil)> ∈ EXTI(SI(rdf:rest))
x1, …, xn ∈ IOT∪LVI <l1,x1> ∈ EXTI(SI(rdf:first)), <l1,l2> ∈ EXTI(SI(rdf:rest)), …

<ln,xn> ∈ EXTI(SI(rdf:first)), <ln,SI(rdf:nil)> ∈ EXTI(SI(rdf:rest))
前提条件 結果 yが存在するための条件
IOTにおけるx1,…,xnのシーケンス,lが存在する場合
xi≠xjであり,その場合1i<jnとなる
y∈IAD, <y,l>∈EXTI(SI(owl:distinctMembers))
前提条件 結果 yが存在するための条件
IOCについてx1,…,xnのシーケンスlが存在する場合 y∈IOC, <y,l> ∈ EXTI(SI(owl:unionOf))
IOCについてx1,…,xnのシーケンスlが存在する場合 y∈IOC, <y,l> ∈ EXTI(SI(owl:intersectionOf))
IOTについてx1,…,xnのシーケンスlが存在する場合 y∈IOC, <y,l> ∈ EXTI(SI(owl:oneOf))
LVIについてx1,…,xnのシーケンスlが存在する場合 y∈IDC, <y,l> ∈ EXTI(SI(owl:oneOf))
前提条件 y ∈IOCとなるための条件
x ∈ IOC <y,x> ∈ EXTI(SI(owl:complementOf))
前提条件 y ∈IORとなるための条件
x ∈ IOOP∪IODP ∧ w ∈ IOC ∪ IDC <y,x> ∈ EXTI(SI(owl:onProperty)) ∧

<y,w> ∈ EXTI(SI(owl:allValuesFrom))
x ∈ IOOP∪IODP ∧ w ∈ IOC ∪ IDC <y,x> ∈ EXTI(SI(owl:onProperty)) ∧

<y,w> ∈ EXTI(SI(owl:someValuesFrom))
x ∈ IOOP∪IODP ∧ w ∈ IOT ∪ LVI <y,x> ∈ EXTI(SI(owl:onProperty)) ∧

<y,w> ∈ EXTI(SI(owl:hasValue))
x ∈ IOOP∪IODP ∧ w ∈ LVI ∧ wは負ではない整数である <y,x> ∈ EXTI(SI(owl:onProperty)) ∧

<y,w> ∈ EXTI(SI(owl:minCardinality))
x ∈ IOOP∪IODP ∧ w ∈ LVI ∧ wは負ではない整数である <y,x> ∈ EXTI(SI(owl:onProperty)) ∧

<y,w> ∈ EXTI(SI(owl:maxCardinality))
x ∈ IOOP∪IODP ∧ w ∈ LVI ∧ wは負ではない整数である <y,x> ∈ EXTI(SI(owl:onProperty)) ∧

<y,w> ∈ EXTI(SI(owl:cardinality))

5.3 OWL Full

OWL Fullは,OWL世界の一部を強制的にRDFの類似部分と一致させる条件を用いて,一般条件を増やす。これらの新しい条件は,一般条件と互いに強く影響しあう。例えば,OWL Fullでは,IOTは,議論のRDF領域全体となるため,リストに関する2番目の包括条件は,リストのリストを取り込むあらゆる種類のリストを生成する。

定義 語い(彙)VのOWL Full 解釈は,次の条件を満たすOWL解釈となる。OWL解釈はデータ型対応付けに関連することを思い出されたい。

IOT = RI
IOOP = PI
IOC = CI

定義 KをRDFグラフの集まりとする。x owl:imports u形式のKのあらゆる要素にあるすべての三つ組について,Kが,uでRDFグラフにアクセスできるRDF/XML文書のRDF処理の結果であるグラフを含むことがあれば,その場合に限り,Kは閉鎖された取込みとなり,この逆も成り立つ。RDFグラフの集まりの取込み閉包は,グラフを含むRDFグラフの最小の取込みが閉鎖された集まりとする。

定義 K及びQをRDFグラフの集まりとし,Dをデータ型対応とする。その結果,Dに関するすべてのOWL Full解釈が,KのすべてのRDFグラフを満たし,QのすべてのRDFグラフも満たす場合に限り,K OWL FullはDに関連するQを論理的に帰結し,この逆も成り立つ。この場合,DはRDF及びRDFS語い(彙)並びにOWL 語い(彙)を取り込むあらゆる語い(彙)Vに属する。KのすべてのRDFグラフを満たす何らかのOWL Full解釈が存在する場合に限りKは無矛盾のOWL Fullである。

5.4 OWL DL

OWL DLは,議論の領域を複数の互いに素な部分に分けて,5.2の条件を増やす。この区分は二つの結果をもたらす。まず,議論の領域のOWL部分が1次の基準となり,その場合,クラス及び特性などの述部及び個体は互いに素となる。次に,OWL DL解釈のOWL部分を特定の表現的な記述論理の記述論理解釈として考えることができる。

定義 語い(彙)VのOWL DL 解釈は,次の条件を満たすOWL解釈となる。OWL解釈がデータ型対応付けと関連することを思い出されたい。

LVI, IOT, IOC, IDC, IOOP, IODP, IOAP, IOXP, IL,及びIXは,すべて対で互いに素となる。
使用不能な語い(彙) (4.2)のvについては,次となる。SI(v) ∈ RI - (LVI∪IOT∪IOC∪IDC∪IOOP∪IODP∪IOAP∪IOXP∪IL∪IX)となる。

OWL DLの論理的帰結は,OWL Fullの論理的帰結と同様に定義される。

定義 K及びQをRDFグラフの集まりとし,Dをデータ型対応付けとする。その結果,Dに関連するすべてのOWL DL解釈がすべてのKのRDFグラフを満たし,QのすべてのRDFグラフも満たす場合に限り Dに関連するQをK OWL DLは論理的に帰結し,この逆も成り立つ。 この場合のDは,RDF及びRDFS語い(彙)並びにOWL 語い(彙)を取り込むあらゆる語い(彙)Vに属する。KのすべてのRDFグラフを満たすOWL DL解釈が存在する場合に限りKはOWL DLに矛盾しない

直接モデル論的意味論とOWL DL意味論とは著しく対応している。しかし,いかなる競合の場合でも,直接モデル論的意味論が優先する。5.の冒頭にある備考を参照されたい。基本的に,抽象構文OWL DLで書くことができるオントロジは,直接的意味論で他を論理的に帰結する場合は,正確には別のものを論理的に帰結する。例えば,概念,特性及び個体が干渉しないことを目的に語い(彙)を分割したり,取込みが同じく動作するように調整したりするのとは無関係に,この基本には複雑な局面が存在する。

対応が妥当であるためには,特定の名前をもつ抽象構文のオントロジとそのURIでウェブで入手できる文書との間に何らかの繋がりがなければならない。この繋がりは,ここでは,意味論の範囲外に存在するため,特に調整されなければならない。同様に,この繋がりは,ウェブの一時的で移動的な局面を無視しているため,ウェブの理想化にすぎない。

定義 Tを抽象構文から4.1のRDFグラフへの対応付けとする。Oを抽象構文形式におけるOWL DLオントロジ及び公理並びに事実の集まりとする。あらゆるURI,uについて,Oのあらゆるオントロジの直接取込みに際し,uでウェブ上でアクセスできる文書のRDF構文解析が結果的にT(K)となり,その際にKが名前uをもつOのオントロジである場合に限り,Oは閉鎖された取込みであるといわれ,この逆も成り立つ。

定理1 O及びO'を,閉鎖された取込みである抽象構文形式で,OWL DLオントロジ及び公理並びに事実の集まりとする。その場合,それらの合併集合は特別な語い(彙) (4.2)をもつものとする。xsd:string及びxsd:integerを適切なXMLスキーマデータ型に対応付けし,rdf:XMLLiteralに対するRDF対応付けを取り込むデータ型対応付けDを仮定した場合,Oの翻訳(4.1)がDに関連するO'の翻訳をOWL DLで論理的に帰結する場合に限り,OはDに関連するO'を論理的に帰結し,この逆も成り立つ。

この証明は,附属書A.1にで示す。

この簡単な結論は,xsd:string及びxsd:integerを適切なXMLスキーマデータ型に対応付けし,rdf:XMLLiteralのRDF対応付けを取り込むデータ型対応付けDを仮定した場合,Oの翻訳がDに関して無矛盾である場合に限り,OはDに関して無矛盾となり,この逆も成り立つ。

OWL DL論理的帰結とOWL Full論理的帰結との間にも対応が存在する。

定理2 O及びO'を閉鎖された取込みとなる抽象構文形式におけるOWL DLオントロジ及び公理並びに事実の集まりとする。その場合,それらの合併集合が,特別な語い(彙) (4.2)をもつものとする。xsd:string及びxsd:integerを適切なXMLスキーマデータ型に対応付けし,rdf:XMLLiteralのRDF対応付けを取り込むデータ型対応付けDを仮定した場合,Oの翻訳がDに関連するO'の翻訳をOWL DLで論理的に帰結するのであれば,Oの翻訳は,Dに関するO'の翻訳をOWL Fullで論理的に帰結する。証明の概略は,附属書A.2で示す。