Estoy tratando de obtener una lista de todos los autores que han tenido más de 3 trabajos - DBpedia Sparql
Estoy tratando de obtener una lista de todos los autores que han realizado 3 o más trabajos (en DBpedia).
mi ejemplo se puede ejecutar en:http://dbpedia.org/sparql
código baseselect (count(?work) as ?totalWork), ?author
Where
{
?work dbo:author ?author.
}
GROUP BY ?author
Obtengo a cada autor la cantidad total de trabajo realizado. Pero cuando trato de filtrar para mostrar solo la lista de autores que tienen más de 3 piezas de trabajo. Me sale el error:
Intenté TENER palabra clave o usar la palabra clave 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 la palabra clave 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