为什么这会创建两个关系而不是一个?
MATCH (a:Person{name:'Barack'}), (b:Person{name:'Raback'})
CREATE (a)-[r:SHAKES_HANDS_WITH{id:toString(rand())}]->(b)
RETURN r
(仅为演示目的添加了随机数“ id”。)
答案 0 :(得分:1)
您可能有2个Person
节点,它们具有相同的name
(“ Barack”或“ Raback”)。
假设另一个name
仅具有一个节点,则MATCH
子句将产生2行-这将导致CREATE
子句执行两次。
要验证这是否是您的情况,此查询将向您显示每个名称有多少个节点:
MATCH (a:Person)
WHERE a.name IN ['Barack', 'Raback']
RETURN a.name, COUNT(a) as nodeCount