簡體   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