15.39 SEM_APIS.CREATE_RDF_GRAPH_COLLECTION

形式

SEM_APIS.CREATE_RDF_GRAPH_COLLECTION(
     rdf_graph_collection_name   IN VARCHAR2, 
     rdf_graphs                  IN SEM_MODELS, 
     rulebases                   IN SEM_RULEBASES DEFAULT NULL, 
     options                     IN VARCHAR2 DEFAULT NULL, 
     inferred_graphs             IN SEM_ENTAILMENTS DEFAULT NULL,
     network_owner               IN VARCHAR2 DEFAULT NULL,
     network_name                IN VARCHAR2 DEFAULT NULL);

説明

指定されたRDFグラフまたは推論グラフ(あるいはその両方)を含むRDFグラフ・コレクションを作成します。推論グラフは、次のいずれかの方法で指定できます。

  • 1つ以上のRDFグラフおよび1つ以上のルールベースを指定します。この場合、RDFグラフ・コレクションは、指定されたグラフおよびルールベースの正確な組合せに対応する単一の伴意を使用して作成されます。このような伴意が存在しない場合はエラーが発生します。

  • 0 (ゼロ)以上のグラフおよび1つ以上の伴意を指定します。この場合、グラフと伴意の関係にかかわらず、モデルと伴意の内容が組み合されます。

最初のメソッドを使用すると、確実に適切で完全なデータセットになり、2つ目のメソッドを使用すると、適切で完全な制約が緩和され、より柔軟になります。

パラメータ

rdf_graph_collection_name

作成するRDFグラフ・コレクションの名前。

rdf_graphs

1つ以上のRDFグラフ名。そのデータ型は、TABLE OF VARCHAR2(25)という定義を持つSEM_MODELSです。このパラメータがnullの場合、RDFグラフ・コレクションにグラフは含まれません。

rulebases

1つ以上のルールベース名。そのデータ型は、TABLE OF VARCHAR2(25)という定義を持つSEM_RULEBASESです。このパラメータがnullの場合、RDFグラフ・コレクションにルールベースは含まれません。ルールおよびルールベースの詳細は、「推論: ルールとルールベース」を参照してください。

このパラメータを指定する場合、inferred_graphsパラメータを同時に指定することはできません。

options

作成のオプションは次のとおりです。

  • PXN=Tは、RDFグラフ・コレクションのUNION ALLベースのビュー定義を強制します。これは、16個以下のコンポーネントを持つRDFグラフ・コレクションのデフォルトです。

  • PXN=Fは、RDFグラフ・コレクションのIN LISTベースのビュー定義を強制します。これは、16を超えるコンポーネントを持つRDFグラフ・コレクションのデフォルトです。

  • PXN=F INMEMORY=T (組み合せて使用)を指定すると、インメモリーRDFグラフ・コレクションを作成できます。

    INMEMORY=Tを指定し、PXN=Fは指定しなかった場合、インメモリー仮想列は作成されますが、パフォーマンスが損なわれます。INMEMORY=Tを指定しない場合は、インメモリーRDFグラフ・コレクションは作成されません。(「RDFでのインメモリー仮想列の使用」も参照してください。)

  • REPLACE=Tを指定すると、RDFグラフ・コレクションを、削除せずに置換できます。(このオプションを使用することは、ビューでCREATE OR REPLACE VIEWを使用することと似ています。)

inferred_graphs

1つ以上の推論グラフ名。そのデータ型は、TABLE OF VARCHAR2(25)という定義を持つSEM_ENTAILMENTSです。このパラメータがnullの場合、推論グラフはRDFグラフ・コレクションに含まれません。推論グラフについては、「OWL推論の使用」を参照してください。

このパラメータを指定する場合、rulebasesパラメータも指定することはできません。

network_owner

RDFネットワークの所有者。(表1-2を参照してください。)

network_name

RDFネットワークの名前。(表1-2を参照してください。)

使用に関するノート

RDFグラフ・コレクションの説明(使用方法情報など)は、「RDFグラフ・コレクション」を参照してください。

指定したRDFグラフとルールベースの組合せごとに推論グラフが存在する必要があります。

