埋め込まれた Neo4j Graph db を GraphML に保存して、yEd などのツールで描画したいと考えています。
python27でグラフdbを管理しています。
それを行う方法を知っている体はありますか?
プロセスの外でそれを行う余裕がある場合(つまり、組み込みデータベースで動作している既存のプロセスをシャットダウンし、エクスポートが終了したら再起動する必要がある場合)、Gremlinを使用してそれを行うことができます。必要なコマンドは次のとおりです。
g = new Neo4jGraph("/YOUR/GRAPH/DIRECTORY")
writer = new GraphMLWriter(g)
out = new FileOutputStream("/YOUR/GRAPHML/file.graphml")
writer.outputGraph(out)
writer.setNormalize(true)
out.close()
これにより、 GephiやCytoscapeなどのツールに読み込むのに適したきれいなgraphmlファイルが作成されます。
グラフを処理中にエクスポートする必要がある場合は、jythonなどを使用してPythonスクリプトを実行してから、からオブジェクトをインポートして上記のコマンドを使用する必要がありますcom.tinkerpop.blueprints
。
neo4j.py が GraphML 形式へのエクスポートをサポートしていない場合、または何らかの理由で Neo4j + Java でエクスポートできない場合は、カスタム エクスポーターを作成する必要があります。
いくつかの簡単なハックで、GraphML からのインポート/エクスポートをサポートするNetworkXでそれを実現できます。Neo4j グラフを NetworkX にインポートし、GraphML に直接エクスポートする方法を考えてみてください。