2012-11-27 40 views
0

在使用REST API更新和创建neo4j节点的过程中是否有任何实现乐观并发的方法?我只想创建一个具有唯一名称的用户节点,只要该名称不存在。如果两个用户同时选择相同的用户名,则不希望两个用户意外覆盖对方。使用REST API的neo4j的乐观并发性

此外,我也可以有一个像增量版本号来检查节点上的并发。在SQL中,我通常会使用where子句检查id和版本号。有没有类似我可以用密码做的事情,这将容易implment,并不需要我输入所有的属性名称到长查询?

回答

2

你可以尝试唯一索引:http://docs.neo4j.org/chunked/stable/rest-api-unique-indexes.html

暗号“CREATE UNIQUE”语法也可以是帮助:http://docs.neo4j.org/chunked/stable/query-create-unique.html

+0

不会仍然允许在创建节点的并发异常?即在添加索引之前仍然必须创建两个节点,并且在唯一索引检查返回现有索引条目时,两个重复节点都可以已经创建。至于“创建独特的”密码查询,它可以覆盖或复制另一个,而不是抛出异常。即如果两个对象{uname:“mike”,pwd:“test”}和{uname:“mike”,pwd:“monkey”}都使用相同的cyhper查询发送,则会有两个节点具有相同的uname, pwds是不同的。 – MonkeyBonkey

+1

通过REST API创建的唯一节点需要使用正确的索引锁来防止创建重复节点。 –