我正在通过 PHP 访问 neo4j。我是新手,想知道解决简单案例的最佳方法。
我需要检查一个特定节点是否已经存在(基于 auto_index 比较),如果存在,设置一些属性,如果它不存在,则使用一些属性创建它。
请考虑我正在通过 PHP 使用 Cypher 查询。
非常感谢。
我正在通过 PHP 访问 neo4j。我是新手,想知道解决简单案例的最佳方法。
我需要检查一个特定节点是否已经存在(基于 auto_index 比较),如果存在,设置一些属性,如果它不存在,则使用一些属性创建它。
请考虑我正在通过 PHP 使用 Cypher 查询。
非常感谢。
您可以为此使用 Cypher:http: //docs.neo4j.org/chunked/milestone/query-create-unique.html#create-unique-create-node-if-missing 或使用 Composer(首选方法)。可以通过 REST 接口执行查询(如果从 PHP 访问,则必须使用该接口。)此处的文档:http: //docs.neo4j.org/chunked/milestone/rest-api-cypher.html#rest-api-send-带参数的查询
快速插件:我是 Neo4jPHP 的作者,它处理 Cypher 查询等。您可以使用 Composer(首选方法)或直接从 github(https://github.com/jadell/neo4jphp)获取
这直接来自于用密码创建唯一节点下的 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
}
}