我想将我的嵌入式Neo4j Graph数据库存储到GraphML中,以便用yEd这样的工具绘制它。
我正在用python27管理图表数据库。
有没有人知道这样做的方法?
答案 0 :(得分:1)
如果您能够在流程之外完成此操作 - 这意味着您需要关闭在嵌入式数据库上工作的现有流程,并在完成导出后重新启动 - 您可以使用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()
这将创建一个漂亮的漂亮graphml文件,适合阅读Gephi或Cytoscape等工具。
如果你需要在进程中导出图形,你需要使用像jython这样的东西来运行你的python脚本,然后通过从com.tinkerpop.blueprints
导入对象来使用上面的命令。
答案 1 :(得分:0)
如果neo4j.py不支持导出为GraphML格式,或者由于任何原因你无法使用Neo4j + Java,那么你必须编写一个自定义导出器。
使用NetworkX可以实现一些简单的黑客攻击,它支持从/导出到GraphML。想办法将你的Neo4j图导入NetworkX,然后直接导出到GraphML。