Welcome to scalax.collection.Graph
Graph for Scala provides basic graph functionality
with the look and feel of Scala Library collections.
Graph editing, traversing and much more is available at your fingerprint in a Scala-ish way.
Like the members of
scala.collection, graph instances are in-memory containers
that expose a rich, user-friendly interface.
Just for the records, the first version of Graph for Scala was published in 2011.
Backed by the Scala core team, it started in the EPFL
Scala incubator space that time.
Why use Graph for Scala?
Some important facts about how Graph for Scala helps to speed up your
Creating, manipulating and traversing graphs is intuitive,
the graph interface is unified for all graph types.
Graph for Scala seamlessly maintains a consistent state of nodes and edges
including duplicate element prevention, intelligent addition and removal.
Graph for Scala has the same look and feel as collections in the Scala Library.
With result types being Scala collections themselves, you stay in the Scala universe.
- Label your nodes and edges without any restriction in a type safe way.
- Choose the best fit for your use case from a wide range of graph types also including mixed graphs, multi-graphs and hypergraphs.
- Find contained components.
- Walk from node to node.
- Supply your node or edge visitor to any traversal optionally.
Graph for Scala facilitates a concise, functional style.
Ideal progress curve through adequate user guides and detailed
Look and see!
The Graph for Scala library consists of the Core module
and further optional modules with a separate User Guide each, namely:
Dot allows for export in DOT format
JSON supports JSON serialization/deserialization.
Graph for Scala is hosted on Github
The library is licensed under the Apache 2.0 License.
Want to take it for a spin? Grab the latest release to get started, then
visit the Core User Guide to learn more.
Please post your questions on the
where you can also browse previous questions.
For error reports and enhancement requests use
To improve this site, check out
You are also welcome as a contributor.