15.122 SEM_APIS.MERGE_MODELS
形式
SEM_APIS.MERGE_MODELS( source_model IN VARCHAR2, destination_model IN VARCHAR2, rebuild_apptab_index IN BOOLEAN DEFAULT TRUE, drop_source_model IN BOOLEAN DEFAULT FALSE, options IN VARCHAR2 DEFAULT NULL, network_owner IN VARCHAR2 DEFAULT NULL, network_name IN VARCHAR2 DEFAULT NULL);
説明
ソース・モデルから宛先モデルに内容を挿入し、宛先アプリケーション表を更新します。
パラメータ
- source_model
-
ソース・モデルの名前。
- destination_model
-
宛先モデルの名前。
- rebuild_apptab_index
-
TRUE
は、モデルがマージされた後、宛先のアプリケーション表上の索引を再作成し、FALSE
は、どの索引も再作成しません。 - drop_source_model
-
TRUE
は、モデルがマージされた後、ソース・モデル(source_model
)を削除し、FALSE
(デフォルト)は、ソース・モデルを削除しません。 - options
-
プロシージャのデフォルトの動作を上書きするオプションのカンマ区切りの文字列。現在、このプロシージャのパラレル実行を有効にして、操作に関連付ける並列度を指定する
DOP
(並列度)オプションのみがサポートされています。 - network_owner
-
セマンティク・ネットワークの所有者。(表1-2を参照してください。)
- network_name
-
セマンティク・ネットワークの名前。(表1-2を参照してください。)
使用に関するノート
モデルをマージする前に、位置パラメータを使用している場合は、1番目および2番目のパラメータに正しいモデル(1番目にソース・モデル、2番目に宛先モデル)を指定しているかを確認します。drop_source_model=TRUE
を指定する予定の場合、これは特に重要です。
必要に応じて、マージを実行する前に、宛先モデルまたは両方のモデルのコピーを作成します。モデルのコピーを作成するには、SEM_APIS.CREATE_SEM_MODELを使用して、コピーに必要な名前で空のモデルを作成し、SEM_APIS.MERGE_MODELSを使用して、宛先モデルとして新しく作成されたコピーを移入します。
このプロシージャのいくつかの一般的な用途には次のものがあります。
-
変更するモデルへの読取り専用のアクセス権を持っている場合、完全なアクセス権を持つ空のモデルにそのモデルをクローニングしてから、この後者のモデルを変更できます。
-
複数のモデルを統合する場合、必要に応じてこのプロシージャを使用して、必要なモデルをマージできます。事前にすべてのモデルをマージし、マージしたモデルのみを使用することで、伴意を簡略化し、伴意のパフォーマンスを向上できます。
マルチコアまたはマルチCPUマシンで、DOP
(並列度)オプションが効果的なことがあります。DOP
オプションを使用する例は、「例」を参照してください。
ソース・モデルが大きい場合、SEM_APIS.ANALYZE_MODELプロシージャをコールすることによって、マージ操作の後にマージ先でオプティマイザ統計を更新できます。
このプロシージャを使用する場合、次の考慮事項が適用されます。
-
宛先モデルの所有者であり、ソース・モデルに対するSELECT権限を持っている必要があります。
drop_second_model=TRUE
の場合、ソース・モデルの所有者でもある必要があります。 -
このプロシージャは、仮想モデル(「仮想モデル」を参照)ではサポートされません。
-
表の制約は、宛先のアプリケーション表では許容されません。
セマンティク・ネットワークのタイプおよびオプションの詳細は、「RDFネットワーク」を参照してください。
例
次の例では、モデルM1
の内容をM2
に挿入します。
EXECUTE SEM_APIS.MERGE_MODELS('M1', 'M2');
次の例では、モデルM1
の内容をM2
に挿入し、並列度4 (マージ操作の実行では最大4つのパラレル・スレッド)を指定します。
EXECUTE SEM_APIS.MERGE_MODELS('M1', 'M2', null, null, 'DOP=4');
親トピック: SEM_APISパッケージのサブプログラム