15.156 SEM_APIS.UPDATE_MODEL
形式
SEM_APIS.UPDATE_MODEL( apply_model IN VARCHAR2, update_stmt IN CLOB, match_models IN RDF_MODELS DEFAULT NULL, match_rulebases IN RDF_RULEBASES DEFAULT NULL, match_index_status IN VARCHAR2 DEFAULT NULL, match_options IN VARCHAR2 DEFAULT NULL, options IN VARCHAR2 DEFAULT NULL, network_owner IN VARCHAR2 DEFAULT NULL, network_name IN VARCHAR2 DEFAULT NULL);
説明
セマンティク・モデルに対してSPARQL更新操作を実行します。
パラメータ
- apply_model
-
更新されるRDFモデルの名前。モデルが、SEM_APIS.CREATE_SEM_MODELプロシージャを使用して作成された際に指定された名前です。
仮想モデル(「RDFグラフ・コレクション」を参照)またはRDFビューは指定できません。
- update_stmt
-
apply_model
モデル上で実行される1つ以上のSPARQL更新コマンドです。コマンドを区切るには、セミコロン(;)を使用します。 - match_models
-
SPARQL更新操作(INSERT WHERE、DELETE WHERE、COPY、MOVE、ADD)で、グラフ・パターンの照合に対する問合せを行うSPARQLデータ・セットを形成するモデルのリスト。仮想モデルまたはRDFビュー、あるいはその両方を含めることができます。このパラメータが指定されていない場合、
apply_model
モデルが使用されます。 - match_rulebases
-
追加のトリプルまたはクワッドを生成する伴意を得るために
match_models
とともに使用されるルール―ベースのリストで、SPARQL更新操作でグラフ・パターンの照合に使用されます。 - match_index_status
-
SPARQL更新操作でグラフ・パターン照合に使用されるすべての伴意に期待されるステータス。
- match_options
-
SPARQL更新操作でグラフ・パターン照合に影響を与えるヒントを指定する文字列。ここで使用できるヒントのセットは、SEM_MATCHの
options
パラメータで使用できるヒントのセットとまったく同じです。 - options
-
SPARQL更新操作に影響を与えるヒントを指定する文字列。使用可能なオプションに関する使用上のノートを参照してください。
- network_owner
-
セマンティク・ネットワークの所有者。(表1-2を参照してください。)
- network_name
-
セマンティク・ネットワークの名前。(表1-2を参照してください。)
使用に関するノート
このプロシージャを使用する前に、「RDFグラフでのSPARQL更新操作のサポート」の資料を理解していることを確認してください。
options
パラメータには、次のオプションを1つまたは複数指定できます。
-
APP_TAB_IDX={INDEX_NAME}を指定すると、アプリケーション表でDML操作が行われる際、IINDEX_NAMEに対してNDEXオプティマイザヒントが使用されます。
-
APPENDを指定すると、DML操作でSQL APPENDヒントが使用されます。
-
AUTOCOMMIT=Fを指定すると、SEM_APIS.UPDATE_MODELの各呼出しに対するトランザクションの開始とコミットが抑止されます。その代わり、このオプションにより、トランザクションの制御が呼出し側に渡されます。SEM_APIS.UPDATE_MODELの各呼出しは、呼出し側で開始、コミットおよびロールバックされるメイン・トランザクションの一部として実行されます。
-
BULK_OPTIONS={OPTIONS_STRING}を指定すると、SEM_APIS.BULK_LOAD_FROM_STAGING_TABLEの呼出し時に、OPTIONS_STRINGが
flags
パラメータとして使用されます。 -
CLOB_UPDATE_SUPPORT=Tを指定すると、CLOB機能が有効になります。
-
DEL_AS_INS=T指定すると、大規模な削除操作の際、削除操作後に保持されるべきすべてのデータが、削除ではなく挿入されます。このオプションを指定すると、大規模な削除操作でパフォーマンスが大幅に向上することがあります。
-
DYNAMIC_SAMPLING(n)指定すると、問合せ操作でDYNAMIC_SAMPLING(n) SQLオプティマイザ・ヒントが使用されます。
-
FORCE_BULK=Tを指定すると、トリプルのバルク挿入でSEM_APIS.BULK_LOAD_FROM_STAGING_TABLEプロシージャが使用されます。このオプションを指定すると、大規模な更新でパフォーマンスが向上する場合があります。
-
LOAD_CLOB_ONLY=Tを指定すると、N-TripleまたはN-Quadドキュメントに対するLOAD操作の実行時に、長さが4000バイトより長いオブジェクト値を持つトリプルまたはクワッドのみがロードされます。
-
LOAD_OPTIONS={ OPTIONS_STRING }を指定すると、LOAD操作の実行時に
OPTIONS_STRING
が追加のファイル名として使用されます。 -
MM_OPTIONS={ OPTIONS_STRING }を指定すると、SEM_APIS.MERGE_MODELSが呼び出される操作で、OPTIONS_STRINGがオプション・パラメータとして使用されます。
-
PARALLEL(n)を指定すると、問合せおよびDMLの操作に対し、SQLの
PARALLEL(n)
ヒントが使用されます。 -
RESUME_LOAD=Tを指定すると、中断されたLOAD操作の再開ができるようになります。
-
SERIALIZABLE=Tを指定すると、SEM_APIS.UPDATE_MODEL操作に対し、SERIALIZABLEトランザクション分離レベルが使用されます。READ COMMITTEDが、デフォルトのトランザクション分離レベルです。
-
STREAMING=Fを指定すると、中間データが実体化され、JDBC結果セットを通じたストリーミングではなく、INSERT AS SELECT操作が行われます。このモードを指定すると、大規模またはWHERE句での複雑なパターンでの更新でパフォーマンスが向上する場合があります。
-
STRICT_BNODE=Fを指定すると、ADD、COPYおよびMOVEについて、ID限定の操作が可能になります。(ID限定の操作に関する詳細は、「空白のノード: SPARQL更新で特に留意する点」を参照してください。)
「セッション・レベルでのUPDATE_RDF_GRAPHオプションの設定」で説明されているように、MDSYS.SDO_SEM_UPDATE_CTX.SET_PARAMプロシージャを使用して、セッション・レベルでオーバーライドできます。
セマンティク・ネットワークのタイプおよびオプションの詳細は、「RDFネットワーク」を参照してください。
例
次の例では、6個のトリプルがセマンティク・モデルに挿入されています。
BEGIN sem_apis.update_model('electronics', 'PREFIX : <http://www.example.org/electronics/> INSERT DATA { :camera1 :name "Camera 1" . :camera1 :price 120 . :camera1 :cameraType :Camera . :camera2 :name "Camera 2" . :camera2 :price 150 . :camera2 :cameraType :Camera . } '); END; /
親トピック: SEM_APISパッケージのサブプログラム