過去 2 週間、Neo4j データベースの視覚化に関連するさまざまなスタックオーバーフローの投稿を読みましたが、私の問題に対処していません。ある投稿からアイデアを得たり、別の投稿からアイデアを得たりしますが、それらは一貫していません。また、埋め込まれた Neo4j グラフ データベースを視覚化する方法を理解しようとして、Google 検索を何度も行いましたが、役に立ちませんでした。
単純なグラフ (35 個のノードと 30 個の関係) を作成する、非常に単純な Java クラスとメソッドを作成しました。以下の最初のコード スニペットは、埋め込みグラフ データベースを作成したことを示しています。2 番目のコード スニペットは、データベースにデータが入力されると、どのようにクエリを実行できるかを示しています。
Java コードでグラフを照会し、ノードと関係が正しいことを確認できました。私がやりたいのは、さらに多くのノードと関係を持つ実際のデータ セットに移る前に、この単純なグラフを視覚化することです。
macOS 10.15 (Catalina)、JetBrains IntelliJ IDE、JDK 1.8.0_221 を実行している iMac でコードの開発とテストを行っています。このコードが iMac で動作するようになったら、GCP 環境に移行して大規模に実行する予定です。時間の経過とともにデータベースの視覚化を作成する必要があるため、手動で集中的に視覚化する作業は望ましくありません。そのため、Neo4j デスクトップ ブラウザーを使用してグラフ データベースを視覚化することは避けたいと思います。
Neo4j プラグインを使用して、埋め込みグラフ データベースを Gephi に取り込もうとしました (推奨される方法)。グラフ データベース フォルダーを選択して [開く] をクリックすると、Gephi は警告というタイトルの空白のダイアログ ボックスを返しました。私は自分が何か間違ったことをしたと確信していますが、何をしたか、または適切にしなかったかはわかりません。
組み込みグラフ データベースの作成
gdbFactory = new GraphDatabaseFactory();
gdbService = gdbFactory.newEmbeddedDatabase(new File(gdbDirectory));
try (Transaction databaseTransaction = gdbService.beginTx())
{
...database commands...
databaseTransaction.success();
}
gdbService.shutdown();
埋め込みグラフ データベースのクエリ
try (Transaction databaseTransaction = BaselineGitHubToGraphDb.gdbService.beginTx())
{
Result queryResult = BaselineGitHubToGraphDb.gdbService.execute(queryString);
while (queryResult.hasNext())
{
Map<String, Object> row = queryResult.next();
for (Map.Entry<String, Object> column : row.entrySet())
{
linesOfText += column.getKey() + ": " + column.getValue() + "; ";
}
linesOfText += "\n";
}
System.out.printf("\t%s\n",
linesOfText);
databaseTransaction.success();
}
私ができるようにしたいのは、ノード、関係、および関連するプロパティを作成する Java コードのロジックを検証するために、グラフ データベースのグラフィカル表現を作成することです。コードをGCP環境に移動して大規模にテストし、そこで動作させる前に、この小さなデータセットでそれを行い、次にデータセットを10倍大きくしたいと思います。
必要に応じて、Gephi またはその他の手段を使用して、組み込みの Neo4j データベースを視覚化できるようにする Java コードを共有するか、教えてもらえますか?
この質問にご協力いただきありがとうございます。