У меня есть несколько наблюдений куба данных RDF, у которых есть прикрепленный атрибут, в моем случае это дата, когда было записано это значение.
Например, шаблон прост (без учета других измерений / показателей)./ attribute):
<obs1> a qb:Observation ;
my:lastupdate '2017-12-31'^^xsd:date ;
qb:dataSet <dataSet1> .
<obs2> a qb:Observation ;
my:lastupdate '2016-12-31'^^xsd:date ;
qb:dataSet <dataSet1> .
<obs2_1> a qb:Observation ;
my:lastupdate '2017-12-31'^^xsd:date ;
qb:dataSet <dataSet2> .
<obs2_2> a qb:Observation ;
my:lastupdate '2015-12-31'^^xsd:date ;
qb:dataSet <dataSet2> .
Итак, у меня в магазине несколько qb:DataSet
.Теперь я хотел бы выяснить последние значения X my:lastupdate
для набора данных.Допустим, мне нужны последние 5 значений для каждого конкретного набора данных.
Я могу сделать это очень легко для одного конкретного набора данных:
SELECT * WHERE {
?observation my:lastupdate ?datenstand ;
qb:dataSet <dataSet1>
} ORDER BY DESC(?datenstand) LIMIT 5
Но я немного растерялся, если этовсе возможно в рамках одного запроса SPARQL для каждого набора данных.Я пробовал различные комбинации с суб-выбором, комбинациями LIMIT и GROUP BY, но ничто не привело к результату, который я ищу.