【问题标题】:How to get all nodes in a neo4j linked list?如何获取neo4j链表中的所有节点?
【发布时间】:2013-12-24 01:14:39
【问题描述】:

在 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) 

【问题讨论】:

  • 抱歉,我尝试创建 Neo4j 控制台,但目前似乎无法正常工作...

标签: linked-list neo4j cypher


【解决方案1】:

我想我找到了自己问题的答案:

start p=node(2)  // project ID = 2 
MATCH p-[:LatestTask|PreviousTask*]->(t:Task) 
return t

似乎将正确的集合作为三个单独的行返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多