我有一个每秒在内存中创建数千个图形的应用程序。我希望找到一种方法来保存这些以供后续查询。它们并不是特别大(可能最多约 1k 个节点)。
我需要能够存储整个图形对象,包括节点属性和边属性。然后,我需要能够根据节点中的时间属性在特定时间窗口内搜索图形。
有没有一种简单的方法可以将这些数据强制转换为 neo4j ?我还没有找到任何这方面的例子。虽然我发现了几个 python 库,包括嵌入式 neo4j 和休息客户端。
手动遍历图表并以这种方式存储它的常见方法是?
有没有更好的持久性替代方案?
Networkx 有多种序列化方法。
在你的情况下,我会选择 graphml 序列化:
http://networkx.github.io/documentation/latest/reference/readwrite.graphml.html http://networkx.github.io/documentation/latest/reference/readwrite.graphml.html
使用起来非常简单:
import networkx as nx
nx.write_graphml('/path/to/file')
要在 Neo4j 中加载它,假设您的 Neo4j
g.loadGraphML('/path/to/file')
Tinkerpop 非常有用 - 不仅用于序列化/反序列化。
它将允许您使用具有共同“方言”的不同图形数据库(前提是它们有大多数人都有的“蓝图”驱动程序)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)