Skip to content

Commit 40468c8

Browse files
committed
25.1 release updates
1 parent 0618808 commit 40468c8

File tree

89 files changed

+511
-717
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+511
-717
lines changed

built-in-algorithms/md/pgx_builtin_a1_prim.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
- **Time Complexity:** O(E + V log V) with V = number of vertices, E = number of edges
66
- **Space Requirement:** O(2 * E + V) with V = number of vertices, E = number of edges
77
- **Javadoc:**
8-
- [Analyst#prim(PgxGraph graph, EdgeProperty<java.lang.Double> weight)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#prim_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_)
9-
- [Analyst#prim(PgxGraph graph, EdgeProperty<java.lang.Double> weight, EdgeProperty<java.lang.Boolean> mst)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#prim_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_oracle_pgx_api_EdgeProperty_)
8+
- [Analyst#prim(PgxGraph graph, EdgeProperty<java.lang.Double> weight)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#prim_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_)
9+
- [Analyst#prim(PgxGraph graph, EdgeProperty<java.lang.Double> weight, EdgeProperty<java.lang.Boolean> mst)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#prim_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_oracle_pgx_api_EdgeProperty_)
1010

1111
This implementation of Prim's algorithm works on undirected graphs that are connected and have no multi-edges (i.e. more than one edge connecting the same pair of vertices). The algorithm computes the minimum spanning tree (MST) of the graph using the weights associated to each edge. A minimum spanning tree is a subset of the edges that connects all the vertices in the graph such that it minimizes the total weight associated to the edges.
1212

@@ -29,7 +29,7 @@ This implementation of Prim's algorithm works on undirected graphs that are conn
2929

3030
```java
3131
/*
32-
* Copyright (C) 2013 - 2024 Oracle and/or its affiliates. All rights reserved.
32+
* Copyright (C) 2013 - 2025 Oracle and/or its affiliates. All rights reserved.
3333
*/
3434
package oracle.pgx.algorithms;
3535

built-in-algorithms/md/pgx_builtin_a1u_prim.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
- **Time Complexity:** O(E + V log V) with V = number of vertices, E = number of edges
66
- **Space Requirement:** O(2 * E + V) with V = number of vertices, E = number of edges
77
- **Javadoc:**
8-
- [Analyst#prim(PgxGraph graph, EdgeProperty weight)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#prim_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_)
9-
- [Analyst#prim(PgxGraph graph, EdgeProperty weight, EdgeProperty mst)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#prim_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_oracle_pgx_api_EdgeProperty_)
8+
- [Analyst#prim(PgxGraph graph, EdgeProperty weight)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#prim_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_)
9+
- [Analyst#prim(PgxGraph graph, EdgeProperty weight, EdgeProperty mst)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#prim_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_oracle_pgx_api_EdgeProperty_)
1010

1111
This implementation of Prim's algorithm works on directed graphs that are connected but ignores edge directions to interpret the graph as undirected. The algorithm computes the minimum spanning tree (MST) of the graph using the weights associated to each edge. A minimum spanning tree is a subset of the edges that connects all the vertices in the graph such that it minimizes the total weight associated to the edges.
1212

@@ -29,7 +29,7 @@ This implementation of Prim's algorithm works on directed graphs that are connec
2929

3030
```java
3131
/*
32-
* Copyright (C) 2013 - 2024 Oracle and/or its affiliates. All rights reserved.
32+
* Copyright (C) 2013 - 2025 Oracle and/or its affiliates. All rights reserved.
3333
*/
3434
package oracle.pgx.algorithms;
3535

built-in-algorithms/md/pgx_builtin_c1_community_detection_label_propagation.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
- **Time Complexity:** O(E * k) with E = number of edges, k <= maximum number of iterations
66
- **Space Requirement:** O(2 * V) with V = number of vertices
77
- **Javadoc:**
8-
- [Analyst#communitiesLabelPropagation(PgxGraph graph)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesLabelPropagation_oracle_pgx_api_PgxGraph_)
9-
- [Analyst#communitiesLabelPropagation(PgxGraph graph, int maxIterations)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesLabelPropagation_oracle_pgx_api_PgxGraph_int_)
10-
- [Analyst#communitiesLabelPropagation(PgxGraph graph, int maxIterations, VertexProperty<ID,java.lang.Long> partitionDistribution)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesLabelPropagation_oracle_pgx_api_PgxGraph_int_oracle_pgx_api_VertexProperty_)
11-
- [Analyst#communitiesLabelPropagation(PgxGraph graph, VertexProperty<ID,java.lang.Long> partitionDistribution)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesLabelPropagation_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_)
8+
- [Analyst#communitiesLabelPropagation(PgxGraph graph)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesLabelPropagation_oracle_pgx_api_PgxGraph_)
9+
- [Analyst#communitiesLabelPropagation(PgxGraph graph, int maxIterations)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesLabelPropagation_oracle_pgx_api_PgxGraph_int_)
10+
- [Analyst#communitiesLabelPropagation(PgxGraph graph, int maxIterations, VertexProperty<ID,java.lang.Long> partitionDistribution)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesLabelPropagation_oracle_pgx_api_PgxGraph_int_oracle_pgx_api_VertexProperty_)
11+
- [Analyst#communitiesLabelPropagation(PgxGraph graph, VertexProperty<ID,java.lang.Long> partitionDistribution)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesLabelPropagation_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_)
1212

1313
Label Propagation is an algorithm designed to find community structures in a graph. It assigns a unique community label to each vertex in the graph, which then is updated on each iteration by looking and choosing the most frequent label amongst those from its neighbors. Convergence is achieved once the label of each vertex is the same as the most frequent one amongst its neighbors, i.e. when there are no changes in the communities assigned to the vertices in one iteration.
1414

@@ -31,7 +31,7 @@ Label Propagation is an algorithm designed to find community structures in a gra
3131

3232
```java
3333
/*
34-
* Copyright (C) 2013 - 2024 Oracle and/or its affiliates. All rights reserved.
34+
* Copyright (C) 2013 - 2025 Oracle and/or its affiliates. All rights reserved.
3535
*/
3636
package oracle.pgx.algorithms;
3737

built-in-algorithms/md/pgx_builtin_c2_community_detection_conductance_minimization.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
- **Time Complexity:** O(E * k) with E = number of edges, k <= maximum number of iterations
66
- **Space Requirement:** O(5 * V + 2 * E) with V = number of vertices, E = number of edges
77
- **Javadoc:**
8-
- [Analyst#communitiesConductanceMinimization(PgxGraph graph)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesConductanceMinimization_oracle_pgx_api_PgxGraph_)
9-
- [Analyst#communitiesConductanceMinimization(PgxGraph graph, int max)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesConductanceMinimization_oracle_pgx_api_PgxGraph_int_)
10-
- [Analyst#communitiesConductanceMinimization(PgxGraph graph, int max, VertexProperty<ID,java.lang.Long> partitonDistribution)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesConductanceMinimization_oracle_pgx_api_PgxGraph_int_oracle_pgx_api_VertexProperty_)
11-
- [Analyst#communitiesConductanceMinimization(PgxGraph graph, VertexProperty<ID,java.lang.Long> partitonDistribution)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesConductanceMinimization_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_)
8+
- [Analyst#communitiesConductanceMinimization(PgxGraph graph)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesConductanceMinimization_oracle_pgx_api_PgxGraph_)
9+
- [Analyst#communitiesConductanceMinimization(PgxGraph graph, int max)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesConductanceMinimization_oracle_pgx_api_PgxGraph_int_)
10+
- [Analyst#communitiesConductanceMinimization(PgxGraph graph, int max, VertexProperty<ID,java.lang.Long> partitonDistribution)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesConductanceMinimization_oracle_pgx_api_PgxGraph_int_oracle_pgx_api_VertexProperty_)
11+
- [Analyst#communitiesConductanceMinimization(PgxGraph graph, VertexProperty<ID,java.lang.Long> partitonDistribution)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesConductanceMinimization_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_)
1212

1313
The algorithm proposed by Soman and Narang to find community structures in a graph can be regarded as a variant of the label propagation algorithm, since it takes into account weights over the edges when looking for the community assignments. This implementation generates the weight of the edges by using the triangles in the graph, and just like label propagation, it assigns a unique community label to each vertex in the graph at the beginning, which is then updated on each iteration by looking and choosing the most frequent label from the labels of their neighbors. Convergence is achieved once the label of each vertex is the same as the most frequent one amongst its neighbors, i.e. when there are no changes in the communities assigned to the vertices in one iteration.
1414

@@ -31,7 +31,7 @@ The algorithm proposed by Soman and Narang to find community structures in a gra
3131

3232
```java
3333
/*
34-
* Copyright (C) 2013 - 2024 Oracle and/or its affiliates. All rights reserved.
34+
* Copyright (C) 2013 - 2025 Oracle and/or its affiliates. All rights reserved.
3535
*/
3636
package oracle.pgx.algorithms;
3737

built-in-algorithms/md/pgx_builtin_c3_infomap.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
- **Time Complexity:** O((k ^ 2) * E) with E = number of edges, k <= maximum number of iterations
66
- **Space Requirement:** O(10 * V + 2 * E) with V = number of vertices, E = number of edges
77
- **Javadoc:**
8-
- [Analyst#communitiesInfomap(PgxGraph graph, VertexProperty<ID,java.lang.Double> rank, EdgeProperty<java.lang.Double> weight)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesInfomap_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_oracle_pgx_api_EdgeProperty_)
9-
- [Analyst#communitiesInfomap(PgxGraph graph, VertexProperty<ID,java.lang.Double> rank, EdgeProperty<java.lang.Double> weight, double tau, double tol, int maxIter)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesInfomap_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_oracle_pgx_api_EdgeProperty_double_double_int_)
10-
- [Analyst#communitiesInfomap(PgxGraph graph, VertexProperty<ID,java.lang.Double> rank, EdgeProperty<java.lang.Double> weight, double tau, double tol, int maxIter, VertexProperty<ID,java.lang.Long> module)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesInfomap_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_oracle_pgx_api_EdgeProperty_double_double_int_oracle_pgx_api_VertexProperty_)
11-
- [Analyst#communitiesInfomap(PgxGraph graph, VertexProperty<ID,java.lang.Double> rank, EdgeProperty<java.lang.Double> weight, VertexProperty<ID,java.lang.Long> module)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#communitiesInfomap_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_oracle_pgx_api_EdgeProperty_oracle_pgx_api_VertexProperty_)
8+
- [Analyst#communitiesInfomap(PgxGraph graph, VertexProperty<ID,java.lang.Double> rank, EdgeProperty<java.lang.Double> weight)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesInfomap_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_oracle_pgx_api_EdgeProperty_)
9+
- [Analyst#communitiesInfomap(PgxGraph graph, VertexProperty<ID,java.lang.Double> rank, EdgeProperty<java.lang.Double> weight, double tau, double tol, int maxIter)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesInfomap_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_oracle_pgx_api_EdgeProperty_double_double_int_)
10+
- [Analyst#communitiesInfomap(PgxGraph graph, VertexProperty<ID,java.lang.Double> rank, EdgeProperty<java.lang.Double> weight, double tau, double tol, int maxIter, VertexProperty<ID,java.lang.Long> module)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesInfomap_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_oracle_pgx_api_EdgeProperty_double_double_int_oracle_pgx_api_VertexProperty_)
11+
- [Analyst#communitiesInfomap(PgxGraph graph, VertexProperty<ID,java.lang.Double> rank, EdgeProperty<java.lang.Double> weight, VertexProperty<ID,java.lang.Long> module)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#communitiesInfomap_oracle_pgx_api_PgxGraph_oracle_pgx_api_VertexProperty_oracle_pgx_api_EdgeProperty_oracle_pgx_api_VertexProperty_)
1212

1313
Infomap is a robust algorithm designed to find community structures in a graph that requires some pre-processing steps. This implementation needs a reciprocated or an undirected graph, as well as the ranking score from the normalized weighted version of the Pagerank algorithm. It will assign a unique module (or community) label to each vertex in the graph based on their Pagerank score, edge weights and the labels of their neighbors. It is an iterative algorithm that updates the labels of the vertices in random order on each iteration using the previous factors, converging once there are no further changes in the vertex labels, or once the maximum number of iterations is reached. The algorithm is non-deterministic because of the random order for visiting and updating the vertex labels, thus the communities found might be different each time the algorithm is run.
1414

@@ -35,7 +35,7 @@ Infomap is a robust algorithm designed to find community structures in a graph t
3535

3636
```java
3737
/*
38-
* Copyright (C) 2013 - 2024 Oracle and/or its affiliates. All rights reserved.
38+
* Copyright (C) 2013 - 2025 Oracle and/or its affiliates. All rights reserved.
3939
*/
4040
package oracle.pgx.algorithms;
4141

built-in-algorithms/md/pgx_builtin_c4_louvain.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
- **Time Complexity:** O(E * k) with E = number of edges, k <= maximum number of iterations
66
- **Space Requirement:** O(8 * V + E) with V = number of vertices
77
- **Javadoc:**
8-
- [Analyst#louvain(PgxGraph graph, EdgeProperty<java.lang.Double> weight)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#louvain_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_)
9-
- [Analyst#louvain(PgxGraph graph, EdgeProperty<java.lang.Double> weight, int maxIter)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#louvain_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_int_)
10-
- [Analyst#louvain(PgxGraph graph, EdgeProperty<java.lang.Double> weight, int maxIter, int nbrPass, double tol, VertexProperty<ID,java.lang.Long> community)](https://docs.oracle.com/en/database/oracle/property-graph/24.4/spgjv/oracle/pgx/api/Analyst.html#louvain_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_int_int_double_oracle_pgx_api_VertexProperty_)
8+
- [Analyst#louvain(PgxGraph graph, EdgeProperty<java.lang.Double> weight)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#louvain_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_)
9+
- [Analyst#louvain(PgxGraph graph, EdgeProperty<java.lang.Double> weight, int maxIter)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#louvain_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_int_)
10+
- [Analyst#louvain(PgxGraph graph, EdgeProperty<java.lang.Double> weight, int maxIter, int nbrPass, double tol, VertexProperty<ID,java.lang.Long> community)](https://docs.oracle.com/en/database/oracle/property-graph/25.1/spgjv/oracle/pgx/api/Analyst.html#louvain_oracle_pgx_api_PgxGraph_oracle_pgx_api_EdgeProperty_int_int_double_oracle_pgx_api_VertexProperty_)
1111

1212
Louvain is an algorithm for community detection in large graphs which uses the graph's modularity. Initially it assigns a different community to each node of the graph. It then iterates over the nodes and evaluates for each node the modularity gain obtained by removing the node from its community and placing it in the community of one of its neighbors. The node is placed in the community for which the modularity gain is maximum. This process is repeated for all nodes until no improvement is possible, i.e until no new assignment of a node to a different community can improve the graph's modularity.
1313

@@ -33,7 +33,7 @@ Louvain is an algorithm for community detection in large graphs which uses the g
3333

3434
```java
3535
/*
36-
* Copyright (C) 2013 - 2024 Oracle and/or its affiliates. All rights reserved.
36+
* Copyright (C) 2013 - 2025 Oracle and/or its affiliates. All rights reserved.
3737
*/
3838
package oracle.pgx.algorithms;
3939

0 commit comments

Comments
 (0)