Neo4j apoc 查询中的参数 limit 和 maxLevel 是什么意思?
What does parameters limit and maxLevel mean in Neo4j apoc query?
通过阅读Neo4j官方文档,我无法理解 limit
和 maxLevel
这两个参数在 apoc.path.subgraphnodes
.
中的含义
https://neo4j-contrib.github.io/neo4j-apoc-procedures/3.5/path-finding/path-expander/
谁能帮帮我?
提前致谢
maxLevel
基本上就是深度的展开。 maxLevel:2
表示从起始节点最多展开两次。
limit
限制调用返回的总结果,一旦找到这么多结果,它将停止进一步查找。
举个例子,如果我们有一个社交图谱,你想找到前 3 个 :Doctor 节点,在你的 10 个扩展范围内(默认使用广度优先扩展),你可以使用类似的东西:
MATCH (me:Person {id:12345})
CALL apoc.path.subgraphNodes(me, {maxLevel:10, limit:3, labelFilter:'Doctor'}) YIELD node
RETURN node
并且在 10 跳内可能有数千个 :Doctor 节点,但由于 limit:3
,一旦找到 3 个,它将停止尝试寻找更多节点。
通过阅读Neo4j官方文档,我无法理解 limit
和 maxLevel
这两个参数在 apoc.path.subgraphnodes
.
https://neo4j-contrib.github.io/neo4j-apoc-procedures/3.5/path-finding/path-expander/
谁能帮帮我?
提前致谢
maxLevel
基本上就是深度的展开。 maxLevel:2
表示从起始节点最多展开两次。
limit
限制调用返回的总结果,一旦找到这么多结果,它将停止进一步查找。
举个例子,如果我们有一个社交图谱,你想找到前 3 个 :Doctor 节点,在你的 10 个扩展范围内(默认使用广度优先扩展),你可以使用类似的东西:
MATCH (me:Person {id:12345})
CALL apoc.path.subgraphNodes(me, {maxLevel:10, limit:3, labelFilter:'Doctor'}) YIELD node
RETURN node
并且在 10 跳内可能有数千个 :Doctor 节点,但由于 limit:3
,一旦找到 3 个,它将停止尝试寻找更多节点。