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);

ノート:

このサブプログラムは、今後のリリースで非推奨になります。かわりにSEM_APIS.UPDATE_RDF_GRAPHサブプログラムを使用することをお薦めします。

説明

セマンティク・モデルに対して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;
/