RDFグラフ・コレクションを作成するには、(A)指定した各グラフおよび対応する推論グラフの所有者、または(B) DBA権限を持つユーザーのいずれかである必要があります。

RDFグラフ・コレクションを置き換えるには、グラフの所有者またはDBA権限を持つユーザーである必要があります。

オプションINMEMORY=Tは、適切なライセンスがある場合にのみ使用してください。

このプロシージャは、次の書式の名前を持つビューを作成します。

  • SEMV_vm_name。各グラフおよび推論されたグラフ内のトリプルのUNION ALLに対応します。このビューには重複が含まれることがあります。

  • SEMU_vm_name。各グラフおよび推論グラフのトリプルのUNIONに対応します。このビューには重複は含まれません(このため、SEMUのUunique(一意)を表します)。

グラフm1、m2、m3から作成されたRDFグラフ・コレクションvm1のRDFグラフ・コレクションの例を、OWLPrimeルールベースを使用してm1、m2およびm3用に作成された伴意とともに使用するために、このプロシージャは、次の2つのビューを作成します(m1、m2およびm3と、OWLPRIME伴意が内部model_id値1、2、3、4を保持していることを前提としています)。

CREATE VIEW RDFUSER.NET1#.SEMV_VM1 AS
  SELECT p_value_id, start_node_id, canon_end_node_id, end_node_id, g_id, model_id
  FROM RDFUSER.NET1#.rdf_link$ partition (MODEL_1)
UNION ALL
  SELECT p_value_id, start_node_id, canon_end_node_id, end_node_id, g_id, model_id
  FROM RDFUSER.NET1#.rdf_link$ partition (MODEL_2)
UNION ALL
  SELECT p_value_id, start_node_id, canon_end_node_id, end_node_id, g_id, model_id
  FROM RDFUSER.NET1#.rdf_link$ partition (MODEL_3)
UNION ALL
  SELECT p_value_id, start_node_id, canon_end_node_id, end_node_id, g_id, model_id
  FROM RDFUSER.NET1#.rdf_link$ partition (MODEL_4);

CREATE VIEW RDFUSER.NET1#.SEMU_VM1 AS
  SELECT p_value_id, start_node_id, canon_end_node_id, MIN(end_node_id) end_node_id, g_id, MIN(model_id) model_id 
  FROM RDFUSER.NET1#.rdf_link$ 
  WHERE model_id in (1, 2, 3, 4)
  GROUP BY p_value_id, start_node_id, canon_end_node_id, g_id;

このプロシージャを起動するユーザーは、RDFグラフ・コレクションの所有者となり、SEMU_vm_nameおよびSEMV_vm_nameビューに対するSELECT WITH GRANT権限を持ちます。対応するRDFグラフ・コレクションを問い合せるには、ユーザーはこれらのビューに対するselect権限を持っている必要があります。

RDFネットワークのタイプおよびオプションの詳細は、「RDFネットワーク」を参照してください。

次の例では、VM1という名前のRDFグラフ・コレクションを作成します。

EXECUTE sem_apis.create_rdf_graph_collection('VM1',
                                          sem_models('model_1', 'model_2'),
                                          sem_rulebases('OWLPRIME'),
                                          network_owner=>'RDFUSER',
                                          network_name=>'NET1');

次の例では、緩和された伴意の指定を使用して、RDFグラフ・コレクションVM1を作成します。

EXECUTE sem_apis.create_rdf_graph_collection('VM1',
                                          rdf_graphs=>sem_models('model_1', 'model_2'),
                                          inferred_graphs=>sem_entailments('entailment1','entailment2'),
                                          network_owner=>'RDFUSER',
                                          network_name=>'NET1');

次の例では、REPLACE=Tオプションを使用して、RDFグラフ・コレクションVM1を効果的に再定義します。

EXECUTE sem_apis.create_rdf_graph_collection('VM1',
                                          rdf_graphs=>sem_models('model_1', 'model_2'),
                                          inferred_graphs=>sem_entailments('entailment1'),
                                          options=>'REPLACE=T',
                                          network_owner=>'RDFUSER',
                                          network_name=>'NET1');