【发布时间】:2017-09-07 12:52:46
【问题描述】:
我想进行以下任务的密码查询:
- 有一个给定的起始节点,我想在 2 跳内获取所有相关节点
- 按跳数升序对查询的节点进行排序,并限制给定数量
- 并获得 1 结果之间的所有关系。
我尝试了很多查询,并针对步骤 1、2 进行了以下查询
MATCH path=((start {eid:12018})-[r:REAL_CALL*1..2]-(end))
WITH start, end, path
ORDER BY length(path) ASC
RETURN start, collect(distinct end)[..10]
但是当我尝试使用以下查询获取查询路径中的关系时,它会返回路径中的所有关系:
MATCH path=((start {eid:12018})-[r:REAL_CALL*1..2]-(end))
WITH start, end, path
ORDER BY length(path) ASC
RETURN start, collect(distinct end)[..10], relationships(path)
我认为我必须再次匹配第一次匹配的结果,而不是直接从路径获取关系,但我所有的尝试都失败了。
如何获取查询节点之间的所有关系? 有帮助的不胜感激,非常感谢。
【问题讨论】:
标签: neo4j path cypher graph-databases