Exploration of declarative programming with data models and graph theory using JavaScript, Node.js, and HTML5.
"Begin at the beginning," the King said very gravely. "and go on till you come to the end: then stop." - Lewis Carroll, Alice in Wonderland
See also: Mathematical Graph Theory
NEW DOCS for the v0.7.1 release: ARCcore.graph
This is a data modeling and algorithms library. It does not draw graphs in your browser!
Encapsule/jsgraph (aka ARCcore.graph) is a JavaScript library for storing and processing in-memory directed graph data sets inspired by Jeremy Siek's work on the Boost C++ Graph Library (BGL). The library is not a complete port of the BGL but does provide a very useful subset its functionality that is useful for building data-driven JavaScript applications.
Briefly, jsgraph library provides:
Encapsule/jsgraph is a stand-alone JavaScript library that may be used directly in Node.js applications. Or in the browser via webpack.
The library is also distributed as part of the Encapsule/ARCcore package that contains a number of other libraries for modeling and processing complex in-memory data in JavaScript applications that some of you may find interesting and useful.
This library is used in production applications. And, in ridiculous derived science projects. So, the bar is pretty high for taking changes (particularly breaking changes). And, PR's need to come with tests! Exceptions made on a case-by-case basis for nice people and important projects with wide benefit.
v0.7.1 is a maintenance release
v0.7 is a breaking API change and documentation release
DirectedGraph.stringify
DirectedGraph.toJSON
to return a serializable object instead of a JSON-encoded string.DirectedGraph.toObject
to call DirectedGraph.toJSON
. The toObject
method is now deprecated and will be removed in a future release.DirectedGraph
serialization API.DirectedGraph
name and description properties.v0.6 is a bug fix release that's API-compatible with v0.5
name
and description
string properties on a DirectedGraph
:v0.5 is a breaking upgrade for users of v0.4
breadthFirstTraverse
.depthFirstTraverse
.Copyright © 2014-2017 Christopher D. Russell