Properties
All the following properties are read-only and may not be changed by the user.
#.order
Number of nodes in the graph.
Example
const graph = new Graph();
graph.addNode('John');
graph.addNode('Jack');
graph.order;
>>> 2
#.size
Number of edges in the graph.
Example
const graph = new Graph();
graph.addNode('John');
graph.addNode('Jack');
graph.addEdge('John', 'Jack');
graph.size;
>>> 1
Variants
#.directedSize
#.undirectedSize
#.type
Type of the graph. One of mixed
, directed
or undirected
.
Example
const graph = new Graph();
graph.type;
>>> 'mixed'
const directedGraph = new DirectedGraph();
directedGraph.type;
>>> 'directed'
#.multi
Whether the graph accepts parallel edges or not.
Example
const graph = new Graph();
graph.multi;
>>> false
const multiGraph = new MultiGraph();
multiGraph.multi;
>>> true
#.allowSelfLoops
Whether the graph accepts self loops or not.
const graph = new Graph();
graph.allowSelfLoops;
>>> true
const otherGraph = new Graph({allowSelfLoops: false});
graph.allowSelfLoops;
>>> false
#.selfLoopCount
The total number of self loop included in the graph.
const graph = new Graph();
graph.selfLoopCount
>>> 0
graph.mergeEdge('John', 'John');
graph.selfLoopCount
>>> 1
Variants
#.directedSelfLoopCount
#.undirectedSelfLoopCount
#.implementation
A string containing the graph instance’s implementation name.
import Graph from 'graphology';
const graph = new Graph();
graph.implementation;
>>> 'graphology'
It can be useful if you ever need to optimize libraries based upon the knowledge that the given instance is from a specific implementation.