This document provides an example-driven, comprehensive coverage of the functionality of Graph for Scala as part of the Extended Scala Library. In each chapter examples are listed first. You may then read the explanations following the examples to make them more coherent or skip them and go directly to the next chapter.
References to specific
Graph classes in this document may be looked
up in the Scaladoc API reference. This guide is not meant to be complete.
For the sake of simplicity, most examples are based on graphs spanned
over nodes of the type
Graph customization is shown by the node type
and the edge type
The most important reasons why Graph for Scala speeds up your development are:
Graphhas the same "look and feel" as other members of the Scala collection framework. Whenever appropriate, result types are Scala collection types themselves.
Look and see!
Throughout the library we use the terms node as a synonym to vertex and edge as a generic term for hyperedge, line (undirected edge) or arc (directed edge).
Graph creation, editing, functional traversal,
path operations, degree calculation and cycle detection have been completed.
More functionality is due to be added. You are invited to request enhancements
based on your problem domain.
The Graph for Scala library consists of the Core and further optional modules. Each module comes with its separate User Guide and is built as a separate Jar.