Estou tentando obter a lista de todos os autores que tiveram mais de 3 trabalhos - DBpedia Sparql
Estou tentando obter uma lista de todos os autores que tiveram três ou mais trabalhos concluídos (na DBpedia).
meu exemplo pode ser executado em:http://dbpedia.org/sparql
código baseselect (count(?work) as ?totalWork), ?author
Where
{
?work dbo:author ?author.
}
GROUP BY ?author
Recebo a cada autor a quantidade total de trabalho realizado. Mas quando tento filtrar para mostrar apenas a lista de autores que possuem mais de 3 trabalhos. Eu recebo erro:
Tentei ter palavra-chave ou usando a palavra-chave FILTER.
Usando filtro
select (count(?work) as ?tw), ?author
Where
{
?work dbo:author ?author.
FILTER (?work > 3).
}
GROUP BY ?author
error: Virtuoso 22023 Error VECDT: SR066: Unsupported case in CONVERT (INTEGER -> IRI_ID)
Usando a palavra-chave HAVING
select (count(?work) as ?tw), ?author
Where
{
?work dbo:author ?author.
}
GROUP BY ?author
HAVING (?tw > 3)
Virtuoso 37000 Error SP031: SPARQL compiler: Variable ?tw is used in the result set outside aggregate and not mentioned in GROUP BY clause