вкратце: как мы можем MERGE
несколько узлов и отношений так же, как мы делаем с MATCH
и CREATE
: мы можем сделать несколько CREATE
или MATCH
для узлов или отношения, разделенные запятой, но это действие не допускается с MERGE
подробно: предположим, у меня есть два графика:
G1: (a)-[r1]->(b)<-[r2]-(c)
G2: (a)-[r1]->(b)<-[r3]-(d)
У меня есть G1
, вставленный в neo4j, и G2
готов к отправке в дБ. Обычный способ сделать это - объединить каждую пару узлов, а затем объединить отношение; в этом примере для отношения r1
не было бы изменений в дБ, поскольку G1
уже имеет отношение, однако для второго мой CQL сначала создает узел d
, затем добавляет отношение r3
Есть ли способ подтолкнуть G2
к дБ за один шаг? что-то вроде:
MERGE (a), (b), (c), (a)-[r1]->(b)<-[r3]-(d)
чтобы создать такой результат:
(a)-[r1]->(b)<-[r2]-(c)
^
|
[r3]
|
(d)