Добавление отношения в Cypher, если нет существующего отношения независимо от свойств отношения - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь добавить новое отношение между двумя узлами, если отношение не существует.

Match (p:Partner)-[:HAS_COMMISSIONS]->(cc:CommissionConfig),
  (gc:GroupConfig)
   where gc.server="3"
    Merge(cc)-[:BELONGS_TO_ADA_GROUP{aa:100,bb:200}]->(gc)

этот запрос работает и добавляет отношение, если оно не существует, но если я перезапущу тот же запрос и изменил эти значения BELONGS_TO_ADA_GROUP{aa:300,bb:300} новое отношение будет добавлено из-за новых свойств отношения. Можем ли мы заставить MERGE игнорировать свойства? Мне нужно добавить отношение, только если нет отношения, независимо от значения отношения.

1 Ответ

1 голос
/ 06 мая 2020

Устанавливать свойства только в том случае, если объединение приводит к созданию:

MATCH (p:Partner)-[:HAS_COMMISSIONS]->(cc:CommissionConfig),
      (gc:GroupConfig)
WHERE gc.server = '3'
MERGE(cc)-[r:BELONGS_TO_ADA_GROUP]->(gc)
  ON CREATE SET r.aa=100, r.bb=200 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...