10.11 OPG_APIS.COUNT_TRIANGLE_RENUM
Format
COUNT_TRIANGLE_RENUM( edge_tab_name IN VARCHAR2, wt_undBM IN VARCHAR2, wt_rnmap IN VARCHAR2, wt_undAM IN VARCHAR2, num_sub_ptns IN INTEGER DEFAULT 1, dop IN INTEGER DEFAULT 1, tbs IN VARCHAR2 DEFAULT NULL, options IN VARCHAR2 DEFAULT NULL ) RETURN NUMBER;
Description
Performs triangle counting in property graph, with the optimization of renumbering the vertices of the graph by their degree.
Parameters
- edge_tab_name
-
Name of the property graph edge table.
- wt_undBM
-
A working table holding an undirected version of the original graph (before renumbering optimization).
- wt_rnmap
-
A working table that is a mapping table for renumbering optimization.
- wt_undAM
-
A working table holding the undirected version of the graph data after applying the renumbering optimization.
- num_sub_ptns
-
Number of logical subpartitions used in calculating triangles . Must be a positive integer, power of 2 (1, 2, 4, 8, ...). For a graph with a relatively small maximum degree, use the value 1 (the default).
- dop
-
Degree of parallelism for the operation. The default is 1 (no parallelism).
- tbs
-
Name of the tablespace to hold the data stored in working tables.
- options
-
Additional settings for operation. An optional string with one or more (comma-separated) of the following values:
-
PDML=Tenables parallel DML.
-
Usage Notes
This function makes the algorithm run faster, but requires more space.
The property graph edge table must exist in the database, and the OPG_APIS.COUNT_TRIANGLE_PREP procedure must already have been executed.
Examples
The following example performs triangle counting in the property graph named connections. It does not perform the cleanup after it finishes, so you can count triangles again on the same graph without calling the preparation procedure.
set serveroutput on
DECLARE
wt1 varchar2(100); -- intermediate working table
wt2 varchar2(100);
wt3 varchar2(100);
n number;
BEGIN
opg_apis.count_triangle_prep('connectionsGE$', wt1, wt2, wt3);
n := opg_apis.count_triangle_renum(
'connectionsGE$',
wt1,
wt2,
wt3,
num_sub_ptns=>1,
dop=>2,
tbs => 'MYPG_TS',
options=>'PDML=T'
);
dbms_output.put_line('total number of triangles ' || n);
END;
/
Parent topic: OPG_APIS Package Subprograms