来自PHP的Neo4j,检查节点是否存在,如果不存在则创建它

时间:2013-03-23 06:44:05

标签: neo4j

我正在通过PHP访问neo4j。我是新手,想知道解决一个简单案例的最佳方法。

我需要检查特定节点是否已经存在(基于auto_index比较),如果存在,设置一些属性,如果它不存在,则创建一些属性。

请考虑我通过PHP使用Cypher查询。

非常感谢。

2 个答案:

答案 0 :(得分:3)

您可以使用Cypher:http://docs.neo4j.org/chunked/milestone/query-create-unique.html#create-unique-create-node-if-missing  或使用Composer(首选方法。) Cypher查询可以通过REST接口执行(如果从PHP访问,则必须使用)。文档:http://docs.neo4j.org/chunked/milestone/rest-api-cypher.html#rest-api-send-queries-with-parameters

快速插件:我是Neo4jPHP的作者,Neo4jPHP处理Cypher查询等等。您可以使用Composer(首选方法)或直接从github(https://github.com/jadell/neo4jphp

获取它

答案 1 :(得分:0)

这是直接来自Neo4j文档,使用cypher创建唯一节点。请注意,如果具有该特定唯一属性的节点已存在,则不会再次创建该节点。这是链接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
 }
}