有沒有什麼辦法可以像下面那樣在一個模式中強制實現電子郵件地址的唯一性?Neo4j中數組的唯一性約束
(正:人{ID:{值},名稱:{值},電子郵件:[{值}]})
的想法是,沒有兩個人可以共享相同的電子郵件地址,但每個人可能有幾個電子郵件地址。所以,每個電子郵件地址在整個數據庫中應該只存在一次。
有一種明顯的骯髒的方法來做到這一點,即通過使每個電子郵件地址成爲節點並強制實現電子郵件節點以及電子郵件人員關係的唯一性,但這大大增加了節點的數量和查詢的複雜性在我的數據庫...
我想知道是否有更好的方法來執行這個約束,我不知道。
好問題。我很確定答案是否定的,但希望別人會跳進來證明我錯了。只是爲了咯咯地笑,我嘗試了使用DISTINCT(這是這樣做的),但它不是一個函數,例如:create(n {vals:distinct(['foo','foo','bar'])}); - 沒有骰子。 – FrobberOfBits