Sheno
Sheno

Reputation: 19

Java graph library for visualizing dynamic and hierarchical graphs

For my Master’s project, I have to provide a graph visualization functionality in my lab (The lab currently has no way to visualize graph based data). Following are the requirements that my advisor has (till now) listed :

  1. The lab uses Java.
  2. The graph contains about 200 million nodes.
  3. Hierarchical graph visualization functionality is desired. (i.e. a graph in which a node is another graph. When such a node is clicked, the underlying graph should be displayed/magnified).
  4. Dynamic graphs should be modeled i.e. the underlying graph will change with time. This change should be reflected in the visualization.
  5. Should be easier to use/master (I would be the only person working on this.)
  6. Open-source/Freeware desired. However my adviser says they would be willing to pay if such a software is not available in the open-source market.

I would be writing code to interface the graph visualisation tool with the existing lab framework. I’ve been asked to search for and make use of an existing graph visualisation tool.

Appreciate if anyone can help me with this!

Upvotes: 1

Views: 1642

Answers (2)

seinecle
seinecle

Reputation: 10798

It does not exist to my knowledge:

  • 200 million nodes is a magnitude larger than what current libs can handle
  • viz libraries for hierarchical networks are rare because of their added complexity
  • and dynamic? Just Gephi does it reasonably well to my knowledge

I think Gephi is the closest to what you need: opensource, Java, handles very large graphs, dynamic, well maintained. See this post for details on the planned 0.9 release:
https://gephi.wordpress.com/2013/03/05/rebuilding-gephis-core-for-the-0-9-version/

Gephi supports hierarchical graphs in the current (as of 2015) version 0.8, but support will be dropped in 0.9

Disclaimer: I am part of the Gephi Community support team.

Upvotes: 1

omerkudat
omerkudat

Reputation: 10111

I've used neo4j in the past for simpler use cases. I'm not sure about your hierarchal requirement though. They don't seem to support that out of the box, but they provide one way of achieving it.

Upvotes: 0

Related Questions