-
Notifications
You must be signed in to change notification settings - Fork 235
Home
Graphlib is a JavaScript library for creating and modifying directed and undirected graphs. In addition to a core graph API, it also comes with implementations for many common graph algorithms.
This following code block shows a small example of how to use graphlib.
var Graph = require("graphlib").Graph;
// Create a new directed graph
var g = new Graph();
// Add node "a" to the graph with no label
g.setNode("a");
// This returns true
g.hasNode("a");
// Add node "b" to the graph with a String label
g.setNode("b", "b's value");
// Get the label for node b
g.node("b");
// => "b's value"
// Add node "c" to the graph with an Object label
g.setNode("c", { k: 123 });
console.log(g.nodes());
// => `[ 'a', 'b', 'c' ]`
// Add a directed edge from "a" to "b", but assign no label
g.setEdge("a", "b");
// Add a directed edge from "c" to "d" with an Object label.
// Since "d" did not exist prior to this call it is automatically
// created with an undefined label.
g.setEdge("c", "d", { k: 456 });
g.edges();
// => `[ { v: 'a', w: 'b' },
// { v: 'c', w: 'd', label: { k: 456 } } ]`.
// Which edges leave node "a"?
g.outEdges("a");
// => `[ { v: 'a', w: 'b' } ]`
// Which edges enter and leave node "d"?
g.nodeEdges("d");
// => `[ { v: 'c', w: 'd', label: { k: 456 } } ]`
Before installing this library you need to install the npm package manager.
To get graphlib from npm, use:
$ npm install graphlib
You can install graphlib with bower using the following command:
$ bower install graphlib
You can get the latest browser-ready scripts:
You can also get the scripts for a particular version. For example, to get v0.8.1:
Look at the releases page to find a list of versions.
Before building this library you need to install the npm package manager.
Check out this project and run this command from the root of the project:
$ make dist
This will generate graphlib.js
and graphlib.min.js
in the dist
directory
of the project.
Graphlib is licensed under the terms of the MIT License. See LICENSE for details.