Подтвердить что ты не робот

Sparql: как GROUP больше, чем одна колонка

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

Но этот запрос не работает.

4b9b3361

Ответ 1

Вы можете GROUP BY несколько переменных (не столбцов), указав их в промежутке между:

GROUP BY ?a ?b ?c

Ответ 2

В дополнение к Бену Компаньену ответ

GROUP BY ?a ?b ?c

вам нужно исправить строку SELECT, так как вы не можете раздать неопределенные ключи, не относящиеся к группе, без явного указания, например:

SELECT (sample(?a) as ?A) (sample(?b) as ?B) (sample(?c) as ?C) (min(?y) as ?d)

Ответ 3

Вы пробовали что-то вроде

SELECT? a + b +? c, (MIN (? y) AS? d) Где { .... } GROUP BY (? A +? B +? C)

Это работает на SQL Server просто отлично