我想創建chyper聲明:創建其創建或更新存在(或不存在)的關係和道具暗號聲明
- 如果關係不是兩個節點之間存在我創造它
- 修改屬性就可以了。
於是我想出了這一點:
String modifyRelations="match (p1:User),(p2:User) " +
"WHERE p1.userId=~{1} and p2.userId=~{2} "+
"MERGE (p1)-[r:follow]->(p2)"+
"SET follow.followType={3}";
final PreparedStatement ps1 = conn.prepareStatement(modifyRelations);
ps1.setString(1, sourceNodeDTO.getUserId());
ps1.setString(2, targetNodeDTO.getUserId());
ps1.setString(3, followTypes.getValue());
我得到錯誤:
Neo.ClientError.Statement.InvalidSyntax, message=follow not defined
的事情是,我不希望創建的情況下,它已經存在新的關係。
如果存在,我只想修改其中的屬性(跟隨)。 但是,如果關係不存在,我想創建它並將其設置爲以下屬性
謝謝, ray。
工作。謝謝。您能否請升級此語句並添加相同的查詢,以便在不存在的情況下創建具有關係的兩個節點。 ?如果他們存在只是爲了更新他們的關係,謝謝。 – rayman
您目前在每個'WHERE'子句中使用正則表達式。當創建一個'User'(如果找不到匹配的'User'),你想爲'userId'使用什麼?或者,完全擺脫正則表達式可以嗎? – cybersam
userId是我的圖中的索引。它的主鍵和唯一。在userId不是退出的情況下,我想創建一個新的節點,其中包含該圖形上的userId屬性。其他用戶也一樣(p2) – rayman