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のUはunique(一意)を表します)。
グラフ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');
親トピック: SEM_APISパッケージのサブプログラム