在SPARQL中,我们可以通过gollowing语法按行对行进行分组:
GROUP BY ?colName
Run Code Online (Sandbox Code Playgroud)
我们可以分组超过1列,例如:
GROUP BY (?colName1 + ?colName2 + ?colName3)
Run Code Online (Sandbox Code Playgroud)
假设一个查询如下:
Select ?a ?b ?c (MIN(?y) AS ?d)
Where {
....
}
GROUP BY (?a + ?b + ?c)
Run Code Online (Sandbox Code Playgroud)
但是这个查询不起作用.
除了Ben Companjen的回答
GROUP BY ?a ?b ?c
Run Code Online (Sandbox Code Playgroud)
您需要修复SELECT行,因为您无法在不明确说明的情况下传递不确定的非组键,例如
SELECT (sample(?a) as ?A) (sample(?b) as ?B) (sample(?c) as ?C) (min(?y) as ?d)
Run Code Online (Sandbox Code Playgroud)
小智 -6
你有没有尝试过类似的东西
SELECT ?a+b+?c, (MIN(?y) AS ?d) 其中 { .... } GROUP BY (?a+?b+?c)
这在 SQL Server 中工作得很好
| 归档时间: |
|
| 查看次数: |
5395 次 |
| 最近记录: |