2015-10-05 26 views
0

本文是對問題I posted earlier的後續行動。問題是,在Neo4j的2.x的文檔,還有一個note,大意是約束推薦用於創建或得到獨特的節點:在neo4j 2.x REST API中,如何使用約束創建/獲取唯一節點?

由於Neo4j的2.0,已被添加唯一約束。這些使Neo4j 強制執行唯一性,保證唯一性得以維持。 有關詳細信息,請參閱「約束」部分。對於大多數 的情況,應該使用唯一約束而不是下面描述的功能 。

但在Neo4j的文檔的Constraints部分,不存在如何調用REST API來創建或 - 獲得一個唯一的節點(在某些標籤/屬性的組合是唯一的)的解釋。

問題:在neo4j 2.0中,我應該使用uniqueness=get_or_create?如果不是,那麼推薦使用哪些REST API端點來執行此操作?

+0

我可能回答了我自己的問題。當您在節點屬性上創建唯一約束時,neo4j會自動爲該節點屬性創建相應的索引。在這一點上,我認爲你只是使用REST API端點進行get-or-create(即在查詢中使用'uniqueness = get_or_create'參數)。 –

回答

1

其實獨特的約束和模式索引是用Cypher創建和維護的。

(CREATE/DROP) INDEX ON :Label(property) 

運行密碼查詢時,索引/約束的應用會自動發生。

MERGE是獲取或創建的等價物。

如果您創建或更新具有重複屬性的節點,該更新不會發生,並且您收到錯誤。

+0

感謝您的迴應。不過,我不打算檢查你的答案,因爲問題的焦點在於REST API端點促進節點的創建或獲取。 –

+0

沒錯,沒有。 :)只有cypher http端點。 –

相關問題