我正在通过PHP访问neo4j。我是新手,想知道解决一个简单案例的最佳方法。
我需要检查特定节点是否已经存在(基于auto_index比较),如果存在,设置一些属性,如果它不存在,则创建一些属性。
请考虑我通过PHP使用Cypher查询。
非常感谢。
答案 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
}
}