Consulta SPARQL para obter apenas resultados com a data mais recente

Estou aprendendo os conceitos básicos do SPARQL com o recente banco de dados RDF lançado pelo Ministério da Justiça finlandês. Ele contém dados da lei finlandesa.

Existem estatutos, que têm versões, que têm data e tópicos. Quero obter as versões mais recentes que têm um tópico "arma". Então, eu escrevi isso:

PREFIX sfl: <http://data.finlex.fi/schema/sfl/>
PREFIX eli: <http://data.europa.eu/eli/ontology#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?stat ?vers ?dv 
WHERE { 
   ?stat rdf:type sfl:Statute .
   ?stat sfl:hasVersion ?vers .
   ?vers eli:version_date ?dv .
   ?vers eli:is_about ?top .
   ?top skos:prefLabel "Ase"@fi .

 } ORDER BY DESC(?dv)

Isso retorna quatro linhas, com três estatutos, um estatuto duas vezes. Isso ocorre porque esse estatuto possui duas versões, mais antiga e atual. Os outros dois estatutos têm apenas uma versão.

Como me livrar da versão mais antiga para obter apenas estatutos com a versão mais recente? Eu tentei usar algo como(MAX(?dv) AS ?ndv) e agrupando por? stat e? vers, mas isso não funciona, pois existem quatro versões distintas.

EDIT: Deixe-me adicionar um exemplo simulado do que acontece.

O resultado da consulta original é assim:

stat | vers | dv
 a   | abc  |  x
 a   | cde  |  y(<x)
 b   | foo  |  z
 c   | fot  |  u

Vemos que o estatuto "a" tem duas versões, "abc" e "cde" e o dv da versão "abc" é mais tarde que o dv da versão "cde". Os outros dois estatutos "b" e "c" têm apenas uma versão cada, com os dvs de "z" e "u".

A propriedade de ter o tópico "arma" é uma propriedade de vers. Todas as versões retornadas possuem esse tópico.

O que eu quero é o seguinte:

stat | vers | dv
 a   | abc  |  x
 b   | foo  |  z
 c   | fot  |  u

Em outras palavras, desejo obter, para cada estatuto, apenas a versão com o valor dv mais alto ou mais recente.

PS. Você pode testar isso emhttp://yasgui.org/ Basta digitar a consulta e você obterá o resultado.

questionAnswers(2)

yourAnswerToTheQuestion