4.2 SKOS RDFグラフでの推論の実行
SKOS RDFグラフでの推論の実行は、RDFグラフでの推論の実行に似ています。
SKOS RDFグラフを作成するには、RDFグラフの作成と同じ手順(SEM_APIS.CREATE_RDF_GRAPH)を使用します。RDFグラフの場合と同様に、SKOS RDFグラフにデータをロードできます。
1つ以上のSKOS RDFグラフの新しい関係を推論するには、SEM_APIS.CREATE_INFERRED_GRAPHプロシージャをシステム定義のルールベースSKOSCORE
とともに使用します。たとえば、次のようにします。
EXECUTE sem_apis.create_inferred_graph('tstidx',sem_models('tst'), sem_rulebases('skoscore')), network_owner=>'RDFUSER', network_name=>'NET1');
推論データには、SKOSの詳細な仕様で定義されている多くの公理が含まれます。他のシステム定義のルールベースのように、SKOSCOREは明示的なルールを持たず、サポートされるすべてのセマンティクは、実装にコーディングされています。
4.2.1 SKOS RDFグラフおよび推論グラフの検証
SEM_APIS.VALIDATE_INFERRED_GRAPHおよびSEM_APIS.VALIDATE_RDF_GRAPHプロシージャを使用すると、サポートされる整合性条件を検証できます。その出力には、サポートされる整合性条件(OWL 2 propertyDisjointWith
、S52
など)によって発生する不整合が含まれます。
例4-2では、SKOS推論グラフを検証します。
例4-2 SKOS推論グラフの検証
set serveroutput on declare lva sem_longvarchararray; idx int; begin lva := sem_apis.validate_inferred_graph(sem_models('tstskos'), sem_rulebases('skoscore'), network_owner=>'RDFUSER',network_name=>'NET1'); 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 RDFグラフでの推測の実行
4.2.2 プロパティ・チェーンの処理
SKOS S55、S56およびS57セマンティクは、デフォルトではサポートされません。ただし、OWL 2サブプロパティ・チェーン構成要素を使用して、それらのサポートを追加できます。
例4-3では、S55の必要なチェーン定義トリプルをSKOSモデルに挿入しています。挿入の後、SKOSCORE
ルールベースを指定するSEM_APIS.CREATE_INFERRED_GRAPHの起動によって、S55で定義されるセマンティクが含まれます。
例4-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', 'RDFUSER', 'NET1')); 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>', 'RDFUSER', 'NET1')); INSERT INTO tst VALUES(sdo_rdf_triple_s('tst','_:jA1', '<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>', '_:jA2', 'RDFUSER', 'NET1')); 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>', 'RDFUSER', 'NET1')); 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>', 'RDFUSER', 'NET1'));
親トピック: SKOS RDFグラフでの推測の実行