A.12.52 OPG_APIS.SPARSIFY_GRAPH

形式

OPG_APIS.SPARSIFY_GRAPH(
     edge_tab_name IN VARCHAR2,
     threshold     IN NUMBER DEFAULT 0.5,
     min_keep      IN INTEGER DEFAULT 1,
     dop           IN INTEGER DEFAULT 4,
     wt_out_tab    IN OUT VARCHAR2,
     wt_und_tab    IN OUT VARCHAR2,
     wt_hsh_tab    IN OUT VARCHAR2,
     wt_mch_tab    IN OUT VARCHAR2,
     tbs           IN VARCHAR2 DEFAULT NULL,
     options       IN VARCHAR2 DEFAULT NULL);

説明

プロパティ・グラフ・エッジ表で疎化(エッジ・トリミング)を実行します。

パラメータ

edge_tab_name

プロパティ・グラフ・エッジ表(GE$)の名前。

threshold

実行する必要のある疎化の量を制御する数値。値が小さくなるほど、エッジは削除されます。一般的な値: 0.1、0.2、...0.5

min_keep

各頂点に対して保持する必要のある隣接エッジの最小数を示す正の整数。推奨値は1です。

dop

操作の並列度。

wt_out_tab

出力の疎化されたグラフを保持する作業表。

wt_und_tab

元のグラフの方向付けのないバージョンを保持する作業表。

wt_hsh_tab

グラフの最小ハッシュ値を保持する作業表。

wt_mch_tab

最小ハッシュ値の一致数を保持する作業表。

tbs

作業表データを保持する作業表。

options

操作に対する追加の設定。次の値が1つ以上含まれる(カンマ区切り)オプションの文字列。

  • 'INMEMORY=T'は'inmemory'句を使用してスキーマ表を作成するためのオプションです。

  • 'IMC_MC_B=T'はINMEMORY MEMCOMPRESS BASIC句を使用してスキーマ表を作成します。

使用上のノート

このプロシージャをコールするには、CREATE TABLE権限が必要です。

使用される疎化アルゴリズムはローカル疎化に基づく最小ハッシュです。データ管理に関する2011 ACM SIGMOD国際会議の議事録「Local graph sparsification for scalable clustering」を参照してください(https://cs.uwaterloo.ca/~tozsu/courses/CS848/W15/presentations/ElbagouryPresentation-2.pdf)。

疎化はグラフのトポロジにのみ関係します。プロパティ(K/V)は何も関係しません。

次の例では、mypgのエッジ表に対し、準備作業を行い、作業表の名前を出力し、疎化を実行します。出力の疎化されたグラフは、2つの列SVIDおよびDVIDのあるLEAN_PGという名前の表に格納されます。

SQL> set serveroutput on
DECLARE
  my_lean_pg  varchar2(100) := 'lean_pg'; -- output table
  wt2 varchar2(100);
  wt3 varchar2(100);
  wt4 varchar2(100);
BEGIN
  opg_apis.sparsify_graph_prep('mypgGE$', my_lean_pg, wt2, wt3, wt4, null);
  dbms_output.put_line('wt2 ' || wt2 || ', wt3 ' || wt3 || ', wt4 '|| wt4);

  opg_apis.sparsify_graph('mypgGE$', 0.5, 1, 4, my_lean_pg, wt2, wt3, wt4, 'SEMTS', null);
END;
/ 
  
wt2 "MYPGGE$$TWSPAU275", wt3 "MYPGGE$$TWSPAH275", wt4 "MYPGGE$$TWSPAM275"


SQL> describe lean_pg;
 Name					   Null?    Type
 ----------------------------------------- -------- ----------------------------
 SVID						    NUMBER
 DVID						    NUMBER