2016-08-25 3 views
0

現在、PersonノードとItemノード間の関係を作成しようとしています。 しかし、2つのプロパティと値の関係は一意でなければなりません。 だから、のNeo4jのマニュアルに従ってCREATE UNIQUEが十分でなければなりません使用して:Neo4j - 依然として「独自の作成」との関係が重複しています

MATCH (p:Person), (i) 
WHERE id(p) = 561 
AND id(i) = 213 
Create Unique (p)-[:TAG {comment:'test comment',date:timestamp()}]->(i); 

しかし、このクエリを複数回実行しているとき、私はできるだけ多くの重複関係を取得します。 誰でもこれを修正する方法を知っていますか?

ありがとうございます!

+3

作成するリレーションが一意になるようにする場合は、代わりにMERGEを使用します。CREATE UNIQUEは、プロパティがすべて同じ場合、2つのリレーションシップを等しいとみなします。 – Supamiu

+0

MATCH(p:Person)、(i) ここで、id(p)= 561 AND id(i)= 213 マージ(p) - [:TAG {コメント: 'テストコメント '、日付:タイムスタンプ()}] ​​- >(i); は、呼び出しごとにdateプロパティが異なる限り、依然として新しい関係を作成します。 – Hui

答えて

0

実際には、それぞれのリレーションシップを一意にする固有の呼び出しを作成するたびに、日付の値が異なることがわかりました。 私は残りのプロパティの一意性を強制するために、dateプロパティを削除する必要があると思います。

関連する問題