16.6.1.2 Iteration
The most common operations in PGX algorithms are iterations (such as looping over all vertices, and looping over a vertex's neighbors) and graph traversal (such as breath-first/depth-first). All collections expose a forEach
and forSequential
method by which you can iterate over the collection in parallel and in sequence, respectively.
For example:
- To iterate over a graph's vertices in parallel:
G.getVertices().forEach(v -> { ... });
- To iterate over a graph's vertices in sequence:
G.getVertices().forSequential(v -> { ... });
- To traverse a graph's vertices from
r
in breadth-first order:import oracle.pgx.algorithm.Traversal; Traversal.inBFS(G, r).forward(n -> { ... });
Inside the
forward
(orbackward
) lambda you can access the current level of the BFS (or DFS) traversal bycalling currentLevel()
.
Parent topic: Writing a Custom PGX Algorithm