You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache Age的Cypher查询中用RETURN关键字返回多列?

问题解决方法

这个错误的核心原因是:你的Cypher查询返回了两个结果字段(a.name和b.name),但在PostgreSQL的cypher函数结果定义中只声明了一个列,导致返回行结构和列定义不匹配。

你可以通过以下两种方式解决:

方式1:将多个结果打包为单个agtype对象返回

修改Cypher查询,把两个字段合并成一个结构化对象,让结果列数和定义的列数一致:

test=# SELECT *
FROM cypher('first_graph', $$
MATCH (a:Person)-[]->(b:Person) RETURN {from: a.name, to: b.name}
$$) as (v agtype);

方式2:声明与返回字段数量匹配的结果列

如果需要分别获取两个字段的值,在as (...)中声明对应数量的agtype类型列:

test=# SELECT *
FROM cypher('first_graph', $$
MATCH (a:Person)-[]->(b:Person) RETURN a.name, b.name
$$) as (a_name agtype, b_name agtype);

内容的提问来源于stack exchange,提问作者ahmed_131313

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 22:22:33