У меня есть схема neo4j, в которой у меня есть 3 узла. например р, б, вNeo4j: Ошибка слияния нескольких отношений
Я хочу написать запрос Merge таким образом, что
MERGE (p)-[:has_b]->(b),
MERGE (p)-[:has_c]->(c1),
MERGE (p)-[:has_c]->(c2)
где c1 и с2 являются примером гр узла, имеющего различные значения свойств.
i.e. Объедините все три отношения.
Если какой-либо из трех запросов слияния создает новый узел, все отношения должны использовать вновь созданный узел p.
я могу добиться этого, если у меня было только два отношения, используя
(c)<-[:has_c]-MERGE (p)-[:has_b]->(b)
Любые предложения, как сделать это в течение 3 отношений, как в моем случае?
FYI, я использую py2neo, который не помогает вообще.
это приведет к извлечению p-узла, имеющего {k: v}, который может иметь или не иметь отношения has_b/has_c. В принципе, я хочу, чтобы p-узел проверял его отношения с b, c1 и c2 и возвращал старый p-узел, если все три отношения существуют и имеют одинаковые свойства, и создают новый узел, даже если любое из трех отношений является новым (если свойство end_node отличается, имя отношения может быть одинаковым). Дайте мне знать, если вы хотите, чтобы я объяснил больше. – ajaysingh
похоже на что (c: LabelC {c: 'd'}) <- [: has_c] -MERGE (p: LabelP {p: 'q'}) - [: has_b] -> (b: LabelB {b: 'b'}). Но это касается только двух реалий. Я хочу эту функциональность для 3 realtionships – ajaysingh
в основном я хочу запрос MERGE для 3 отношений в одном запросе – ajaysingh