在neo4j中未得到尊重的唯一约束

在neo4j中未得到尊重的唯一约束,neo4j,graph-databases,neo4j-java-api,Neo4j,Graph Databases,Neo4j Java Api,我在本地创建了一个neo4j数据库,并分配了一些索引和唯一约束 下面是:模式 Indexes ON :Actor(social_id) ONLINE (for uniqueness constraint) ON :Category(name) ONLINE (for uniqueness constraint) Constraints ON (actor:Actor) ASSERT actor.social_id IS UNIQUE ON (category:Categ

我在本地创建了一个neo4j数据库,并分配了一些索引和唯一约束

下面是:模式

Indexes
  ON :Actor(social_id) ONLINE (for uniqueness constraint) 
  ON :Category(name)   ONLINE (for uniqueness constraint) 

Constraints
  ON (actor:Actor) ASSERT actor.social_id IS UNIQUE
  ON (category:Category) ASSERT category.name IS UNIQUE
此外,我在java代码中执行createIfNotFound(),首先执行查找,然后在未找到时创建

尽管进行了这两次检查,我仍然看到数据库中存在多个标签类别和相同名称的节点

 MATCH (n:Category) WHERE n.name='garden' RETURN n

name    garden
name    garden
name    garden
name    garden
Returned 4 rows in 49 ms.

我不确定我遗漏了什么,为什么不遵守唯一约束。

您能删除并重新创建唯一约束吗?我想你会在这里得到一个错误。你是在这些节点进入后创建约束的吗?如果没有,请发布
createIfNotFound
@Stefen:yes在删除和重新创建时,我确实看到了错误。@FrobberOfBits是的,我在添加约束后创建了节点。不幸的是,我不耐烦了,扔掉了代码,重新写了一遍。现在工作正常了。我也在neo4j社区论坛上发了帖子,看起来他们已经发现了这个bug。我将在这个周末通过恢复我的旧代码和测试来测试它。一旦解决,我将在这里发布解决方案和根本原因。感谢@Stefen和frobberoffits,感谢您的关注和建议。