2014-01-06 58 views
4

我想在neo4j中的實體之間創建一些獨特的關係。現在我有作者和文章,他們之間有一個創作關係。我要創建的實體之間如何創建獨特的關係neo4j 2.0

像這樣

match (a)-[r]->(b)<-[r2]-(c) 
create (a)-[new:CoAuthor]->(c) 

一合着關係,但是,我想創造一個獨特的合着者的關係,但如果它已經存在更新的權重。我看到這個postm但語法不再支持In Cypher, how can I create a relationship if it doesn't exist; update property if it does

SyntaxException: This syntax is no longer supported (missing properties are now returned as null). Please use (not(has(<ident>.weight)) OR <ident>.weight=<value>) if you really need the old behavior. 

我不太明白它是什麼,我更換。我查看了合併命令,但無法完成它的工作

回答

3

在這種情況下,您應該能夠用merge替換create

match (a)-[r]->(b)<-[r2]-(c) 
merge (a)-[new:CoAuthor]->(c) 
on create set new.weight=1 
on match set new.weight=new.weight+1 
+1

合併似乎並不能保證唯一性。我真的跑了很多這些查詢,並且它仍然創建了重複的關係。我在這裏錯過了一些微不足道的東西嗎? – yuklai