在neo4j 2.x REST API中,如何使用约束创建/获取唯一节点?

时间:2015-10-05 23:40:39

标签: neo4j

本文是对问题posted earlier的后续跟进。问题是在neo4j 2.x文档中,有note的效果,建议使用约束来创建或获取唯一节点:

  

从Neo4j 2.0开始,添加了独特的约束。这些使Neo4j   强制执行唯一性,保证保持唯一性。   有关详细信息,请参阅“约束”一节。对于大多数   例如,应该使用唯一约束而不是特征   如下所述。

但是在neo4j文档的Constraints部分中,没有解释如何调用REST API来创建或获取唯一节点(在某些标签/属性组合上是唯一的)。

问题:在neo4j 2.0中,我应该使用uniqueness=get_or_create吗?如果没有,那么建议使用哪些REST API端点?

1 个答案:

答案 0 :(得分:1)

实际上,Cypher创建并维护了唯一约束和模式索引。

(CREATE/DROP) INDEX ON :Label(property)

在运行cypher查询时,索引/约束的应用会自动发生。

MERGE是获取或创建的等价物。

如果您创建或更新具有重复属性的节点,则不会发生该更新,并且您收到错误。