Sentencia SPARQL para obtener Autores que han ganado el premio Nobel en la Biblioteca Virtual Miguel de Cervantes a partir de Wikidata
27/09/2017Hace unos meses os presentamos el proyecto Wikidata y sus beneficios. Hemos empezado a trabajar con los datos para obtener información extra sobre los autores y obras de nuestra biblioteca. Gracias a los datos y a Wikidata podemos crear nuevo conocimiento a partir de la información de nuestro repositorio. Entre las muchas opciones, y gracias a los enlaces incorporados de autores (urls de tipo http://data.cervantesvirtual/person/*), podríamos obtener los diferentes premios que han obtenido los autores, o incluso los autores que han recibido un premio en concreto. así, si queremos obtener los diferentes premios podríamos ejecutar el siguiente ejemplo de consulta SPARQL:
SELECT ?label ?premio (count(distinct ?autor) as ?count) WHERE { ?autor wdt:P2799 ?id . ?autor wdt:P166 ?premio . ?premio rdfs:label ?label . FILTER (lang(?label) = 'es') } group by ?label ?premio order by desc(?count)
Y si quisiéramos obtener los autores que han ganado un premio en concreto como por ejemplo el premio Nobel, la sentencia sería la siguiente:
SELECT ?autor ?label WHERE { ?autor wdt:P2799 ?id . ?autor wdt:P166 wd:Q37922 . ?autor rdfs:label ?label . FILTER (lang(?label) = 'es') }