List of Java APIs for graph/network data structures

collections, graph, java

Solution

I searched a lot for Java Graph Library in the web for my MS thesis. I suggest you the following frameworks:

- GraphStream: it has very simple API and it's plenty of algorithms. It offers many graph structures (directed, undirected, multigraph, ... ) and many visualisation tools.

- JUNG: this framework has been around for a while, so it has robust and well-tested features. Last release was in 2010, so the syntax is quite a bit old.

Both the frameworks have many algorithms and a visualisation tool.

If you are concerned about memory and performance, and you just need the graph data structure (no algorithms, no visualisation), I would suggest AuroraGraphManager, which is the graph data structure I implemented and part of my thesis. The frameworks I suggested above weren't good for me because I had to deal with quite big graphs (up to 300 million edges).

Hope it helps!

Problem

What are some good Java APIs for working with graphs (edges/nodes) as data structures? Please add references to similar SO questions in comments to this wiki. Please edit the list in this wiki entry directly. Please add summary description of your added projects as answers (one project per answer).

Original source

Related problems