graphbase-js
v2.1.6
Published
A directed and undirected multi-graph library
Maintainers
Readme
Graphbase
Graphbase is a lightweight JavaScript library that provides robust data structures for directed and undirected multigraphs, along with a collection of algorithms for working with them.
Installation
npm
Install via npm:
$ npm install graphbase-jsSource Build
To build from source, ensure you have npm installed, then run from the project root:
$ make distExample
The following example demonstrates basic usage in Node.js:
const { Graph } = require("graphbase-js");
// Create a new directed graph
const g = new Graph();
// Add node "a" with no label
g.setNode("a");
g.hasNode("a");
// => true
// Add node "b" 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" with an object label
g.setNode("c", { k: 123 });
// List all nodes
g.nodes();
// => [ 'a', 'b', 'c' ]
// Add a directed edge from "a" to "b"
g.setEdge("a", "b");
// Add a directed edge with a label
// Node "d" is created automatically if it does not exist
g.setEdge("c", "d", { k: 456 });
// List all edges
g.edges();
// => [
// { v: 'a', w: 'b' },
// { v: 'c', w: 'd' }
// ]
// Edges leaving node "a"
g.outEdges("a");
// => [ { v: 'a', w: 'b' } ]
// Edges connected to node "d"
g.nodeEdges("d");
// => [ { v: 'c', w: 'd' } ]API Reference
Full API documentation is available in the project Wiki.
Bug Reports
Found a bug or have a feature request? Please open an issue here:
👉 https://github.com/GRAPHBASEORG/graphbase/issues
Contributing
Contributions are welcome! Please submit pull requests or open issues to discuss proposed changes.
License
Graphbase is licensed under the terms of the MIT License. See the LICENSE file for details.
