2012-02-29 10 views
3

私はグラフで作業しており、テスト環境(数千のノード)ではこれまでのところうまく動作していますが、実際のデータでは毎日数百万のノードが作成されます(有向グラフ我々はグラフ全体をダウンロードする必要はありませんので、ノードをsperateしてください)。毎月十億個のノードを追加し、hbase/hadoopをバックエンドとして使用する予定ですが、どのようにju​​ng(または任意のグラフライブラリ)に接続できるかはわかりません。jungをデータベースに保存/書き込みする方法はありますか?

私は選択的にダウンロードできる永続的なストレージをいくつか持つことができるように、Jungに読み書きするデータベースを使用する方法はありますか?あなたが持っている

+0

いくつかのJungの例では、頂点とエッジの両方をHashMapに格納しています。たぶん、あなたはHashMapデータベースオブジェクトを置き換えることができますか? – ecle

+0

私はJavaにちょっと新しいです。どうすればいいですか? –

+0

データベースによってバックアップされている、またはデータベースからロードされたGraphインプリメンテーションを作成できます。バッキングストアからデータをロードする方法(グラフを変更してそれらの変更を維持したい場合)にいくつかの読書を行う必要があります。それはJUNG本来の範囲外です。 –

答えて

3

1つのオプションは、blueprintsを使用することです:

青写真は、プロパティグラフモデルインターフェイスです。これは、 実装、テストスイート、およびサポート拡張を提供します。グラフ Blueprintsインターフェイスを実装するデータベースとフレームワーク は、Blueprint対応のアプリケーションを自動的にサポートします。同様に、 Blueprint対応のアプリケーションでは、異なるBlueprint対応のグラフバックエンド をプラグアンドプレイすることができます。

Blueprintsは、Neo4jなどの多数のdbバックエンドへのインターフェイスを提供し、GraphJungと呼ばれるJUNG interface implementationを持っています。

GraphJungの利点は、JUNG edu.uci.ics.jung.graph.Graphに 話に書き込まれているすべてのアプリケーションは、今、 は間接的に、青写真のcom.tinkerpop.blueprintsに話すことができるということです。 pgm.Graph。 興味深いアプリケーションには、青写真に対応した グラフデータベース/フレームワークのJUNGビジュアライゼーションと アルゴリズムパッケージ(JUNG JavaDocを参照)を使用することが含まれます。

これは、青写真を有効にしたバックエンド(Neo4j、OrientDBなど)にJUNGグラフをインターフェイスするのに役立つと思われます。

関連する問題