gsa*_*ras 2 java select rdf sesame sparql
我想算一些市政当局和我在括号里工作的东西.但是,我想获得另一个变量,但是当我将它添加到SELECT时,我得到:
org.openrdf.query.MalformedQueryException:投影中的变量'region_name'在GROUP BY中不存在.
在我的查询中,我有:
"SELECT ?region_name (COUNT(?municipality) AS ?count) " +
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
请注意,我的项目中没有任何像GROUP这样的东西,我认为它是在Sesame内部发生的.
我刚刚看到,如果我删除(COUNT ...),我会按预期获得名称.
在SPARQL,每一个使用聚合函数查询(例如COUNT,SUM,SAMPLE等)始终使用一个分组.即使您没有GROUP BY在查询中明确指定子句,它也会使用"默认分组"(即所有解决方案所属的单个组).
在使用聚合的SPARQL查询中,非聚合变量(例如?region_name)可能不会在SELECT子句中投影,除非它们被明确添加到分组中.
修复是GROUP BY为您的查询添加一个显式:
SELECT ?region_name (COUNT(?municipality) AS ?count)
WHERE {
...
}
GROUP BY ?region_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
633 次 |
| 最近记录: |