[英]Neo4j: create unique not supported in JDBC
我必须在Neo4j中创建唯一的节点,但是此查询不正确,因为Neo4j说
CREATE UNIQUE不支持此模式
List<String> users = pUsers.collect();
for(String u : users){
if(u.equals("error"))
continue;
else{
String cql = " CREATE UNIQUE (n:User {value:'" + u +"'})";
st.executeUpdate(cql);
}
我该如何解决?
在使用CREATE UNIQUE之前,您需要MATCH
一个节点。 之后,使用匹配的节点在图形中创建唯一的模式。 CREATE UNIQUE
将使图形中的更改最少。 我相信您需要的是MERGE
。 CREATE UNIQUE文档说:
您可能要使用MERGE而不是
CREATE UNIQUE
。 但是请注意,MERGE
不能为唯一的关系提供有力的保证。
因此,您可以将代码修改为:
List<String> users = pUsers.collect();
for(String u : users){
if(u.equals("error"))
continue;
else{
String cql = "MERGE (n:User {value:'" + u +"'})";
st.executeUpdate(cql);
}
}
看一下这个答案 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.