3 Simple Knowledge Organization System (SKOS)のサポート
Simple Knowledge Organization System (SKOS)データ・モデルのコア・サブセットに基づいて推論を実行できます(これは、シソーラス、分類スキーム、分類学、その他のタイプの統制ボキャブラリを表す場合に特に役立ちます)。
SKOSは、RDFやOWLを含む標準のセマンティクWebテクノロジを基盤とし、これによって知識組織化システムの形式意味論の定義およびアプリケーション間でのセマンティク共有が容易になります。
SKOSの機能は、すべてではありませんが、そのほとんどがサポートされます(仕様の詳細は、http://www.w3.org/TR/skos-reference/
を参照)。
約40個のSKOS固有の語句が、RDFセマンティク・グラフ・サポートに含まれています(skos:broader
、skos:relatedMatch
、skos:Concept
など)。SKOSの公理トリプルが100個以上追加されて、SKOSセマンティクの基本が網羅されています。ただし、SKOSの仕様に記述されている整合性条件に関するサポートは含まれていません。
SKOSベースの推論を実行するには、次の例に示すように、SEM_APIS.CREATE_ENTAILMENTプロシージャへのコールでrulebases_in
パラメータにシステム定義のSKOSCORE
ルールベースを指定します。
EXECUTE sem_apis.create_entailment('tstidx',sem_models('tst'), sem_rulebases('skoscore'));
例3-1では、Turtle形式で、簡単な電子機器スキームと2つの関連概念(カメラとデジタル・カメラ)を定義しています。その意味は単純で、RDFで表現されています。これは、他のRDFおよびOWLデータと同様にOracle Databaseで管理できます。
例3-1 電子機器スキームのSKOS定義
ex1:electronicsScheme rdf:type skos:ConceptScheme; ex1:cameras rdf:type skos:Concept; skos:prefLabel "cameras"@en; skos:inScheme ex1:electronicsScheme. ex1:digitalCameras rdf:type skos:Concept; skos:prefLabel "digital cameras"@en; skos:inScheme ex1:electronicsScheme. ex1:digitalCameras skos:broader ex1:cameras.
- サポート対象およびサポート対象外のSKOSセマンティクス
この項では、SKOSセマンティクについて、Oracle Databaseでサポートされる機能とサポートされない機能を説明します。 - SKOSモデルでの推論の実行
SKOSモデルでの推論の実行は、セマンティク・モデルでの推論の実行と同様です。
親トピック: 概念および使用方法に関する情報
3.1 サポート対象およびサポート対象外のSKOSセマンティクス
この項では、SKOSセマンティクについて、Oracle Databaseでサポートされる機能とサポートされない機能について説明します。
3.1.1 サポートされるSKOSセマンティクス
ラベル用にSKOSおよびSKOS拡張で定義されている用語は、すべて認識されます。SKOSCOREルールベースが推論に選択される場合、認識される用語は次のとおりです。
skos:altLabel skos:broader skos:broaderTransitive skos:broadMatch skos:changeNote skos:closeMatch skos:Collection skos:Concept skos:ConceptScheme skos:definition skos:editorialNote skos:exactMatch skos:example skos:hasTopConcept skos:hiddenLabel skos:historyNote skos:inScheme skos:mappingRelation skos:member skos:memberList skos:narrower skos:narrowerTransitive skos:narrowMatch skos:notation skos:note skos:OrderedCollection skos:prefLabel skos:related skos:relatedMatch skos:scopeNote skos:semanticRelation skos:topConceptOf skosxl:altLabel skosxl:hiddenLabel skosxl:Label skosxl:labelRelation skosxl:literalForm skosxl:prefLabel
ほとんどのSKOS公理および定義がサポートされます(S1-S8、S10-S11、S15-S26、S28-S31、S33-S36、S38-S45、S47-S50およびS53-S54を含む)。(定義については、SKOSの詳細な仕様を参照してください。)
ほとんどのSKOS整合性条件がサポートされます(S9、S13、S27、S37およびS46を含む)。
S52は部分的にサポートされます。
S55、S56およびS57は、デフォルトではサポートされません。
-
S55: プロパティ・チェーン(
skosxl:prefLabel, skosxl:literalForm
)は、skos:prefLabel
のサブプロパティです。 -
S56: プロパティ・チェーン(
skosxl:altLabel, skosxl:literalForm
)は、skos:altLabel
のサブプロパティです。 -
S57: プロパティ・チェーン(
skosxl:hiddenLabel, skosxl:literalForm
)は、skos:hiddenLabel.chains
のサブプロパティです。
ただし、S55、S56およびS57は、OWL 2サブプロパティ・チェーン構成要素を使用して実装できます。プロパティ・チェーンの処理の詳細は、「プロパティ・チェーンの処理」を参照してください。
親トピック: サポート対象およびサポート対象外のSKOSセマンティクス
3.1.2 サポートされないSKOSセマンティクス
SKOSセマンティクの次の機能はサポートされません。
-
S12およびS51: 関連する述語の
rdfs:range
は、RDFプレーン・リテラルのクラスです。これらの述語の目的語値が本当にプレーン・リテラルであるかどうかのチェックは存在しませんが、アプリケーションでそのようなチェックを実行できます。 -
S14: リソースは、言語タグごとに
skos:prefLabel
の値を1つのみ持ちます。この整合性条件はOWL FULLセマンティクの範囲も超えており、現在のリリースでは実施されません。 -
S32:
skos:memberのrdfs:range
は、クラスskos:Concept
およびskos:Collection
の和集合です。この整合性条件は実施されません。 -
S55、S56およびS57は、デフォルトではサポートされませんが、OWL 2サブプロパティ・チェーン構成要素を使用して実装できます(「サポートされるSKOSセマンティクス」を参照)。
親トピック: サポート対象およびサポート対象外のSKOSセマンティクス
3.2 SKOSモデルでの推論の実行
SKOSモデルでの推論の実行は、セマンティク・モデルでの推論の実行と同様です。
SKOSモデルを作成するには、セマンティク・モデルの作成に関して同じプロシージャ(SEM_APIS.CREATE_SEM_MODEL)を使用します。セマンティク・モデルの場合と同様に、データをSKOSモデルにロードできます。
1つ以上のSKOSモデルに関して新しい関係を推論するには、SEM_APIS.CREATE_ENTAILMENTプロシージャをシステム定義のルールベースSKOSCORE
とともに使用します。たとえば、次のようにします。
EXECUTE sem_apis.create_entailment('tstidx',sem_models('tst'), sem_rulebases('skoscore'));
推論データには、SKOSの詳細な仕様で定義されている多くの公理が含まれます。他のシステム定義のルールベースのように、SKOSCOREは明示的なルールを持たず、サポートされるすべてのセマンティクは、実装にコーディングされています。
3.2.1 SKOSモデルおよび伴意の検証
SEM_APIS.VALIDATE_ENTAILMENTおよびSEM_APIS.VALIDATE_MODELプロシージャを使用すると、サポートされる整合性条件を検証できます。その出力には、サポートされる整合性条件(OWL 2 propertyDisjointWith
、S52
など)によって発生する不整合が含まれます。
例3-2では、SKOS伴意を検証します。
例3-2 SKOS伴意の検証
set serveroutput on declare lva mdsys.rdf_longVarcharArray; idx int; begin lva := sem_apis.validate_entailment(sdo_rdf_models('tstskos'), sem_rulebases('skoscore')); if (lva is null) then dbms_output.put_line('No conflicts'); else for idx in 1..lva.count loop dbms_output.put_line('entry ' || idx || ' ' || lva(idx)); end loop; end if; end; /
親トピック: SKOSモデルでの推論の実行
3.2.2 プロパティ・チェーンの処理
SKOS S55、S56およびS57セマンティクは、デフォルトではサポートされません。ただし、OWL 2サブプロパティ・チェーン構成要素を使用して、それらのサポートを追加できます。
例3-3では、S55の必要なチェーン定義トリプルをSKOSモデルに挿入しています。挿入の後、SKOSCORE
ルールベースを指定するSEM_APIS.CREATE_ENTAILMENTの起動によって、S55で定義されるセマンティクが含まれます。
例3-3 S55を実装するためのプロパティ・チェーンの挿入
INSERT INTO tst VALUES(sdo_rdf_triple_s('tst','<http://www.w3.org/2004/02/skos/core#prefLabel>', '<http://www.w3.org/2002/07/owl#propertyChainAxiom>', '_:jA1')); INSERT INTO tst VALUES(sdo_rdf_triple_s('tst','_:jA1', '<http://www.w3.org/1999/02/22-rdf-syntax-ns#first>', '<http://www.w3.org/2008/05/skos-xl#prefLabel>')); INSERT INTO tst VALUES(sdo_rdf_triple_s('tst','_:jA1', '<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>', '_:jA2')); INSERT INTO tst VALUES(sdo_rdf_triple_s('tst','_:jA2', '<http://www.w3.org/1999/02/22-rdf-syntax-ns#first>', '<http://www.w3.org/2008/05/skos-xl#literalForm>')); INSERT INTO tst VALUES(sdo_rdf_triple_s('tst','_:jA2', '<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>', '<http://www.w3.org/1999/02/22-rdf-syntax-ns#nil>'));
親トピック: SKOSモデルでの推論の実行