Link Search Menu Expand Document

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.