关于 YMatrix
部署数据库
使用数据库
管理集群
最佳实践
高级功能
高级查询
联邦查询
Grafana 监控
备份恢复
灾难恢复
图数据库
管理手册
性能调优
故障诊断
工具指南
系统配置参数
SQL 参考
Cypher 查询通过 ag_catalog 中名为 cypher 的函数构建,该函数返回 PostgreSQL 的 SETOF records。
cypher() 执行作为参数传入的 Cypher 查询。
语法:cypher(graph_name, query_string, parameters)
返回值:
A SETOF records
参数:
| 参数名称 | 描述 |
|---|---|
| graph_name | Cypher 查询的目标图。 |
| query_string | 要执行的 Cypher 查询。 |
| parameters | 用于预处理语句的可选参数映射。默认值为 NULL。 |
注意!
- 如果 Cypher 查询不返回结果,仍然需要定义记录定义。
- 参数映射只能与预处理语句一起使用,否则会抛出错误。
查询示例:
SELECT * FROM cypher('graph_name', $$
/* 此处为 Cypher 查询 */
$$) AS (result1 agtype, result2 agtype);
Cypher 不能作为表达式的一部分使用,请改用子查询。有关如何在表达式中使用 Cypher 查询的信息,请参阅[高级用法]()查询。
不允许在 SELECT 子句中将 Cypher 作为独立列调用。但是,当 Cypher 作为条件的一部分时可以使用。
不允许的用法:
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.