2016-09-28 67 views
0

我正嘗試在具有關係的節點上創建一個唯一的屬性。問題是唯一的屬性是唯一的標籤'B'我需要它也是唯一的標籤'A'。是否有可能在許多標籤上有獨特的約束?創建一個唯一的節點和關係

MATCH (user:A { userId: '57e3c97c6a430242328878ec' }) 
CREATE UNIQUE (user)-[:KNOWS]-(telephone:B{telephone: '+447735150512'}) 
RETURN telephone 

回答

2

正如屬性應該是唯一的標籤上A和B的節點(可能嗎?)

現在沒有這種權利受到支持,但有一種變通方法,但它需要一些保養你的一部分。

節點可以有多個標籤。因此,如果您創建另外應用於多個其他標籤節點的標籤(應用於具有標籤A和B的節點的超標記C),則可以爲該屬性的C創建唯一約束。您必須確保所有A和B節點都附加了C標籤,但是如果這樣,那麼您將無法創建一個新的A或B節點(標有C),其屬性爲已經在另一個C節點上使用。

這種方法的缺點是,如果你創建一個A或B節點,但忘記用C標記它,唯一的約束將不會被強制執行,因爲這隻會發生在C節點上。

+0

謝謝,解決方案的例子在這裏https://github.com/neo4j/neo4j/issues/7814 – TheNickyYo

相關問題