9.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=T
enables 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