Вы можете использовать порядок по предложению , как в SQL. Обратите внимание, что согласно спецификации SPARQL ORDER BY
относится только к SELECT
запросам. Вам нужно будет создать привязку для свойства, которое вы хотите использовать для оформления заказа.
SELECT ?s ?p ?o
WHERE {?s ?p ?o .
?s <creationDatePredicate> ?date . }
ORDER BY DESC(?date)
LIMIT 200
Обновление: Если вы еще не сохраняете дату создания, вам нужно будет сохранить метаданные самостоятельно. Что касается того, как это сделать, у вас есть несколько вариантов:
Сохраните тройку на графике по умолчанию, в котором указана дата создания для каждого предмета. Если вы храните более одного графика, он очень быстро станет громоздким и, вероятно, это не то, что вам нужно.
Сохраняйте каждый граф как именованный граф в вашем тройном хранилище RDF. Затем вы можете хранить метаданные о каждом графике в графике по умолчанию или в одном «совместно используемом» названном графике для времени создания.
Сохраните ваши данные в названном графике и используйте именованный график для хранения метаданных времени создания.
Примером запроса SPARQL для опции № 2 будет:
SELECT ?s ?p ?o
WHERE {
GRAPH ?g { ?s ?p ?o . }
?g <creationDatePredicate> ?date . }
ORDER BY DESC(?date)
LIMIT 200