15.26 SEM_APIS.BULK_LOAD_RDF_GRAPH

形式

SEM_APIS.BULK_LOAD_RDF_GRAPH(
     rdf_graph_name IN VARCHAR2, 
     table_owner    IN VARCHAR2, 
     table_name     IN VARCHAR2, 
     flags          IN VARCHAR2 DEFAULT NULL, 
     debug          IN INTEGER DEFAULT NULL, 
     start_comment  IN VARCHAR2 DEFAULT NULL, 
     end_comment    IN VARCHAR2 DEFAULT NULL,
     network_owner  IN VARCHAR2 DEFAULT NULL,
     network_name   IN VARCHAR2 DEFAULT NULL);

説明

ステージング表からセマンティク・データをロードします。

パラメータ

rdf_graph_name

RDFグラフの名前。

table_owner

ロードされるセマンティク・データを保持するステージング表を所有するスキーマの名前。

table_name

ロードされるセマンティク・データを保持するステージング表の名前。

flags

次のキーワード指定が1つ以上含まれる、引用符で囲んだオプションの文字列。

  • COMPRESS=CSCQHを指定すると、RDFグラフに対してRDF_LINK$パーティションで、COLUMN STORE COMPRESS FOR QUERY HIGHが使用されます。

  • COMPRESS=CSCQLを指定すると、RDFグラフに対してRDF_LINK$パーティションで、COLUMN STORE COMPRESS FOR QUERY LOWが使用されます。

  • COMPRESS=RSCAを指定すると、RDFグラフに対してRDF_LINK$でROW STORE COMPRESS ADVANCEDが使用されます。

  • COMPRESS=RSCABを指定すると、RDFグラフに対してRDF_LINK$パーティションで、ROW STORE COMPRESS BASICが使用されます。

  • DEL_BATCH_DUPS=USE_INSERTを指定すると、挿入に基づく重複除去方法を使用できるため、入力データに多くの重複が含まれている場合に処理がより高速になる可能性があります。

  • MBV_METHOD=SHADOWを指定すると、異なる値をロードする方法を使用できるため、大量のロード処理がより高速になる可能性があります。

  • PARALLEL_CREATE_INDEXを指定すると、内部索引をパラレルに作成できるため、バルク・ロード処理のパフォーマンスが向上する可能性があります。

  • PARALLEL=<integer>を指定すると、バルク・ロードで行われる処理の多くを、その操作に関連付けて指定した並行度で並列実行できます。

  • PARSEを指定すると、ステージング表(グラフ名を含む解析トリプル)から取得されるトリプルを解析できます。

  • <task>_JOIN_HINT=<join_type>。ここで、<task>はバルク・ロード中に実行されるいずれかの内部タスクであり、IZC (ゼロ衝突)、MBV (バッチ値をマージ)またはMBT (バッチ・トリプルをマージ。トリプルを空でないRDFグラフに追加するときに使用)のいずれかです。<join_type>は、USE_NLまたはUSE_HASHです。

debug

(今後使用予定)

start_comment

ロード操作の開始についてのオプションのコメント。

end_comment

ロード操作の終了についてのオプションのコメント。

network_owner

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

network_name

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

使用に関するノート

このプロシージャをコールする前に、ステージング表にセマンティク・データをロードする必要があります。詳細は「ステージング表を使用したセマンティク・データのバルク・ロード」を参照してください。

BULK_LOAD_RDF_GRAPHとファイングレイン・アクセス制御(OLS)の併用

OLSを使用するネットワーク全体に対してファイングレイン・アクセス制御(「RDFデータに対するファイングレイン・アクセス制御」を参照)を有効にした場合、関連ポリシーへの完全なアクセス権限を持つユーザーのみがバルク・ロード操作を実行できます。OLSが有効な場合、OLSポリシーへの完全なアクセス権限はSA_USER_ADMIN.SET_USER_PRIVSプロシージャを使用して付与されます。

OLSを使用している場合、RDFトリプルを格納する表のラベル列は保持する必要があります。デフォルトでは、OLSを有効にしている場合、RDFトリプルを格納する表のラベル列はNULLに設定されます。完全なアクセス権限がある場合、適切なサブプログラム(SEM_RDFSA.SET_RESOURCE_LABELおよびSEM_RDFSA.SET_PREDICATE_LABEL)を使用して、新しく挿入されたトリプルおよびトリプルの新しいバッチで導入されたすべてのリソースのラベルをリセットできます。

オプションで、ステージング表とアプリケーション表にRDF$STC_CTXT1という数値列を定義し、データが目的のRDFグラフにロードされる前にトリプルの機密性ラベルを割り当てることができます。このようなラベルは、RDF_LINK$表に格納される、対応するトリプルに、自動的に適用されます。新しく導入されたリソースのラベルはロードの前または後にまだ個別に適用する必要がある場合があり、システムはバルク・ロード操作の間、割り当てられるラベルを検証しません。

アプリケーション表のRDF$STC_CTXT1列は重要ではなく、バルク・ロード操作の後に削除される場合があります。

デフォルトでは、SEM_APIS.BULK_LOAD_RDF_GRAPHはRDFグラフのRDFネットワーク圧縮設定(RDF_PARAMETER表に格納)を使用します。

次の例では、スキーマSCOTTのステージング表STAGE_TABLEに格納されたセマンティク・データをfamilyという名前のRDFグラフにロードします。この例には、結合ヒントがいくつか含まれています。

EXECUTE SEM_APIS.BULK_LOAD_RDF_GRAPH('family', 'scott', 'stage_table', flags => 'IZC_JOIN_HINT=USE_HASH MBV_JOIN_HINT=USE_HASH');