繁体   English   中英

Neo4j:创建JDBC不支持的唯一

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM