我有四个节点 - [belongsTo] - > (ContainerNode) 我希望json作为单个容器节点返回,该节点包含链接到它的所有节点的数组。例如:
"nodes": [
{
"id": "240",
"name":"MyNodeContainer",
"Type": "ContainerNode"
"SubNodes": [
{
"id": "1",
"name":"MyNodeA",
"Type": "node"
},
{
"id": "2",
"name":"MyNodeB",
"Type": "node"
}
]
},
看起来很简单,但我能得到的是所有节点的默认值都是相等的。我希望结果清楚地表明容器节点与其余节点是分开的。数组属性似乎最直观,但我也满足于两个列表 - 一个用于单个nodeContainer,另一个用于包含的节点
答案 0 :(得分:0)
这样的事情会引导你走向最终目标吗?它构建包含节点的集合,然后将其作为ContainerNode
的属性返回。
match (c:ContainerNode)<-[:BELONGS_TO]-(n:Node)
with c, collect({ id: id(n), name: n.name, type: labels(n)[0] }) as nodes
with { id: id(c), name: c.name, type: labels(c)[0], SubNodes: nodes } as containerNode
return {nodes: collect(containerNode) }