我想使用 graph-tool 中的一些图形数据库中的数据功能(例如 Neo4j,但任何支持蓝图的图形数据库都很好,请参阅 Tinkerpop 项目)。
我知道(并且已经涉足过一些)py2neo 并想调查 Bulbs作为访问数据库和项目的方式,如 pyBlueprints .
我的问题是: 如何在图形数据库(例如 neo4j)中的数据上使用图形工具函数,而不将整个图形导出到 graphML(或现有的图形工具导入格式之一)等?
我希望它比运行查询、查找图形的子集、导出、使用图形工具处理、将数据放回到图形中更加动态
我知道 Blueprints 提供了“GraphML 读取器/写入器”,这是解决方案吗?
最佳答案
我认为您提供的工作流程可能是最好的,也是唯一一个可供您使用的工作流程。在 TinkerPop 术语中,我想说工作流程会更具体:
- 运行查询 - 使用 Gremlin Console
- 查找图的子集 - 在控制台中编写遍历并将其结果转储到子图中。使用内存中的 TinkerGraph 来存储该子图 - 了解更多信息 here 。
- 导出 - 在您的子图实例上调用 saveGraphML
- 使用 graph-tool 进行处理 - 将 GraphML 导入 graph-tool 并执行您需要执行的操作
- 将数据放回到图表中 - 我不知道图表工具及其功能,但 Gremlin 控制台可以让您以多种方式处理数据,从而使数据变得非常容易 - 阅读有关该内容的更多信息 here .
关于带有图形数据库的 python 图形工具库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23606280/