18

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

到目前为止,我发现了两条可能的路径:

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

  2. 使用Networkx:我发现 networkx 可以从许多不同格式加载图形(我不确定 neo4j 存储它们的 dbs 的格式),但是我还没有找到将仅一个子图提取到 Networkx 中的方法。我认为这应该通过 gremlin 查询来完成,但我不知道该怎么做。

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

任何建议将不胜感激!

提前致谢

4

2 回答 2

11

直到你问我才知道答案,但似乎你可以在 gml 中导出,networkx 可以读取。以下是一些可能有用的答案:

Neo4j 导出树

将 Neo4j DB 转换为 XML?

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

希望有帮助。

于 2013-03-17T19:07:05.290 回答
0

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

于 2019-04-24T09:26:28.720 回答