neo4j多个匹配合并使关系失败

时间:2020-03-11 19:12:47

标签: javascript typescript neo4j cypher

我有节点类型a,b,c,其中每种类型可以具有一种或多种每种类型(包括其自身的类型)。在一个事务中,我合并文件中的所有节点,然后在下一个事务中,我匹配节点并尝试创建它们之间的关系。

enter image description here

以下cypher语句成功执行,没有失败,但是也没有创建我期望的关系:

MATCH(a:TypeA) WHERE a.name = {nameA}
MATCH(b:TypeB) WHERE b.name = {nameB}
MATCH(c:TypeC) WHERE c.name = {nameC}
MATCH(d:TypeA) WHERE d.name = {nameD}
MERGE(a)-[:has_a]->(d)
MERGE(a)-[:has_b]->(b)
MERGE(a)-[:has_c]->(c)

enter image description here

如果我将上述cypher语句缩小到第一个匹配项,则将其他任何匹配项和单个关系合并,都可以按预期工作,例如:

MATCH(a:TypeA) WHERE a.name = {nameA}
MATCH(b:TypeB) WHERE b.name = {nameB}
MERGE(a)-[:has_b]->(b)

enter image description here

是否存在我不知道的密码格式或限制?

0 个答案:

没有答案