在一个查询中创建多个连接

时间:2019-10-21 21:47:33

标签: neo4j cypher

如何将节点连接到不同类型的多个节点? 要连接的节点在列表中作为参数,部分节点在数据库中不存在。如何只连接存在的连接,没有重复复制存在的连接?

OPTIONAL MATCH (ja : Course{name: 'Math'}), (jm : Student {name: 'James'}) , (bl : Student {name: 'Bill'})
MERGE (ja)-[r1:learn {nickname: 'ALL'}]->(jm)
MERGE (ja)-[r2:learn {nickname: 'ALL'}]->(bl)
RETURN ja, jm

在上面的代码中,学生詹姆斯存在,而比尔不存在 整个操作失败,并且未创建课程(数学)与学生(詹姆斯)之间的关系!

1 个答案:

答案 0 :(得分:1)

您可以对列表中的值进行MATCH,如果列表中有某些项目没有节点,那很好,只要至少有一个有效:

input