1

我想使用 cypher 得到以下结果:“查找从节点 A 开始的所有路径,仅遵循属性“百分比” 1大于 50 且路径结尾是属性“类型”= 1 的节点和路径的末尾没有之前指定的进一步关系(百分比> 50 ...)“

1:出于性能原因,我正在考虑创建一个单独的关系类型“MY_RELATIONSHIP_50”)

到目前为止,我的 Cypher 工作正常:
start A = node(...)
match path = (A)-[rels:MY_RELATIONSHIP*]->(B)
where all(rel in rels where rel.percentage! > 50) and B.type = 1
return path

但我找不到表达方式“ the end of path has no further relationships as specified before (percentage>50 ...)

我试图用 " and not B-->C" 扩展 where 子句,但我都没有找到如何使用percentage > 50.

有没有办法做到这一点?

非常感谢提前=)

4

1 回答 1

1

您正在寻找最长的路径吗?

因此,要么按长度降序排序,然后取前 n 个。

否则类似:

start A = node(...)
match path = (A)-[rels:MY_RELATIONSHIP*]->(B)
where all(rel in rels where rel.percentage! > 50) and B.type = 1
AND NONE(r in extract(p in (B-[:MY_RELATIONSHIP]->()) : head(rels(p)) WHERE r.percentage > 50)
return path
于 2013-07-08T22:43:32.160 回答