Sparql:如何GROUP BY多列

时间:2013-01-23 10:36:14

标签: group-by sparql

在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)

但是这个查询不起作用。

3 个答案:

答案 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中运行得很好