11.4. Set
- 11.4.1 Установка свойства
- 11.4.2 Удаление свойства
- 11.4.3 Копирование свойств между узлами и связями
- 11.4.4 Установка свойства с помощью параметра
- 11.4.5 Установка всех свойств с помощью параметра
- 11.4.6 Установка метки на узле
- 11.4.7 Установка нескольких меток на узле
Обновление меток на узлах и свойств на узлах и связях выполняется с помощью предложения SET. SET также может использоваться для отображения параметров в набор свойств.
Замечание
Установка меток на узле является идемпотентной операцией – если вы пытаетесь установить метку на узел, который уже имеет эту метку, ничего не произойдет. Статистика запроса скажет вам, если что-то потребуется сделать.
Нижеприведенные примеры используют этот граф как стартовую точку:
11.4.1 Установка свойства
Чтобы установить свойство на узле или связи, используйте SET.
Запрос
MATCH (n { name: 'Andres' }) SET n.surname = 'Taylor' RETURN n
возвращает изменённый узел.
Таблица 11.28 Результат
n |
---|
Properties set: 1 |
Node[3]{name:"Andres",age:36,awesome:true,surname:"Taylor"} |
11.4.2 Удаление свойства
Обычно вы удаляете свойство с помощью REMOVE, однако иногда удобно это сделать с помощью команды SET. Один из примеров – когда свойство приходит из параметра.
Запрос
MATCH (n { name: 'Andres' }) SET n.name = NULL RETURN n
возвращает узел, при этом свойство name отсутствует.
Таблица 11.29 Результат
n |
---|
Properties set: 1 |
Node[3]{age:36,awesome:true} |
11.4.3 Копирование свойств между узлами и связями
Вы можете также использовать SET для копирования всех свойств из одного элемента графа в другой.
Имейте в виду, что это удалит все другие свойства на принимающем элементе графа.
Запрос
MATCH (at { name: 'Andres' }),(pn { name: 'Peter' }) SET at = pn RETURN at, pn
Узел Andres поменял все свои свойства на свойства узла Peter.
Таблица 11.30 Результат
at | pn |
---|---|
Properties set: 3 | |
Node[3]{age:34,name:"Peter"} | |Node[2]{name:"Peter",age:34} |