Realizar las siguientes consultas SPARQL a la dbpedia (http://dbpedia.org/snorql o
http://dbpedia.org/sparql):
1.
Capitales de Europa, ordenadas
(http://dbpedia.org/class/yago/CapitalsInEurope)
PREFIX yago: <http://dbpedia.org/class/yago/> SELECT DISTINCT *
WHERE {
?c a yago:CapitalsInEurope. }
ORDER BY ?c
2.
Capitales de Europa y su nombre, ordenadas
(http://dbpedia.org/property/name)
PREFIX yago: <http://dbpedia.org/class/yago/> PREFIX dbpprop: <http://dbpedia.org/property/> SELECT DISTINCT ?c ?nombre
WHERE {
?c a yago:CapitalsInEurope. ?c dbpprop:name ?nombre. }
ORDER BY ?c
3.
Capitales de Europa que no tienen nombre, ordenadas
SELECT DISTINCT ?c ?nombre WHERE {
?c a yago:CapitalsInEurope. MINUS {?c dbpprop:name ?nombre.} }
ORDER BY ?c
También:
FILTER NOT EXISTS {?c dbpprop:name ?nombre.}
4.
Capitales de Europa, su nombre y su nombre nativo, ordenadas
(http://dbpedia.org/property/nativeName)
SELECT DISTINCT * WHERE { ?c a yago:CapitalsInEurope. ?c dbpprop:name ?nombre. ?c dbpprop:nativeName ?nomNativo } ORDER BY ?c5.
Capitales de Europa y su nombre (si lo tienen), ordenadas
SELECT DISTINCT ?c ?nombre WHERE {
?c a yago:CapitalsInEurope.
OPTIONAL {?c dbpprop:name ?nombre}. }
ORDER BY ?c
6.
Capitales de Europa, su nombre (si lo tienen) y su nombre nativo (si lo tienen), ordenadas
SELECT DISTINCT * WHERE {
?c a yago:CapitalsInEurope.
OPTIONAL {?c dbpprop:name ?nombre.}.
OPTIONAL {?c dbpprop:nativeName ?nomNativo} }
ORDER BY ?c
7.
Capitales de Europa y, si tienen ambos, su nombre y su nombre nativo, ordenadas
SELECT DISTINCT * WHERE {
?c a yago:CapitalsInEurope.
OPTIONAL { ?c dbpprop:name ?nombre.
?c dbpprop:nativeName ?nomNativo} }
ORDER BY ?c
8.
Capitales europeas cuyo nombre contiene una “e”
SELECT DISTINCT * WHERE { ?c a yago:CapitalsInEurope. ?c dbpprop:name ?nombre. FILTER regex(?nombre,"e","i") } ORDER BY ?c
9.
Capitales europeas y población de más de 2.000.000 habitantes, ordenados por nº habitantes (de
mayor a menor)
(http://dbpedia.org/ontology/populationTotal)
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> SELECT DISTINCT * WHERE { ?c a yago:CapitalsInEurope. ?c dbpedia-owl:populationTotal ?hab. FILTER (?hab >= 2000000) }
10. Para cada capital europea de más de 2 millones de habitantes mostrar un texto con el nombre y
los habitantes. Por ejemplo: “En Madrid hay 3500000 habitantes”
SELECT DISTINCT (CONCAT ("En ",?nombre," hay ",?hab," habitantes")) AS ?frase WHERE { ?c a yago:CapitalsInEurope. ?c dbpprop:name ?nombre. ?c dbpedia-owl:populationTotal ?hab. FILTER (?hab >= 2000000) } ORDER BY DESC(?hab)
11. Capitales europeas con más de 1000 km2 (en m2)
(http://dbpedia.org/ontology/areaTotal)
SELECT DISTINCT * WHERE { ?c a yago:CapitalsInEurope. ?c dbpedia-owl:areaTotal ?area. FILTER (?area > 1000000000) }12. Capitales europeas o asiáticas con más de 1000 km2 (en m2)
(http://dbpedia.org/class/yago/CapitalsInAsia)
SELECT DISTINCT * WHERE { { ?c a yago:CapitalsInEurope.} UNION { ?c a yago:CapitalsInAsia.} ?c dbpedia-owl:areaTotal ?area. FILTER (?area > 1000000000) }13. Capitales europeas con más de 1000 km2 (en m2) y capitales de Asia con más de 10 millones de
habitantes
SELECT DISTINCT * WHERE { { ?c a yago:CapitalsInEurope. ?c dbpedia-owl:areaTotal ?area. FILTER (?area > 1000000000) } UNION { ?lugar a yago:CapitalsInAsia.?lugar dbpedia-owl:populationTotal ?hab. FILTER (?hab >= 10000000)
} }
14. Capitales europeas y población de más de 2.000.000 habitantes, de países de menos de 500.000
km2 (en m2)
(http://dbpedia.org/ontology/country)
SELECT DISTINCT * WHERE { ?c a yago:CapitalsInEurope. ?c dbpedia-owl:populationTotal ?hab. FILTER (?hab >= 2000000) ?c dbpedia-owl:country ?pais. ?pais dbpedia-owl:areaTotal ?area. FILTER (?area < 500000000000) }15. Actores de cine que están casados entre ellos, han participado en la misma película, y tal que
uno de ellos ha nacido en un país cuya capital tiene más de 3 millones de habitantes, y el otro ha
nacido en una ciudad que tiene un equipo en la NBA
•
dbpprop:spouse
•
dbpedia-owl:starring (pelicula – actor)
•
dbpedia-owl:birthPlace
•
dbpedia-owl:Country (clase)
•
dbpedia-owl:capital
•
dbpedia-owl:populationTotal
•
dbpprop:city (equipo - ciudad)
•
yago:NationalBasketballAssociationTeams
SELECT DISTINCT ?actor1 ?actor2 WHERE {
{?actor1 dbpprop:spouse ?actor2.} UNION
{?actor2 dbpprop:spouse ?actor1.} ?peli dbpedia-owl:starring ?actor1. ?peli dbpedia-owl:starring ?actor2. ?actor1 dbpedia-owl:birthPlace ?p1. ?p1 a dbpedia-owl:Country.
?p1 dbpedia-owl:capital ?cap.
?cap dbpedia-owl:populationTotal ?hab. FILTER (?hab > 3000000).
?actor2 dbpedia-owl:birthPlace ?c2. ?equipo dbpprop:city ?c2.
?equipo a yago:NationalBasketballAssociationTeams. }
16. Número de capitales europeas
SELECT (COUNT(?c) AS ?numCapitales) WHERE {
17. Número mínimo y máximo de habitantes de las capitales europeas
SELECT (MIN(?hab) AS ?minimo) (MAX(?hab) AS ?maximo) WHERE {
?c a yago:CapitalsInEurope.
?c dbpedia-owl:populationTotal ?hab. }
18. Tenistas ganadores de más de cinco torneos Grand Slam (Roland Garros, Wimbledon, Open
USA, Open Australia) indicando y ordenado por número de torneos ganados (mayor a menor)
•
dbpedia-owl:championInSingleMale (torneo – ganador)
•
dbpedia-owl:category <http://dbpedia.org/resource/Grand_Slam_(tennis)>
SELECT ?ganador (COUNT(?torneo) AS ?veces) WHERE {
?torneo dbpedia-owl:championInSingleMale ?ganador.
?torneo dbpedia-owl:category <http://dbpedia.org/resource/Grand_Slam_(tennis)>. }
GROUP BY ?ganador
HAVING (COUNT(?torneo) > 5) ORDER BY DESC(?veces)