从Neo4J高效地输出关系

时间:2015-11-03 03:13:13

标签: neo4j cypher py2neo

我有一个相对较小但不断增长的数据库(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"]

有更好/更有效的方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您不必首先跳过/限制。

Neo可以轻松输出千兆字节的数据。

请参阅此博文,了解另一种方法:http://neo4j.com/blog/export-csv-from-neo4j-curl-cypher-jq/

运行查询后,您还可以在Neo4j浏览器中使用另存为CSV。