在SPARQL中,我们可以通过gollowing语法按行对行进行分组:
GROUP BY ?colName
我们可以分组超过1列,例如:
GROUP BY (?colName1 + ?colName2 + ?colName3)
假设查询如下:
Select ?a ?b ?c (MIN(?y) AS ?d)
Where {
....
}
GROUP BY (?a + ?b + ?c)
但是这个查询不起作用。
答案 0 :(得分:8)
您可以GROUP BY
多个变量(而不是列)列出它们之间的空格:
GROUP BY ?a ?b ?c
答案 1 :(得分:6)
除了Ben Companjen的回答
GROUP BY ?a ?b ?c
您需要修复SELECT行,因为您无法在不明确说明的情况下传递不确定的非组密钥。
SELECT (sample(?a) as ?A) (sample(?b) as ?B) (sample(?c) as ?C) (min(?y) as ?d)
答案 2 :(得分:-3)
你有没有试过像
这样的东西SELECT?a + b +?c,(MIN(?y)AS?d) 在哪里{ .... } GROUP BY(?a +?b +?c)
这在SQL Server中运行得很好