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パッケージのサブプログラム