Я хочу удалить специальный «корневой» узел в моей базе данных Neo4j.
Я уже нашел несколько вопросов / ответов в SO, но они бесполезны по другой причине.
Мы используем узел db: DATABASE для хранения данных клиента в Neo4j, а все остальные узлы каким-то образом связаны с этим узлом.Таким образом, настоящий Root Node Neo4j просто подключен к этой базе данных.Это означает, что при создании нового узла под арендатором этот новый узел имеет промежуточное соединение с узлом DATABASE и имя соединения СОДЕРЖИТ.
здесь приведен код создания узла DATABASE
CREATE (db:Database { Name: 'TenantName' } ) " )
И я хочу удалить всего Арендатора, это означает, что я хочу удалить всю БАЗУ ДАННЫХ и весь узел, который подключен к узлу ДАННОЙ БАЗЫ.
Если удалить узел с этим простым шифром,узел удален, но все подключенные узлы все еще остаются в базе данных.
MATCH (db:Database)
WHERE db.Name = 'TeanantName'
DETACH DELETE db
Задача заключается в следующем: мы не знаем ни имени узла, ни какого-либо соединения в узле DATABASE.
Уже отвечено на SO вопросы:
- Как удалить узел и связанные с ним узлы с помощью запроса шифра Neo4j? В этом ответе мы знаем имя отношения.«ACTED_IN» и предполагает, что у нас есть только это соединение с удаленным узлом.
- Neo4j: Как удалить все узлы и отношения за пределами узла? В этом случае мы знаем реальную структуру узла, но в нашем случае мы не знаем.
- узел удаления шифров и весь список связанных узлов Это предполагает, что каждый узел в пути больше не привязан ни к чему, кромеузлы в пути, иначе они не смогут быть удалены.Что в нашем случае неверно.
- Neo4j, как рекурсивно удалять узлы из некоторого начального узла В этом случае известна вся структура графа.
Спасибо, ребята!