在CREATE和MATCH之间需要Neo4j Cypher WITH [英] Neo4j Cypher WITH is required between CREATE and MATCH
本文介绍了在CREATE和MATCH之间需要Neo4j Cypher WITH的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在浏览器控制台上同时执行几个查询,这是我的请求:
I want to execute several queries at the same time on the browser console, here are my requests :
CREATE (newNode1:NEW_NODE)
CREATE (newNode2:NEW_NODE)
MATCH (n1:LABEL_1 {id: "node1"}) CREATE (newNode1)-[:LINKED_TO]->(n1)
MATCH (n2:LABEL_2 {id: "node2"}) CREATE (newNode2)-[:LINKED_TO]->(n2)
当我一一执行它们时没有问题,但是当我同时执行它们时,出现以下错误: 在CREATE和MATCH之间需要WITH
When I execute them one by one there is no problem, but when I execute them at the same time, I get the following error : WITH is required between CREATE and MATCH
有什么办法可以纠正这个问题?
Is there any way to correct this?
推荐答案
添加几个WITH?
CREATE (newNode1:NEW_NODE)
CREATE (newNode2:NEW_NODE)
WITH newNode1, newNode2
MATCH (n1:LABEL_1 {id: "node1"})
CREATE (newNode1)-[:LINKED_TO]->(n1)
WITH newNode1, newNode2
MATCH (n2:LABEL_2 {id: "node2"})
CREATE (newNode2)-[:LINKED_TO]->(n2)
或者,您可以按照不同的顺序进行操作,并避免使用WITHs,区别在于,如果n1/n2不匹配,它将不会创建任何内容.
Alternatively, you could do it in a different order and avoid the WITHs, the difference being that it won't create anything if n1/n2 don't MATCH.
MATCH (n1:LABEL_1 { id: "node1" })
MATCH (n2:LABEL_2 { id: "node2" })
CREATE (newNode1:NEW_NODE)-[:LINKED_TO]->(n1)
CREATE (newNode2:NEW_NODE)-[:LINKED_TO]->(n2)
这篇关于在CREATE和MATCH之间需要Neo4j Cypher WITH的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文