1

Oracleデータベースのテーブルデータからneo4jを使用してグラフを生成するためのリンク/サンプルソースコードを共有してください。

ノードと列はプロパティであるため、私のユースケースはOracleスキーマテーブル名です。また、ツリー構造でグラフを生成する必要があります。

4

3 に答える 3

3

tx.success()、tx.finish() でノードを作成した後、必ずトランザクションをコミットしてください。

それでもノードが表示されない場合は、コードや例外を投稿してください。

于 2013-10-04T12:56:01.330 に答える
1

JDBC を使用して oracle db データを抽出します。次に、Java API を使用して、対応するノードを構築します。

GraphDatabaseService db;

try(Transaction tx = db.beginTx()){
    Node datanode = db.createNode(Labels.TABLENAME);
    datanode.setProperty("column name", "column value"); //do this for each column.
    tx.success();
}

また、トランザクションをスケーリングすることも忘れないでください。私はトランザクションごとに約 1500 の作成を使用する傾向があり、問題なく動作しますが、少し操作する必要があるかもしれません。

SELECT * FROM table LIMIT 1000 OFFSET X*1000 を実行するだけで、X は以前にクエリを実行した回数の値になります。次に、これらの 1000 レコードをコレクションまたは何かのどこかに保存して、それらを使用してノードを構築できるようにします。データベース内のすべてのレコードを処理するまで、これを繰り返します。

「そして、ツリー構造でグラフを生成する必要もあります。」の意味がわからない場合は、外部キーを関係に変換したい場合は、FK をプロパティとして追加する代わりに、キーにインデックスを付けることを忘れないでください。代わりに元のノードとの関係を作成します。インデックス検索を実行すると、それを見つけることができます。または、HashMap を使用して独自の小さなインメモリ インデックスを作成することもできます。しかし、すでに 1000 個の sql レコードをメモリ内に格納していて、さらにトランザクションを構築しているため、JVM の設定に応じて、メモリに少し注意する必要があります。

于 2013-10-04T13:58:04.143 に答える