A.11.29 OPG_APIS.FIND_SP
Format
OPG_APIS.FIND_SP( edge_tab_name IN VARCHAR2, source IN NUMBER, dest IN NUMBER, exp_tab IN OUT VARCHAR2, dop IN INTEGER, stats_freq IN INTEGER DEFAULT 20000, path_output OUT VARCHAR2, weights_output OUT VARCHAR2, edge_tab_name IN VARCHAR2, options IN VARCHAR2 DEFAULT NULL, scn IN NUMBER DEFAULT NULL);
Description
Finds the shortest path between given source vertex and destination vertex in the property graph. It assumes each edge has a numeric weight property. (The actual edge property name is not significant.)
Parameters
- edge_tab_name
-
Name of the property graph edge table.
- source
-
Source (start) vertex ID.
- dest
-
Destination (end) vertex ID.
- exp_tab
-
Name of the expansion table to be used for shortest path calculations.
- dop
-
Degree of parallelism for the operation.
- stats_freq
-
Frequency for collecting statistics on the table.
- path_output
-
The output shortest path. It consists of IDs of vertices on the shortest path, which are separated by the space character.
- weights_output
-
The output shortest path weights. It consists of weights of edges on the shortest path, which are separated by the space character.
- options
-
Additional settings for the operation. An optional string with one or more (comma-separated) of the following values:
-
CREATE_UNDIRECTED=T
-
REUSE_UNDIRECTED_TAB=T
-
- scn
-
SCN for the edge table. It can be null.
Usage Notes
The property graph edge table must exist in the database, and the OPG_APIS.FIND_SP_PREP procedure must have already been called.
Examples
The following example prepares for shortest-path calculation, and then finds the shortest path from vertex 1 to vertex 35 in a property graph named mypg
.
set serveroutput on DECLARE w varchar2(2000); wtExp varchar2(2000); vPath varchar2(2000); BEGIN opg_apis.find_sp_prep('mypgGE$', wtExp, null); opg_apis.find_sp('mypgGE$', 1, 35, wtExp, 1, 200000, vPath, w, null, null); dbms_output.put_line('Shortest path ' || vPath); dbms_output.put_line('Path weights ' || w); END; /
The output will be similar to the following. It shows one shortest path starting from vertex 1, to vertex 2, and finally to the destination vertex (35).
Shortest path 1 2 35 Path weights 3 2 1 1
Parent topic: OPG_APIS Package Subprograms