Я динамически строю график, используя merge
, чтобы избежать создания дубликатов. У меня есть запрос вроде:
`MERGE(a:${node.type} {id:'${node.id}', label:'${node.label}'}) SET a += $att RETURN a`, {att:node.attributes}
Итак, я знаю тип, идентификатор и метку узла, который я добавляю, но есть также и неизвестный список атрибутов. Я не знаю длины списка или ключей в списке. Мне нужно merge
в полном списке атрибутов, но при моем запросе атрибуты узла переписываются каждый раз, когда узел соответствует типу, идентификатору и метке.
Я также пытался:
MERGE(a:${mergedObject.type} $node) RETURN a`, {node: mergedObject}
, что не удается с Neo4jError: Parameter maps cannot be used in MERGE patterns
Как сопоставить узел в неизвестном списке свойств (длина / ключи)? Я использую neo4j-драйвер модуль. Мне нужно, чтобы весь узел и все его свойства были уникальными.