Начало работы
Подключение
Тесты производительности
Развёртывание
Использование данных
Загрузка данных
Миграция данных
Запрос данных
Управление кластерами
Обновление
Глобальное обслуживание
Масштабирование
Мониторинг
Безопасность
Лучшие практики
Технические принципы
Типы данных
Хранилище
Исполняющий движок
Потоковая обработка (Domino)
MARS3 Индексы
Расширения
Расширенные функции
Расширенный запрос
Федеративные запросы
Grafana
Резервное копирование и восстановление
Аварийное восстановление
Графовая база данных
Введение
Предложения
Функции
Расширенные темы
Руководство
Настройка производительности
Устранение неполадок
Инструменты
Параметры конфигурации
SQL-команда
Часто задаваемые вопросы
Запросы Cypher выполняются через функцию cypher из схемы ag_catalog, которая возвращает тип SETOF записей.
cypher()Функция cypher() выполняет переданный в качестве аргумента запрос Cypher.
Синтаксис: cypher(graph_name, query_string, parameters)
Возвращаемое значение:
SETOF записей
Параметры:
| Имя | Описание |
|---|---|
graph_name |
Целевой граф для выполнения запроса Cypher. |
query_string |
Выполняемый запрос Cypher. |
parameters |
Необязательная карта параметров для подготовленных операторов; по умолчанию NULL. |
Примечание!
- Даже если запрос Cypher не возвращает результатов, определение структуры записи должно быть указано явно.
- Карта
parametersдопустима только при использовании подготовленных операторов; в остальных случаях её применение вызовет ошибку.
Пример запроса:
SELECT * FROM cypher('graph_name', $$
/* Здесь размещается запрос Cypher */
$$) AS (result1 agtype, result2 agtype);
Cypher нельзя использовать непосредственно внутри SQL-выражений. Вместо этого применяйте подзапрос. Подробнее об интеграции запросов Cypher в выражения см. в разделе [Расширенное использование]().
SELECTВызов cypher() в виде отдельного столбца в предложении SELECT не поддерживается. Однако функцию cypher() можно использовать внутри условных предложений (например, WHERE, HAVING).
Неподдерживаемый синтаксис:
SELECT
cypher('graph_name', $$
MATCH (v:Person)
RETURN v.name
$$);
Сообщение об ошибке:
ERROR: cypher(...) in expressions is not supported
LINE 3: cypher('graph_name', $$
^
HINT: Use subquery instead if possible.