我正在尝试创建一个密码查询,该查询将返回由给定范围的跃点(即1..5)连接的节点,其中这些跃点之间的所有关系共享相同的属性值,而未指定此属性。
所以我想做些类似的事情
MATCH (a {type: 'cin1'})-[rels:Next*1.. {value: 1}]->(b {type: 'cancer'})
RETURN (a), (b)
但是,如果不指定边缘的值应为1,则在跳变过程中所有边缘之间的值都必须相等。
我会为您的路径添加一个上限。或使用(所有)最短路径
还要确保查找a
并b
通过索引标签+属性组合。
然后,您可以在构成您的路径的关系集合上使用谓词。
MATCH (a:Label {type: 'cin1'})
MATCH (b:Label {type: 'cancer'})
MATCH shortestPath((a)-[rels:Next*1..20]->(b))
WHERE ALL(r in tail(rels) WHERE (head(rels)).value = r.value)
RETURN (a), (b)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句