Как предотвратить повторяющиеся отношения без использования MERGE Neo4J 3.5?
Я хочу выполнить следующий запрос для каждой партии, полученной от Kafka.
MATCH (a:Dense1) where a.id <> "1"
WITH a
MATCH (b:Dense1) where b.id = "1"
WITH a,b
WHERE a.key = b.key
CREATE (a)-[:PARENT_OF]->(b)
Если я изменю CREATE
до MERGE
производительность значительно замедляется из-за двойной блокировки, как объяснено здесь , если я изменю CREATE на CREATE UNIQUE
Производительность лучше, чем MERGE
, но все еще не хороша, как только CREATE
.Моя цель - если между двумя узлами существуют отношения, просто ничего не делать, даже если запрос выполняется несколько раз или даже лучше отправить уведомление или исключение в драйвер клиента, чтобы приложение могло сделать что-то полезное.Могу ли я создать свойство uid
для каждого отношения и наложить на него ограничение?это будет работать?