将Neo4j DB转换为XML?

时间:2010-02-05 01:10:27

标签: neo4j

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

4 个答案:

答案 0 :(得分:21)

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

peters: ./gremlin.sh

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

如上所述here

这能解决您的问题吗?

答案 1 :(得分: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实例。

答案 2 :(得分:2)

我不相信任何事情存在于此,而不是像几个月前那样捣乱它。从我看到的情况来看,有两个主要障碍:

  1. XML是分层的,您无法以此格式表示图形数据。
  2. 缺少节点的显式ID。即使存在隐式ID,它也就像在oracle中使用ROWID进行导入/导出......不能保证是相同的。
  3. 有些人建议GraphML是适当的格式,我倾向于同意。如果你没有图形结构,你可以很好地用XML /分层格式表示......那么那只是运气不好。由于大多数处理此类增强任务的用户都在使用不会以这种方式存储的数据,因此我没有看到XML解决方案出现......更有可能首先看到支持所有用途的格式。

答案 3 :(得分:0)

看看NoSqlUnit 它具有将GraphML转换为neo4j并再次转换回来的工具。

特别是,com.lordofthejars.nosqlunit.graph.parser.GraphMLWritercom.lordofthejars.nosqlunit.graph.parser.GraphMLReader可以读取/写入neo4j数据库中的XML文件。