非常数Neo4j极限

非常数Neo4j极限,neo4j,limit,Neo4j,Limit,我想问一下,是否可以用非常量限制一段查询返回的节点,这意味着-我希望限制依赖于查询返回的某个变量,例如,邻居节点数的30%。这有点难看,但类似的东西呢 MATCH n-[:type]->(neighbor) WITH n, toInt(count(neighbor) * 0.3) AS limit MATCH n-[:type]->(neighbor) WITH n, collect(neighbor)[1..limit] AS neighbors UNWIND neighbors

我想问一下,是否可以用非常量限制一段查询返回的节点,这意味着-我希望限制依赖于查询返回的某个变量,例如,邻居节点数的30%。

这有点难看,但类似的东西呢

MATCH n-[:type]->(neighbor)
WITH n, toInt(count(neighbor) * 0.3) AS limit
MATCH n-[:type]->(neighbor)
WITH n, collect(neighbor)[1..limit] AS neighbors
UNWIND neighbors AS neighbor
RETURN n, neighbor

谢谢你的快速回复。但是需要做两次相同的比赛吗?而且不需要[1..limit],我认为集合是从0索引的,所以[0..limit]。但谢谢你的想法,现在我正在尝试一些东西。很高兴知道,什么答案对你有效?我部分使用了你发布的内容,并出于我的目的对其进行了更改。有30%邻居计数的示例只是一个简单的示例,我还需要先按另一个值对集合进行排序,然后使用邻居的邻居计数对其进行限制。很快,我的问题就更大了:)但可以说,你给了我一个方法。有时我的大脑工作不正常,需要稍微调整一下:)