在neo4j中我有以下结构(基本上是链表的链表):
(projects)
|
[LatestProject]
|
V
(p1:Project)-[LatestTask]->(t1:Task)-[PrevTask]->(t2:Task)-[PrevTask]->(t3:Task)
|
[PrevProject]
|
V
(p2:Project)-[LatestTask]->(t4:Task)-[PrevTask]->(t5:Task)-[PrevTask]->(t6:Task)
|
[PrevProject]
|
V
(p3:Project)-[LatestTask]->(t7:Task)-[PrevTask]->(t8:Task)
我想编写一个Cypher查询,给定项目ID,返回所有任务(从最新的任务到最旧的任务)。
我尝试了以下内容:
start p=node(2) // project ID = 2
MATCH p-[:LatestTask]->(first:Task)-[:PreviousTask*]->(t:Task)
return first, t
但是这会返回一个包含多行的表:
(first) (t1)
(first) (t2)
如何返回以下内容?
(first)
(t1)
(t2)
答案 0 :(得分:1)
我想我找到了自己问题的答案:
start p=node(2) // project ID = 2
MATCH p-[:LatestTask|PreviousTask*]->(t:Task)
return t
似乎将正确的集合返回为三个单独的行。