当前位置:  开发笔记 > 编程语言 > 正文

投影中的变量"x"在GROUP BY中不存在

如何解决《投影中的变量"x"在GROUPBY中不存在》经验,为你挑选了1个好方法。

我想算一些市政当局和我在括号里工作的东西.但是,我想获得另一个变量,但是当我将它添加到SELECT时,我得到:

org.openrdf.query.MalformedQueryException:投影中的变量'region_name'在GROUP BY中不存在.

在我的查询中,我有:

"SELECT ?region_name (COUNT(?municipality) AS ?count) " +

我错过了什么?

请注意,我的项目中没有任何像GROUP这样的东西,我认为它是在Sesame内部发生的.

我刚刚看到,如果我删除(COUNT ...),我会按预期获得名称.



1> Jeen Broekst..:

在SPARQL,一个使用聚合函数查询(例如COUNT,SUM,SAMPLE等)始终使用一个分组.即使您没有GROUP BY在查询中明确指定子句,它也会使用"默认分组"(即所有解决方案所属的单个组).

在使用聚合的SPARQL查询中,非聚合变量(例如?region_name)可能不会在SELECT子句中投影,除非它们被明确添加到分组中.

修复是GROUP BY为您的查询添加一个显式:

SELECT ?region_name (COUNT(?municipality) AS ?count)
WHERE {
  ... 
}
GROUP BY ?region_name 

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有