19

我可以将 Neo4J 数据库文件转换为 XML 吗?

4

4 回答 4

21

我同意,GraphML 是要走的路,如果您对 XML 的冗长没有问题的话。一个简单的方法是从Gremlin打开 Neo4j 图形,其中 GraphML 是默认的导入/导出格式,类似于

彼得斯:./gremlin.sh

gremlin> $_g := neo4j:open('/tmp/neo4j')
==>neograph[/tmp/neo4j,顶点:2,边:1]
gremlin> g:save('graphml-export.xml')

如此处所述

这能解决你的问题吗?

于 2010-02-05T08:19:20.910 回答
20

使用Blueprints,只需执行以下操作:

Graph graph = new Neo4jGraph("/tmp/mygraph");
GraphMLWriter.outputGraph(graph, new FileOutputStream("mygraph.xml"));

或者,使用Gremlin(在后面做同样的事情):

g = new Neo4jGraph('/tmp/mygraph');
g.saveGraphML('mygraph.xml');

最后,对于 Neo4jGraph 的构造函数,你也可以传入一个 GraphDatabaseService 实例。

于 2011-11-21T16:07:44.373 回答
2

我不相信有任何东西存在于此,而不是几个月前弄乱它时。据我所见,有两个主要障碍:

  1. XML 是分层的,您不能以这种格式轻松地表示图形数据。
  2. 缺少节点的显式 ID。即使存在隐式 ID,它就像在 oracle 中使用 ROWID 进行导入/导出......不保证是相同的。

有些人建议GraphML将是正确的格式,我倾向于同意。如果您没有图形结构,并且可以很好地以 XML/分层格式表示……那么那只是运气不好。由于大多数将处理此类增强任务的用户正在使用不会以这种方式存储的数据,因此我看不到 XML 解决方案出现……更有可能首先看到支持所有用途的格式。

于 2010-02-05T01:46:53.210 回答
0

看看NoSqlUnit 它有用于转换GraphMLneo4j再次转换的工具。

特别是,有com.lordofthejars.nosqlunit.graph.parser.GraphMLWritercom.lordofthejars.nosqlunit.graph.parser.GraphMLReader哪个从 neo4j 数据库读取/写入 XML 文件。

于 2015-04-21T10:51:14.950 回答