Python networkx和持久性(也许在neo4j中)

2024-03-29 07:43:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个应用程序,它每秒在内存中创建数千个图形。我希望找到一种方法将这些持久化以供后续查询。它们不是特别大(可能最多~1k个节点)。在

我需要能够存储整个图形对象,包括节点属性和边属性。然后,我需要能够根据节点中的时间属性搜索特定时间窗口内的图形。在

有没有一种简单的方法将这些数据强制到neo4j中?我还没有找到任何这样的例子。尽管我发现了几个python库,包括一个嵌入式neo4j和一个rest客户机。在

手动遍历图形并以这种方式存储它是常见的方法吗?在

有没有更好的持久性选择?在


Tags: 数据对象方法内存rest应用程序图形客户机
1条回答
网友
1楼 · 发布于 2024-03-29 07:43:38

Networkx有几种序列化方法。在

在您的情况下,我将选择graphml序列化:

http://networkx.github.io/documentation/latest/reference/readwrite.graphml.html

使用非常简单:

import networkx as nx
nx.write_graphml('/path/to/file')

如果您有Neo4j<;2.0,那么可以使用Tinkerpop Gremlin在Neo4j中加载graphl转储

^{pr2}$

修补程序非常有用——不仅用于序列化/反序列化。在

它将允许你使用不同的图形数据库和一个委员会“方言”(前提是他们有一个“蓝图”驱动程序,他们大多数都这样做)

相关问题 更多 >