15.122 SEM_APIS.MERGE_MODELS
Format
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);
Note:
This subprogram will be deprecated in a future release. It is recommended that you use the SEM_APIS.MERGE_RDF_GRAPHS subprogram instead.Description
Inserts the content from a source model into a destination model, and updates the destination application table.
Parameters
- source_model
-
Name of the source model.
- destination_model
-
Name of the destination model.
- rebuild_apptab_index
-
TRUE
causes indexes on the destination application table to be rebuilt after the models are merged;FALSE
does not rebuild any indexes. - drop_source_model
-
TRUE
causes the source model (source_model
) to be deleted after the models are merged;FALSE
(the default) does not delete the source model. - options
-
A comma-delimited string of options that overrides the default behavior of the procedure. Currently, only the
DOP
(degree of parallelism) option is supported, to enable parallel execution of this procedure and to specify the degree of parallelism to be associated with the operation. - network_owner
-
Owner of the semantic network. (See Table 1-2.)
- network_name
-
Name of the semantic network. (See Table 1-2.)
Usage Notes
Before you merge any models, if you are using positional parameters, check to be sure that you are specifying the correct models for the first and second parameters (source model for the first, destination model for the second). This is especially important if you plan to specify drop_source_model=TRUE
.
If appropriate, make copies of the destination model or both models before performing the merge. To make a copy of a model, use SEM_APIS.CREATE_SEM_MODEL to create an empty model with the desired name for the copy, and use SEM_APIS.MERGE_MODELS to populate the newly created copy as the destination model.
Some common uses for this procedure include the following:
-
If you have read-only access to a model that you want to modify, you can clone that model into an empty model on which you have full access, and then modify this latter model.
-
If you want to consolidate multiple models, you can use this procedure as often as necessary to merge the necessary models. Merging all models beforehand and using only the merged model simplifies entailment and can improve entailment performance.
On a multi-core or multi-cpu machine, the DOP
(degree of parallelism) option can be beneficial. See Examples for an example that uses the DOP
option.
If the source model is large, you may want to update the optimizer statistics on the destination after the merge operation by calling the SEM_APIS.ANALYZE_MODEL procedure.
The following considerations apply to the use of this procedure:
-
You must be the owner of the destination model and have SELECT privilege on the source model. If
drop_second_model=TRUE
, you must also be owner of the source model. -
This procedure is not supported on virtual models (explained in Virtual Models).
-
No table constraints are allowed on the destination application table.
For information about semantic network types and options, see RDF Networks.
Examples
The following example inserts the contents of model M1
into M2
.
EXECUTE SEM_APIS.MERGE_MODELS('M1', 'M2');
The following example inserts the contents of model M1
into M2
, and it specifies a degree of parallelism of 4 (up to four parallel threads for execution of the merge operation).
EXECUTE SEM_APIS.MERGE_MODELS('M1', 'M2', null, null, 'DOP=4');
Parent topic: SEM_APIS Package Subprograms