我想计算城市和括号中的内容。但是,我也想获得另一个变量,但是当我将它添加到 SELECT 时,我得到:
org.openrdf.query.MalformedQueryException:投影中的变量“region_name”不存在于 GROUP BY 中。
在我的查询中我有:
"SELECT ?region_name (COUNT(?municipality) AS ?count) " +
我缺少什么?
请注意,我的项目中的任何地方都没有类似 GROUP 的东西,我认为它是在 Sesame 内部发生的。
我刚刚看到,如果删除 (COUNT...),我将得到预期的名称。
在 SPARQL 中,every使用聚合函数的查询(例如COUNT
, SUM
, SAMPLE
, etc.) always使用分组。即使您没有明确指定GROUP BY
子句中,它使用“默认分组”(即所有解决方案所属的单个组)。
在使用聚合、非聚合变量(例如?region_name
)可能不会被投影在SELECT
子句,除非它们明确添加到分组中。
修复方法是添加一个显式的GROUP BY
您的查询:
SELECT ?region_name (COUNT(?municipality) AS ?count)
WHERE {
...
}
GROUP BY ?region_name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)