From the webpage:
JGraphT is a free Java graph library that provides mathematical graph-theory objects and algorithms. JGraphT supports various types of graphs including:
- directed and undirected graphs.
- graphs with weighted / unweighted / labeled or any
user-defined edges.- various edge multiplicity options, including: simple-graphs,
multigraphs, pseudographs.- unmodifiable graphs – allow modules to provide
"read-only" access to internal graphs.- listenable graphs – allow external listeners to track modification events.
- subgraphs graphs that are auto-updating subgraph views on
other graphs.- all compositions of above graphs.
Although powerful, JGraphT is designed to be simple and type-safe (via Java generics). For example, graph vertices can be of any objects. You can create graphs based on: Strings, URLs, XML documents, etc; you can even create graphs of graphs! This code example shows how.
Other features offered by JGraphT:
- graph visualization using the JGraph library (try this demo!)
- complete source code included, under the terms of the
GNU Lesser General Public License.- comprehensive Javadocs.
- easy extensibility.
Suggestions of other graph exploration software?