7.5 Параметры
- 7.5.1 Строковый литерал
- 7.5.2 Регулярное выражение
- 7.5.3 Создание узла со свойствами
- 7.5.4 Создание множества узлов со свойствами
- 7.5.5 Установка всех свойств узла
- 7.5.6 SKIP и LIMIT
- 7.5.7 Идентификатор узла
- 7.5.8 Множество идентификаторов узлов
- 7.5.9 Значение индекса (наследованные индексы)
- 7.5.10 Запрос индекса (наследованные индексы)
Cypher поддерживает запросы с параметрами. Это означает, что разработчики не обязаны прибегать к построению строки, чтобы создать запрос. Кроме того, это дает возможность Cypher более просто кэшировать планы выполнения.
Параметры могут быть использованы вместо литералов и выражений в предложении WHERE, в качестве значения индекса в предложении START, запросах индексов и, наконец, в качестве идентификаторов узлов/связей. Параметры не могут использоваться в качестве имен свойств, типов связей и меток, поскольку они являются частью структуры запроса, которая компилируется в план его выполнения.
Допустимыми именами параметров являются буквы и цифры, а также любая их комбинация.
Подробнее о параметрах при использовании Neo4j с встроенным Java API смотрите в Разделе 32.13 “Параметры запросов”. Относительно использования параметров посредством Neo4j REST API обратитесь к Разделу 19.5 “Запросы Cypher через REST”.
Ниже дан большой набор разнообразных примеров использования параметров. Здесь параметры даны в формате JSON. Точный вид, в котором они будут приниматься, зависит от используемого драйвера.
7.5.1 Строковый литерал
Параметры
{ "name" : "Johan" }
Запрос
MATCH (n) WHERE n.name = { name } RETURN n
7.5.2 Регулярное выражение
Параметры
{ "regex" : ".*h.*" }
Запрос
MATCH (n) WHERE n.name =~ { regex } RETURN n.name
7.5.3 Создание узла со свойствами
Параметры
{ "props" : { "position" : "Developer", "name" : "Andres" } }
Запрос
CREATE ({ props })