将Neo4j子图加载到Networkx中

时间:2013-03-17 10:13:51

标签: python neo4j networkx graph-databases subgraph

我一直在通过python的Bulbflow处理Neo4j,现在需要一种方法来保存/导出子图。我已经看过Java甚至是Ruby方法,但是一个简单的Python方法似乎隐藏了我......

到目前为止,我找到了两条潜在的路径:

  1. 通过Geoff访问py2neo,但是从大型本地neo4j数据库或neo4jserver中提取子图的文档很少。

  2. 使用Networkx: 我发现networkx可以加载来自多种不同格式的图形(我不确定neo4j以哪种格式存储它们的dbs),但我还没有找到一种方法只将一个子图提取到Networkx中。我认为这应该从gremlin查询中完成,但我不确定如何解决这个问题。

  3. 我偏爱Networkx路径,因为它还附带了我希望应用于子图的网络分析算法。我觉得这也可以避免Bulbflow和py2neo之间的潜在冲突,虽然我不确定是否会存在这样的冲突。

    非常感谢任何建议!

    提前致谢

2 个答案:

答案 0 :(得分:11)

在你问之前我不知道答案,但似乎你可以直接导出gml,networkx可以阅读。以下是一些可能有用的答案:

Neo4j export Tree

Convert Neo4j DB to XML?

https://github.com/tinkerpop/gremlin/wiki/Gremlin-Methods

希望有所帮助。

答案 1 :(得分:0)

我知道这是一个老问题,但是如果您像我一样偶然发现它-知道networkx有一个subgraph命令,那么您可以从Neo4j加载整个图形并使用它。