Graphology Traversal
Miscellaneous traversal functions to be used with graphology
.
Installation
npm install graphology-traversal
Usage
bfs
Perform a BFS (Breadth-First Search) over the given graph using a callback.
import {bfs} from 'graphology-traversal';
// Alternatively, to only load the relevant code
import {bfs} from 'graphology-traversal/bfs';
bfs(graph, function (node, attr, depth) {
console.log(node, attr, depth);
});
// Stopping at depth 3
bfs(graph, function (node, attr, depth) {
return depth >= 3;
});
Arguments
- graph Graph: a graphology instance.
- callback function: iteration callback taking the traversed node, its attributes and the traversal’s depth. Returning
true
will prevent the traversal from following the next neighbors. - options ?object: traversal options:
- mode ?string outbound: type of neighbors to traverse.
bfsFromNode
Perform a BFS (Breadth-First Search) over the given graph, starting from the given node, using a callback.
import {bfsFromNode} from 'graphology-traversal';
// Alternatively, to only load the relevant code
import {bfsFromNode} from 'graphology-traversal/bfs';
bfsFromNode(graph, 'node1', function (node, attr, depth) {
console.log(node, attr, depth);
});
// Stopping at depth 3
bfsFromNode(graph, 'node1', function (node, attr, depth) {
return depth >= 3;
});
Arguments
- graph Graph: a graphology instance.
- node string|number: starting node.
- callback function: iteration callback taking the traversed node, its attributes and the traversal’s depth. Returning
true
will prevent the traversal from following the next neighbors. - options ?object: traversal options:
- mode ?string outbound: type of neighbors to traverse.
dfs
Perform a DFS (Depth-First Search) over the given graph using a callback.
import {dfs} from 'graphology-traversal';
// Alternatively, to only load the relevant code
import {dfs} from 'graphology-traversal/dfs';
dfs(graph, function (node, attr, depth) {
console.log(node, attr, depth);
});
// Stopping at depth 3
dfs(graph, function (node, attr, depth) {
return depth >= 3;
});
Arguments
- graph Graph: a graphology instance.
- callback function: iteration callback taking the traversed node, its attributes and the traversal’s depth. Returning
true
will prevent the traversal from following the next neighbors. - options ?object: traversal options:
- mode ?string outbound: type of neighbors to traverse.
dfsFromNode
Perform a DFS (Depth-First Search) over the given graph, starting from the given node, using a callback.
import {dfsFromNode} from 'graphology-traversal';
// Alternatively, to only load the relevant code
import {dfsFromNode} from 'graphology-traversal/dfs';
dfsFromNode(graph, 'node1', function (node, attr, depth) {
console.log(node, attr, depth);
});
// Stopping at depth 3
dfsFromNode(graph, 'node1', function (node, attr, depth) {
return depth >= 3;
});
Arguments
- graph Graph: a graphology instance.
- node string|number: starting node.
- callback function: iteration callback taking the traversed node, its attributes and the traversal’s depth. Returning
true
will prevent the traversal from following the next neighbors. - options ?object: traversal options:
- mode ?string outbound: type of neighbors to traverse.