Я недавно начал использовать Neo4j (версия 3.4.1) и до сих пор изучаю нюансы.У меня есть следующие отношения узла в моем приложении.
Я пытаюсь добиться следующего:
Я могу удалить узлы C1 или C2.Я также могу удалить их соответствующие отношения (например, HAS_X или HAS_Y).
Однако, когда я удаляю и C1, и C2, узел L1 и другие связанные с ним узлы (M1, M2 и M3) становятся сиротами.Следовательно, я хочу, чтобы всякий раз, когда я удаляю C1 или C2, если это единственный узел, имеющий отношение HAS_Y с узлом L1, то в этом случае узел L1 и связанные с ним узлы (M1, M2 и M3) также должны быть удалены,Если это не единственный узел, имеющий отношение HAS_Y с L1, в этом случае мы просто удаляем этот конкретный узел (т.е. C1 / C2).Узел L1 и остальные узлы остались нетронутыми.Узлы U1 и U2 остаются незатронутыми в обоих сценариях.
Я не уверен, как мне добиться этого с помощью одного запроса шифра.
Примечание: Мне удалосьдостичь моей цели, выполнив 2 отдельных запроса (1 для удаления узла C1 / C2 и еще один для удаления потерянного узла L1).Тем не менее, он не самый эффективный, так как мне приходится совершать две поездки в дб.
Может ли кто-нибудь дать мне информацию о том, как мне справиться с этой задачей?Я ищу решение для Cyper-запросов (я избегаю процедур APOC atm, так как я слышал, что оно требует некоторой модификации конфигурации neo4j db)
С уважением,
V