Neo4j - 如何 merge/join parent -> children 树结构节点

Neo4j - How to merge/join parent -> children tree structure nodes

我有一个树结构(项目)-[:IS_PARENT_OF]->(projectChild)

一个项目可以有多个children,我想做的是创建一个包含parent的所有children的虚拟节点的查询。

所以节点会有这样的数据:

parent: "project 1",
children:['cohort', 'protocol', etc...]

我试过这个查询

MATCH (p:Project)-[:IS_PARENT_OF]->(c)
CALL apoc.create.vNode(['Project'], {name: p.name, children: [c.name]}) YIELD node
RETURN node

但是我只有一个child:

{
  "identity": -32,
  "labels": [
    "Project"
  ],
  "properties": {
"name": "project 1",
"children": [
      "Experimental design"
    ]
  }
}

有人知道如何在我的 vNode 中获得多个 children 吗?

由于您似乎已经尝试过一种模式理解,这可能是您需要的:

MATCH (p:Project)
CALL apoc.create.vNode(
            ['Project'],      
            {
              name: p.name, 
              children: [(p)-[:IS_PARENT_OF]->(c) | c.name]
            }
     ) YIELD node
RETURN node

这将 return 一个空数组 [] 以防项目没有子项。