2013-03-23 62 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 
} 
} 
相关问题