(m) RETURN DISTINCT * 这对于深度互连的图来说-6ren">
gpt4 book ai didi

neo4j - 递归获取所有子节点

转载 作者:行者123 更新时间:2023-12-05 06:38:56 25 4
gpt4 key购买 nike

现在,要从 Neo4J 返回一个子图,我使用

Match(n{id:"<uuid>"}) OPTIONAL MATCH (n)-[*..25]->(m) RETURN DISTINCT *

这对于深度互连的图来说效率非常低(因为没有 RETURN DISTINCT,我得到了 100k 个结果,而不是不到 100 个结果。

如何在不使用APOC的情况下高效请求一个节点的所有子节点? (又名,让 DISTINCT 在匹配中变得多余而不是必需的;又名,在匹配过程中只访问每个节点一次?)

最佳答案

从 Neo4j 3.2.x 开始,(start)-[*..25]->(children) 的行为符合预期。

在此之前,您需要使用 APOC展开功能apoc.path.spanningTree

关于neo4j - 递归获取所有子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45359581/

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