如何匹配节点及其与主节点的关系?

时间:2018-12-23 19:44:06

标签: neo4j match relationship

我有一个这样的图:

({id: 1, name: 'Winston'}) --[{name: 'Bill'}]--> ({id: 2, name: 'Max'})

                        ({id: 3, name: 'Steve'})

我想匹配id = 2或3的节点,并用与id = 1的节点的关系替换名称中的属性名称。

{
  "id": 2,
  "name": "Bill"
}
{
  "id": 3,
  "name": "Steve"
}

我该怎么做?

1 个答案:

答案 0 :(得分:1)

对于其中之一,您应该在节点上使用标签。例如,让我们使用:Person。随着图形变大,您还应该在用于节点查找的标签/属性上添加索引。

在这种情况下,仅当连接到ID为1的起始节点时,才基于关系属性添加/替换节点的name属性,我们可以执行以下操作:

MATCH (:Person {id: 1})-[r]->(u:Person)
SET u.name = r.name