11.6 Remove
- 11.6.1 Удаление свойства
- 11.6.2 Удаление метки узла
- 11.6.3 Удаление нескольких меток
Удаление свойств и меток элементов графа выполняется с помощью REMOVE.
Что касается удаления узлов и связей, обратитесь к Разделу 11.5 Delete.
Замечание
Удаление меток узла является идемпотентной операцией: если вы пытаетесь удалить метку узла, который не имеет такой метки, никаких действий выполнено не будет. Статистика запроса скажет вам, требовалось ли что-то сделать или нет.
Примеры исходят из следующей базы данных:
11.6.1 Удаление свойства
Neo4j не позволяет хранить null в свойствах. Напротив, если значение не существует, то свойства просто нет. Поэтому чтобы удалить значение свойства на узле или связи, также воспользуйтесь предложением REMOVE.
Запрос
MATCH (andres { name: 'Andres' }) REMOVE andres.age RETURN andres
вернёт узел, у которого отсутствует свойство age (возраст).
Таблица 11.38 Результат
andres |
---|
Properties set: 1 |
Node[2]{name:"Andres"} |
11.6.2 Удаление метки узла
Используйте REMOVE, чтобы удалить метки.
Запрос
MATCH (n { name: 'Peter' }) REMOVE n:German RETURN n
ничего не вернет, за исключением числа обработанных узлов.
Таблица 11.39 Результат
n |
---|
Labels removed: 1 |
Node[1]{name:"Peter",age:34} |
11.6.3 Удаление нескольких меток
Используйте REMOVE, чтобы удалить несколько меток.
Запрос
MATCH (n { name: 'Peter' }) REMOVE n:German:Swedish RETURN n
ничего не вернет, за исключением числа обработанных узлов.
Таблица 11.37 Результат
n |
---|
Labels removed: 2 |
Node[1]{name:"Peter",age:34} |