Skip to content
cpettitt edited this page Oct 22, 2014 · 19 revisions

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.

Table of Contents

Example

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 } } ]`

Installing

NPM Install

Before installing this library you need to install the npm package manager.

To get graphlib from npm, use:

$ npm install graphlib

Bower Install

You can install graphlib with bower using the following command:

$ bower install graphlib

Browser Scripts

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.

Source Build

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.

License

Graphlib is licensed under the terms of the MIT License. See LICENSE for details.

Clone this wiki locally