Skip to content
David Newell edited this page Nov 17, 2023 · 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 in node.js:

varGraph=require("graphlib").Graph;// Create a new directed graphvarg=newGraph();// Add node "a" to the graph with no labelg.setNode("a");g.hasNode("a");// => true// Add node "b" to the graph with a String labelg.setNode("b","b's value");// Get the label for node bg.node("b");// => "b's value"// Add node "c" to the graph with an Object labelg.setNode("c",{k: 123});// What nodes are in the graph?g.nodes();// => `[ 'a', 'b', 'c' ]`// Add a directed edge from "a" to "b", but assign no labelg.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});// What edges are in the graph?g.edges();// => `[ { v: 'a', w: 'b' },// { v: 'c', w: 'd' } ]`.// 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' } ]`

or graphlib can be included in a webpage:

<scriptsrc="http://PATH/TO/graphlib.min.js"></script><script>
var g = new graphlib.Graph();
// ...etc.

Installing

npm Install

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

To get graphlib from npm, use:

$ npm install @dagrejs/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 v2.1.2:

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