0

ローカルで neo4j DB を作成し、いくつかのインデックスと一意の制約を割り当てました。

スキーマは次のとおりです。

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() を実行します。最初に検索を行い、見つからない場合は作成します。

これらの 2 つのチェックにもかかわらず、ラベル カテゴリの複数のノードと同じ名前が DB に存在していることがわかります。

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

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

何が欠けているのかわかりません。また、一意の制約が尊重されないのはなぜですか。

4

0 に答える 0