如何组合具有不同属性的两个节点并在cypher中合并为一个节点?
示例节点1具有名称属性,其值为name1,节点2具有分类属性,并且class1的值将合并为一个节点,将两个属性组合在一起
TNX
答案 0 :(得分:1)
我非常确定这目前无法动态实现,但如果您知道自己要转移的属性:
MATCH (a:Label), (b:Label)
WHERE <something about a and b>
SET a.constraint = b.constraint, a.other_prop = b.other_prop
DELETE b // If you want do delete b
否则我建议使用Cypher加载对象,合并内存中的属性,然后进行查询以保存结果。我建议检查SET
子句和+=
运算符(here,它可以采用Map(哈希/字典/其他)并以这种方式附加所有给定的属性
答案 1 :(得分:1)
我认为这是可能的
请参阅http://neo4j.com/docs/stable/query-set.html
MATCH (at { name: 'Andres' }),(pn { name: 'Peter' })
SET at = pn
RETURN at, pn
如果您不想删除第一个节点的属性,请使用+ =。