2013-03-23 63 views
0

我通過PHP訪問Neo4j的。我是新手,想知道解決一個簡單案例的最佳方法。的Neo4j,檢查是否存在的節點,如果沒有創建它

我需要檢查,如果一個特定節點已經存在(基於在auto_index中比較),如果是的話,設置一些屬性,如果它不存在,因此與一些屬性創建它。

請考慮,我使用的Cypher查詢throughPHP。

非常感謝。

回答

3

您可以使用暗號此:(首選方法)http://docs.neo4j.org/chunked/milestone/query-create-unique.html#create-unique-create-node-if-missing 或使用作曲 的Cypher查詢可以通過REST接口文檔在這裏被執行(你必須,如果從PHP訪問使用。):http://docs.neo4j.org/chunked/milestone/rest-api-cypher.html#rest-api-send-queries-with-parameters

快速插頭:我Neo4jPHP的作者,它處理的Cypher查詢,等等。您可以使用Composer(首選方法)或直接從github獲取它(https://github.com/jadell/neo4jphp

+0

由於喬希,我有是,如果我使用去克里特島唯一的(我肯定做錯了)目的節點(一個我需要創建如果它丟失的問題)它創建了幾次。此案是下面,我有一個人的節點,那麼我想它,鏈接到一個公司一個僱傭關係(某些ID創建我只需要檢查,如果它已經存在的企業節點之前,像COMPANY_ID = XX)。再次感謝 – user2201662 2013-03-24 16:25:28

0

這是直接從Neo4j文檔創建具有密碼的唯一節點下。請注意,如果具有該特定唯一屬性的節點已經存在,則不會再次創建該節點。這裏的鏈接http://docs.neo4j.org/chunked/stable/rest-api-unique-indexes.html

獲取或創建唯一的節點(創建)

如果它沒有唯一索引已經存在的節點創建。

請求示例

POST http://localhost:7474/db/data/index/node/people?uniqueness=get_or_create 
Accept: application/json; charset=UTF-8 
Content-Type: application/json 
{ 
    "key" : "name", 
    "value" : "Tobias", 
    "properties" : { 
    "name" : "Tobias", 
    "sequence" : 1 
} 
} 
相關問題