我有一个相对较小但不断增长的数据库(2M节点,5M关系)。关系经常变化。我经常需要导出一些其他计算的关系列表。
目前,我使用的是分页查询,但随着skip
的值增加,它会变慢
MATCH (a)-[r]->(b) RETURN ID(a) AS id1, ID(b) AS id2, TYPE(r) AS r_type
SKIP %d LIMIT 1000
我正在使用py2neo
。相关的代码:
while (count <= num_records):
for record in graph.cypher.stream(cq % (skip, limit)):
id1 = record["id1"]
id2 = record["id2"]
r_type = record["r_type"]
有更好/更有效的方法吗?
提前致谢。
答案 0 :(得分:1)
您不必首先跳过/限制。
Neo可以轻松输出千兆字节的数据。
请参阅此博文,了解另一种方法:http://neo4j.com/blog/export-csv-from-neo4j-curl-cypher-jq/
运行查询后,您还可以在Neo4j浏览器中使用另存为CSV。