/ / Neo4j / Cypher:CREATE UNIQUEは非推奨ですか? -neo4j、サイファー

Neo4j / Cypher:CREATE UNIQUEは廃止されましたか? - neo4j、cypher

次のような単純なCypherクエリを作成する場合:

MATCH (r:Person {name:"Jon"})
MATCH (s:Person {name:"Ana"})
CREATE UNIQUE (r)-[:FRIEND_OF]->(s)

Neo4jブラウザでアラートメッセージを受信して​​います。アラートメッセージには次のように表示されます。

RULEプランナーは、現在のCYPHERバージョンでは使用できません。 クエリは古いCYPHERバージョンで実行されました。 CREATE UNIQUEは 現在のCYPHERバージョンではサポートされていません。クエリは 古いCYPHERバージョン

警告メッセージの印刷画面は次のとおりです。

警告メッセージ

Neo4j Githubでこのメッセージを検索しましたが、何も見つかりませんでした。また、ドキュメントには減価償却に関する言及はありません。

私の質問は: CREATE UNIQUEは非推奨ですか?どうして?

Neo4j 3.2.1を使用しています。

ありがとう。

PS: 私はクエリがリファクタリングできることを知っています。これは単なる例です。また、クエリを使用して行われたすべてのリファクタリング CREATE UNINQUE Neo4jブラウザに同じアラートメッセージを表示します。

回答:

回答№1は2

CREATE UNIQUEは、MERGEによって完全に置き換えられるように設定されています。したがって、構文は次のようになります。

MATCH (r:Person {name:"Jon"})
MATCH (s:Person {name:"Ana"})
MERGE (r)-[:FRIEND_OF]->(s)

よろしく、 トム


回答№2の場合は0

これを試して

MATCH (lft:Person {name:"Jon"}),(rgt)
WHERE rgt.name IN ["Ana"]
CREATE UNIQUE (lft)-[r:KNOWS]->(rgt)
RETURN r

このように複数の名前も検索できることに注意してください

MATCH (lft:Person {name:"Jon"}),(rgt)
WHERE rgt.name IN ["Ana","Maria"]
CREATE UNIQUE (lft)-[r:KNOWS]->(rgt)
RETURN r