3

I'm working with graphs and jung seems to work fine so far in my test environment(its a few thousand nodes), but the real data will create several million nodes every day(its a directed graph so we may be able to sperate the nodes by days so we don't have to download the entire graph). We will add a billion+ nodes every month and plan to use hbase/hadoop as our backend but not sure how I can get jung(or any graph library) to connect to it.

Is there a way to have jung use a database to read/write to so I can have some type of persistent storage that I can selectively download from?

Lostsoul
  • 25,013
  • 48
  • 144
  • 239
  • In some Jung examples, they store both vertices and edges in a HashMap. Maybe, you can replace HashMap a database object? – ecle Feb 29 '12 at 12:20
  • I'm a bit new to Java..how do I do that? – Lostsoul Mar 01 '12 at 00:44
  • You can create a Graph implementation that is backed by a database, or that is loaded from a database. You will need to do some reading on how to load data from (and possibly to, if you want to change the graph and have those changes persist) your backing store; that's outside the scope of JUNG proper. – Joshua O'Madadhain Mar 05 '12 at 00:02

1 Answers1

3

One option you have is to use blueprints:

Blueprints is a property graph model interface. It provides implementations, test suites, and supporting extensions. Graph databases and frameworks that implement the Blueprints interfaces automatically support Blueprints-enabled applications. Likewise, Blueprints-enabled applications can plug-and-play different Blueprints-enabled graph backends.

Blueprints provides interfaces to numerous db backends such as Neo4j and they have a JUNG interface implementation called GraphJung.

The benefits of GraphJung is that any application that is written to talk to a JUNG edu.uci.ics.jung.graph.Graph can now, indirectly, talk to a Blueprints com.tinkerpop.blueprints.pgm.Graph. Exciting applications include the use of the JUNG visualization and algorithms packages (see JUNG JavaDoc) over any Blueprints-enabled graph database/framework.

I think this sounds like something that could help you interface a JUNG graph to a blueprints enabled backend (Neo4j, OrientDB etc).

Binary Nerd
  • 13,872
  • 4
  • 42
  • 44