Grupo de Facebook DBpedia en español
Notify Twitter

Ejemplo 1. Científicos españoles#

Alternativa 1#

SELECT ?person WHERE{
   ?person dcterms:subject <http://es.dbpedia.org/resource/Categoría:Científicos_de_España>
}
Resultado.

Explicación#

Si buscas 'científicos' en wikipedia verás que hay una categoría con ese nombre. También verás que no tiene una lista de científicos, sino una lista de categorías (como 'Científicos por disciplina', o 'Científicos por país'). Si entras en la categoría 'Científicos por país' (a su vez tiene 128 categorías) y eliges la categoría 'Científicos de España' verás que (aparte de más categorías) tiene 58 páginas de científicos. Estos son los que devuelve la consulta anterior.
En realidad devuelve 59, uno más de lo esperado. La única explicación que le veo es que se haya añadido un científico después del 20 de abril de 2012 (fecha del dump de wikipedia a partir del que se han generado los datos. ¿Puedo saber la fecha de inserción de una página de wikipedia?

Alternativa 2#

PREFIX esdbpr: <http://es.dbpedia.org/resource/> 
SELECT ?person WHERE{
  ?person  rdf:type             dbpedia-owl:Scientist .
  ?person  dbpedia-owl:country  esdbpr:España . 
}
Resultado.

Explicación#

Si en wikipeda buscas un científico concreto, por ejemplo, Margarita Salas, verás (editando la página) que usa la 'ficha de Científico'. Alternativamente, puedes ver qué datos tiene es.dbpedia de Margarita salas. Para saber cómo se ha mapeado mira el mapeo de 'Ficha de científico'.

Puedes ver que un científico se mapea a la clase Scientist y que tiene una propiedad country.

Nota: Aunque la propiedad country está mapeada a dos propiedades en español (país_de_residencia y pais_de_residencia), no encuentro recursos con ninguna de esas dos propiedades. ¿Puede ser un fallo del mapeo o del extractor?.

Esta consulta produce 110 resultados, casi el doble que la anterior.

Ejemplo 2#