Table of Contents
- Introducción
- Ejemplo 1. Científicos españoles
- Alternativa 1
- Explicación
- Alternativa 2
- Explicación
- Ejemplo 2. Parejas de los hijos de Margaret Thatcher
- Ejemplo 3. Número de recursos geolocalizados en es.dbpedia.org
- Ejemplo 4. ¿Se llama Michelle la esposa de Obama?
- Ejemplo 5. Nombre de grupos de música heavy de los años 80
- Ejemplo 6. Nombres y sobrenombres de músicos de jazz latino
- Ejemplo 7. La ontología DBpedia
Introducción#
En esta página encontrarás casos típicos de consultas. Por favor, si tienes alguna consulta interesante siéntete libre de añadirla.Las consultas que no devuelven los resultados esperados, típicamente porque los datos de Wikipedia están mál, o por deficiencias del extractor, por favor, añádelos en preguntas abiertas.
Otra fuente interesante de consulta puede ser la QALD-2 SPARQL Queries.
Ejemplo 1. Científicos españoles#
Alternativa 1#
PREFIX dcterms: <http://purl.org/dc/terms/> 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
En realidad devuelve 21, ocho menos de los esperados. La única explicación que le veo es que se hayan añadido los ocho científicos después de noviembre de 2016 (fecha del dump de wikipedia a partir del que se han generado los datos). Una nueva duda: ¿Puedo saber la fecha de inserción de una página de wikipedia?
Alternativa 2#
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 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


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 154 resultados, muchos más la anterior.
Ejemplo 2. Parejas de los hijos de Margaret Thatcher#
PREFIX esdbp: <http://es.dbpedia.org/property/> PREFIX esdbr: <http://es.dbpedia.org/resource/> SELECT ?hijo ?pareja WHERE { esdbr:Margaret_Thatcher esdbp:hijos ?hijo . ?hijo esdbp:cónyuge ?pareja . }Resultado

Ejemplo 3. Número de recursos geolocalizados en es.dbpedia.org#
SELECT DISTINCT count (?res) WHERE { ?res geo:lat ?v. }Resultado

Ejemplo 4. ¿Se llama Michelle la esposa de Obama?#
PREFIX esdbp: <http://es.dbpedia.org/property/> PREFIX esres: <http://es.dbpedia.org/resource/> ASK WHERE { esres:Barack_Obama esdbp:cónyuge ?esposa. FILTER(regex(?esposa,'Michelle')) }Resultado

Ejemplo 5. Nombre de grupos de música heavy de los años 80#
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> PREFIX esdbpp: <http://es.dbpedia.org/property/> PREFIX esdbpr: <http://es.dbpedia.org/resource/> SELECT ?grupo WHERE{ ?grupo rdf:type dbpedia-owl:MusicalArtist . ?grupo dbpedia-owl:activeYearsStartYear ?inicio . ?grupo dbpedia-owl:activeYearsEndYear ?fin . ?grupo esdbpp:estilo esdbpr:Heavy_metal . FILTER ( (?inicio > "1980-01-01T00:00:00Z"^^xsd:dateTime && ?inicio < "1990-01-01T00:00:00Z"^^xsd:dateTime ) || (?fin > "1980-01-01T00:00:00Z"^^xsd:dateTime && ?fin < "1990-01-01T00:00:00Z"^^xsd:dateTime ) || (?inicio < "1980-01-01T00:00:00Z"^^xsd:dateTime && ?fin > "1990-01-01T00:00:00Z"^^xsd:dateTime ) ) }ORDER BY DESC(?inicio)Resultado

Nota: Esta consulta se puede mejorar en varios aspectos:
- El cálculo de los grupos ochenteros se basa en que existe fecha de inicio y de fin. Hay grupos que tienen fecha de inicio, pero no de fin (caso de Metallica
).
- El nombre del estilo musical es muy variable. Se escribe de diversas maneras tanto como recurso como literal.
Ejemplo 6. Nombres y sobrenombres de músicos de jazz latino#
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> PREFIX dcterms: <http://purl.org/dc/terms/> select * where{ ?musico dcterms:subject <http://es.dbpedia.org/resource/Categoría:Músicos_de_jazz_latino> . OPTIONAL{?musico dbpedia-owl:alias ?alias } OPTIONAL{?musico foaf:givenName ?given } OPTIONAL{?musico foaf:name ?name } }Resultado

Nota: El reseñable el uso de OPTIONAL y cómo con el "select *" es suficiente para sacar una hermosa tabla con muchos huecos vacíos.
Ejemplo 7. La ontología DBpedia#
En el sitio web de DBpedia tienes la ontología DBpedia
Aquí la tienes descomprimida: