gpt4 book ai didi

python - Neo4J/py2neo——基于游标的查询?

转载 作者:太空宇宙 更新时间:2023-11-04 03:37:02 31 4
gpt4 key购买 nike

如果我这样做:

from py2neo import Graph
graph = Graph()
stuff = graph.cypher.execute("""
match (a:Article)-[p]-n return a, n, p.weight
""")

在包含大量文章和链接的数据库上,查询需要很长时间并使用我系统的所有内存,大概是因为它一次性将整个结果集复制到内存中。是否有某种基于游标的版本,我可以一次迭代一个结果,而不必一次将它们全部存储在内存中?

编辑

我找到了 stream 函数:

stuff = graph.cypher.stream("""
match (a:Article)-[p]-n return a, n, p.weight
""")

根据文档,这似乎是我想要的,但现在我收到超时错误(py2neo.packages.httpstream.http.SocketError: timed out),随后服务器变得无响应,直到我使用 kill -9 杀死它。

最佳答案

您是否尝试过实现分页机制?也许使用 skip 关键字:http://neo4j.com/docs/stable/query-skip.html

类似于在 postgres/mysql 查询中使用 limit/offset。

编辑:我之前说过整个结果集都存储在内存中,但使用 api 流式传输时情况似乎并非如此 - 根据 Nigel(Neo 工程师)在下面的评论。

关于python - Neo4J/py2neo——基于游标的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559409/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com