3.1 オントロジ
オントロジは、特定の領域で共有される知識を概念化したものです。
オントロジは、クラス、プロパティおよび(オプションの)インスタンスの集合で構成されます。クラスは、通常、クラス階層(サブクラスとスーパークラスの関係)によって関連付けられます。同様に、プロパティは、プロパティ階層(サブプロパティとスーパープロパティの関係)によって関連付けられます。プロパティは、対称的または推移的(あるいはその両方)です。プロパティには、それぞれ指定されたドメイン、レンジおよびカーディナリティの制約があります。
RDFSベースのオントロジでは、クラス階層、プロパティ階層、instanceOf
関係、およびプロパティのドメインとレンジの指定のみが可能です。
OWLオントロジは、RDFSベースのオントロジを基盤としますが、追加でプロパティ特性を指定できます。OWLオントロジは、さらにOWL-Lite、OWL-DLおよびOWL Fullに分類されます。OWL-Liteでは、カーディナリティの最大値と最小値が0または1に制限されています。OWL-DLでは、この制限が緩和されており、最大値と最小値を指定できます。OWL Fullでは、OWL-DLやOWL-Liteオントロジとは異なり、インスタンスをクラスとしても定義できます。
RDFデータでサポートされるOWL機能またはサポートされないOWL機能の詳細は、「サポートされるOWLサブセット」を参照してください。
親トピック: OWLの概要
3.1.1 例: 疾患オントロジ
図3-1に、疾患オントロジ(特定の疾患に関連するクラスとプロパティの記述)の一部を示します。この場合の要件は、DIAGNOSIS列を持つPATIENTSデータ表が存在することです(DIAGNOSIS列には、Diseases_and_Disorders
(疾患と障害)クラス階層の値が含まれる必要があります)。
図3-1の疾患オントロジでは、診断Immune_System_Disorder
(免疫系障害)にAutoimmune_Disease
(自己免疫疾患)およびImmunodeficiency_Syndrome
(免疫不全症候群)という2つのサブクラスが含まれています。診断Autoimmune_Disease
には、サブクラスRheumatoid_Arthritis
(関節リウマチ)が含まれます。また、診断Immunodeficiency_Syndrome
には、サブクラスT_Cell_Immunodeficiency
(T細胞免疫不全)が含まれ、このサブクラスにはさらにサブクラスAIDS
が含まれます。
PATIENTS表のデータには、表3-1に示すようなPATIENT_ID列およびDIAGNOSIS列の値が含まれます。
表3-1 PATIENTS表のデータの例
PATIENT_ID | DIAGNOSIS |
---|---|
1234 |
Rheumatoid_Arthritis |
2345 |
Immunodeficiency_Syndrome |
3456 |
AIDS |
オントロジの問合せには、SEM_MATCH表関数またはSEM_RELATED演算子およびその補助演算子を使用できます。
親トピック: オントロジ
3.1.2 サポートされるOWLサブセット
この項では、サポートされるOWLボキャブラリのサブセットについて説明します。
Oracle Databaseでは、表現度の向上に従ってRDFS++、OWLSIFおよびOWLPrimeボキャブラリに加え、OWL 2 RLがサポートされます。サポートされる各ボキャブラリには、対応するルールベースがあります。ただし、これら3つのボキャブラリの基礎となる推論ルールが内部的に実装されるため、ルールベースの内容を指定する必要はありません。サポートされるボキャブラリは、次のとおりです。
-
RDFS++: RDFSの最小限の拡張です。RDFSに
owl:sameAs
とowl:InverseFunctionalProperty
が追加されています。 -
OWLSIF: IFセマンティクを含むOWLであり、『Completeness, decidability and complexity of entailment for RDF Schema and a semantic extension involving the OWL vocabulary』(H.J. Horst、Journal of Web Semantics 3、2(2005)、79-115)のpD*セマンティクで提案されたボキャブラリおよびセマンティクが含まれます。
-
OWLPrime: 次のOWL機能が含まれます。
-
基本: クラス、サブクラス、プロパティ、サブプロパティ、ドメイン、レンジ、タイプ
-
プロパティ特性: 推移的、対称的、関数的、逆関数的、逆関係
-
クラス比較: 等価、排他
-
プロパティ比較: 等価
-
個体比較: 同一、別個
-
クラス式: 補集合
-
プロパティ制限:
hasValue
、someValuesFrom
、allValuesFrom
pD*と同様に、これらの値制約でサポートされるセマンティクは、常に内包的です(IFセマンティク)。
-
-
OWL 2 RL: W3Cの「OWL 2 Web Ontology Language Profiles」に記載された推奨事項のOWL 2RLの項(
http://www.w3.org/TR/owl2-profiles/#OWL_2_RL
)では、「OWL 2 RLプロファイルは、あまり表現力を犠牲にせずにスケーラブルな推論を必要とするアプリケーションを対象としています。これは、言語の最大限の表現性と引き換えに効率を提供するアプリケーション、およびOWL 2による表現性の強化を必要とするRDF(S)アプリケーションの両方のOWL 2アプリケーションに対応するように設計されています」と説明されています。システム定義のルールベース
OWL2RL
では、OWL 2 RL用に定義されたすべての標準の本番ルールがサポートされます。OWLPRIME
と同様に、このOWL2RLルールベースのルールはユーザーに表示されません。ルールベースOWL2RL
がまだ存在しない場合は、自動的に作成されます。次のコードの抜粋では、OWL2RLルールベースを使用しています。
CREATE TABLE m1_tpl (triple SDO_RDF_TRIPLE_S) COMPRESS; EXECUTE sem_apis.create_rdf_graph('m1','m1_tpl','triple',network_owner=>'RDFUSER',network_name=>'NET1'); -- Insert data into RDF graph M1. Details omitted ... -- Now run inference using the OWL2RL rulebase EXECUTE sem_apis.create_inferred_graph('m1_inf',sem_models('m1'),sem_rulebases('owl2rl'),network_owner=>'RDFUSER',network_name=>'NET1');
OWL2RL
ルールベースを使用すると、推論関連の最適化(パラレル推論、RAW8など)がすべて適用可能になります。 -
OWL 2 EL: W3Cの「OWL 2 Web Ontology Language Profiles」に記載された推奨事項のOWL 2 ELの項(
http://www.w3.org/TR/owl2-profiles/#OWL_2_EL
)では、OWL 2 ELプロファイルはOWL 2のサブセットとして設計されており、次の特色を持つと記述されています。-
非常に多数のクラスまたはプロパティ、あるいはその両方を定義するオントロジを採用するアプリケーションに特に適しています。
-
このような多数のオントロジで使用される表現力を獲得しています。
-
オントロジの一貫性、クラス表現の組込みおよびインスタンス・チェックを多項式時間で決定できます。
OWL 2 ELオントロジの主な例は、生物医学オントロジのSNOMED Clinical Terms (SNOMED CT)です。SNOMED CTの詳細は、
http://www.ihtsdo.org/snomed-ct/
を参照してください。システム定義のルールベース
OWL2EL
は、EL構文をサポートしています。OWLPRIME
およびOWL2RL
と同様に、このOWL2EL
ルールベースのルールはユーザーに表示されず、OWL2EL
ルールベースがまだ存在しない場合は自動的に作成されます。次のコードの抜粋では、有名なSNOMEDオントロジに対して
OWL2EL
ルールベースを使用しています。CREATE TABLE snomed_tpl (triple SDO_RDF_TRIPLE_S) COMPRESS; EXECUTE sem_apis.create_rdf_graph('snomed','snomed_tpl','triple',network_owner=>'RDFUSER',network_name=>'NET1') compress; -- Insert data into RDF graph SNOMED. Details omitted ... -- Now run inference using the OWL2EL rulebase EXECUTE sem_apis.create_inferred_graph('snomed_inf',sem_models('snomed'),sem_rulebases('owl2el'),network_owner=>'RDFUSER',network_name=>'NET1');
OWL2EL
ルールベース・サポートには再帰オブジェクト・プロパティ(ReflexiveObjectProperty
)は含まれていませんが、これは、再帰オブジェクト・プロパティがそれ自体ですべての個体をリンクし、推論グラフの不必要かつ高コストな拡張が行われる可能性があるためです。 -
表3-2に、サポートされる各ルールベースに含まれるRDFSおよびOWLのボキャブラリ構成要素を示します。
表3-2 サポートされる各ルールベースに含まれるRDFS/OWLボキャブラリ構成要素
ルールベース名 | 含まれるRDFS/OWL構成要素 |
---|---|
RDFS++ |
すべてのRDFSボキャブラリ構成要素 owl:InverseFunctionalProperty owl:sameAs |
OWLSIF |
すべてのRDFSボキャブラリ構成要素 owl:FunctionalProperty owl:InverseFunctionalProperty owl:SymmetricProperty owl:TransitiveProperty owl:sameAs owl:inverseOf owl:equivalentClass owl:equivalentProperty owl:hasValue owl:someValuesFrom owl:allValuesFrom |
OWLPrime |
rdfs:subClassOf rdfs:subPropertyOf rdfs:domain rdfs:range owl:FunctionalProperty owl:InverseFunctionalProperty owl:SymmetricProperty owl:TransitiveProperty owl:sameAs owl:inverseOf owl:equivalentClass owl:equivalentProperty owl:hasValue owl:someValuesFrom owl:allValuesFrom owl:differentFrom owl:disjointWith owl:complementOf |
OWL2RL |
|
OWL2EL |
親トピック: オントロジ