15.157 SEM_APIS.UPDATE_RDF_GRAPH

形式

SEM_APIS.UPDATE_RDF_GRAPH(
     apply_rdf_graph     IN VARCHAR2, 
     update_stmt         IN CLOB, 
     match_models        IN SEM_MODELS DEFAULT NULL, 
     match_rulebases     IN SEM_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);

説明

RDFグラフでSPARQL更新文を実行します。

パラメータ

apply_rdf_graph

更新されるRDFグラフの名前。グラフが、SEM_APIS.CREATE_RDF_GRAPHプロシージャを使用して作成された際に指定された名前です。

RDFグラフ・コレクション(「RDFグラフ・コレクション」を参照)またはRDFビューにすることはできません。

update_stmt

apply_rdf_graphグラフ上で実行される1つ以上のSPARQL更新コマンド。コマンドを区切るには、セミコロン(;)を使用します。

match_models

SPARQL更新操作(INSERT WHERE、DELETE WHERE、COPY、MOVE、ADD)で、グラフ・パターンの照合を問い合せるSPARQLデータ・セットを形成するRDFグラフのリスト。RDFグラフ・コレクションまたはRDFビュー(あるいはその両方)を含めることができます。このパラメータを指定しない場合、apply_rdf_graphグラフが使用されます。

match_rulebases

追加のトリプルまたはクワッドを生成する推論グラフを得るためにmatch_modelsとともに使用されるルールベースのリストで、SPARQL更新操作でグラフ・パターンの照合に使用されます。

match_index_status

SPARQL更新操作でグラフ・パターン照合に使用されるすべての推論グラフに期待されるステータス。

match_options

SPARQL更新操作でグラフ・パターン照合に影響を与えるヒントを指定する文字列。ここで使用できるヒントのセットは、SEM_MATCHのoptionsパラメータで使用できるヒントのセットとまったく同じです。

options

SPARQL更新操作に影響を与えるヒントを指定する文字列。使用可能なオプションに関する使用上のノートを参照してください。

network_owner

RDFネットワークの所有者。(表1-2を参照してください。)

network_name

RDFネットワークの名前。(表1-2を参照してください。)

使用に関するノート

このプロシージャを使用する前に、「RDFグラフでのSPARQL更新操作のサポート」の資料を理解していることを確認してください。

optionsパラメータには、次のオプションを1つまたは複数指定できます。

  • APP_TAB_IDX={INDEX_NAME}を指定すると、アプリケーション表でDML操作が行われる際、IINDEX_NAMEに対してNDEXオプティマイザヒントが使用されます。

  • APPENDを指定すると、DML操作でSQL APPENDヒントが使用されます。

  • AUTOCOMMIT=Fを指定すると、SEM_APIS.UPDATE_RDF_GRAPH呼出しごとにトランザクションの開始とコミットが抑止されます。その代わり、このオプションにより、トランザクションの制御が呼出し側に渡されます。SEM_APIS.UPDATE_RDF_GRAPHの各呼出しは、呼出し側で開始、コミットおよびロールバックされるメイン・トランザクションの一部として実行されます。

  • 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_RDF_GRAPHプロシージャが使用されます。このオプションを指定すると、大規模な更新でパフォーマンスが向上する場合があります。

  • LOAD_CLOB_ONLY=Tを指定すると、N-TripleまたはN-Quadドキュメントに対するLOAD操作の実行時に、長さが4000バイトより長いオブジェクト値を持つトリプルまたはクワッドのみがロードされます。

  • LOAD_OPTIONS={ OPTIONS_STRING }を指定すると、LOAD操作の実行時にOPTIONS_STRINGが追加のファイル名として使用されます。

  • MM_OPTIONS={ OPTIONS_STRING }を指定すると、SEM_APIS.MERGE_RDF_GRAPHS_が呼び出される操作で、OPTIONS_STRINGがオプション・パラメータとして使用されます。

  • PARALLEL(n)を指定すると、問合せおよびDMLの操作に対し、SQLのPARALLEL(n)ヒントが使用されます。

  • RESUME_LOAD=Tを指定すると、中断されたLOAD操作の再開ができるようになります。

  • SERIALIZABLE=Tを指定すると、SEM_APIS.UPDATE_RDF_GRAPH操作に対して、シリアライズ可能トランザクション分離レベルが使用されます。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ネットワークのタイプおよびオプションの詳細は、「RDFネットワーク」を参照してください。

次の例では、6個のトリプルがRDFグラフに挿入されています。

BEGIN
  sem_apis.update_rdf_graph('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;
/