微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CREATE 在这个语句中起作用,但 MERGE 不起作用这里发生了什么?

如何解决CREATE 在这个语句中起作用,但 MERGE 不起作用这里发生了什么?

我正在尝试这个声明。

CREATE (n:TestEntity),(m1:RelatedEntity)
WITH n,m1
MERGE (m2:RelatedEntity {b:"c"})
WITH n,m1,m2
MERGE (n)-[:REL]->(m1),(n)-[:REL]->(m2)
SET n+={a:1},m1+={b:"d"},m2+={d:2}
return n,m2;

这给出了一个错误

enter image description here

如果我将最后一个 MERGE 更改为 CREATE,则该语句有效。

如果我删除第二个关系并且只删除 MERGE一个关系,它会起作用。这是怎么回事?这是一个错误吗?

解决方法

此时在 Neo4j 4.2.x 中,MERGE 不支持逗号分隔模式,尽管 backlog 中有一个功能请求要添加该功能。

,

MERGE 不支持逗号分隔。一种解决方法是在每个节点/关系等前面添加 MERGE 关键字。

以下查询有效:

CREATE (n:TestEntity),(m1:RelatedEntity)
WITH n,m1
MERGE (m2:RelatedEntity {b:"c"})
WITH n,m1,m2
MERGE (n)-[:REL]->(m1) MERGE (n)-[:REL]->(m2)
SET n+={a:1},m1+={b:"d"},m2+={d:2}
return n,m2;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。