Grupo de Facebook DBpedia en español
Notify Twitter

Q#31 What is the currency of the Czech Republic?#

DBpedia SPARQL Query#

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX res: <http://dbpedia.org/resource/> 
SELECT DISTINCT ?uri WHERE { 
   res:Czech_Republic dbo:currency ?uri . 
}

con resultado http://dbpedia.org/resource/Czech_koruna

Iconos/ico30_tic_no.pngesDbpedia SPARQL Query#

"¿Cuál es la moneda de la república checa?"

La conversión directa (cambiando res por esres y traduciendo el nombre del páis) sería esta:

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX esres: <http://es.dbpedia.org/resource/> 
SELECT DISTINCT ?uri WHERE { 
   esres:República_Checa dbo:currency ?uri . 
}

pero no devuelve resultados porque en la fecha de extracción de los datos no estaba mapeada "ficha de país".


Q#32 Which countries in the European Union adopted the Euro?#

DBpedia SPARQL Query#

PREFIX dbp: <http://dbpedia.org/property/> 
PREFIX res: <http://dbpedia.org/resource/> 
PREFIX yago: <http://dbpedia.org/class/yago/> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
SELECT DISTINCT ?uri WHERE {
    ?uri rdf:type yago:EuropeanUnionMemberStates .
    { ?uri dbp:currency res:Euro . } UNION
    { ?uri dbp:currencyCode 'EUR'@en . } UNION
    { ?uri dbp:currencyCode 'Euro'@en . }
}
Nota: había un error en la query original (?ur WHERE --> ?uri WHERE)

http://dbpedia.org/resource/Luxembourg
http://dbpedia.org/resource/Slovenia
http://dbpedia.org/resource/Estonia
http://dbpedia.org/resource/Finland
http://dbpedia.org/resource/Portugal
http://dbpedia.org/resource/Austria
http://dbpedia.org/resource/Belgium
http://dbpedia.org/resource/Spain
http://dbpedia.org/resource/Italy
http://dbpedia.org/resource/Malta
http://dbpedia.org/resource/Greece
http://dbpedia.org/resource/Cyprus

Iconos/ico30_tic_no.pngesDbpedia SPARQL Query#

"¿Qué países de la Unión Europea adoptaron el euro?

Una vez más, la query en inglés usa categorías YAGO, que no están en esDBpedia. La categoría esWikipedia más parecida es Categoría:Países_de_Europa, de forma que la query quedaría así:

PREFIX dbp: <http://dbpedia.org/property/> 
PREFIX res: <http://dbpedia.org/resource/> 
PREFIX yago: <http://dbpedia.org/class/yago/> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT DISTINCT ?uri WHERE {
    ?uri dcterms:subject <http://es.dbpedia.org/resource/Categoría:Países_de_Europa> .
    { ?uri dbp:currency res:Euro . } UNION
    { ?uri dbp:currencyCode 'EUR'@en . } UNION
    { ?uri dbp:currencyCode 'Euro'@en . }
}
pero no devuelve resultados. El motivo es que esa categoría devuelve nada más 2 países (y dos anexos). Y, aunque devolviera los correctos, en la fecha de extracción de los datos de esDBpedia no estaba mapeada "ficha de país", por lo que no podríamos sacar su moneda :-(.

Q#33 What is the area code of Berlin? #

DBpedia SPARQL Query#

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX res: <http://dbpedia.org/resource/> 
SELECT DISTINCT ?string WHERE { 
   res:Berlin dbo:areaCode ?string . 
}

con resultado: "030"@en

Iconos/ico30_tic_no.pngesDbpedia SPARQL Query#

"¿Cuál es el código de área de Berlín?"

La tradicción sencilla res-->esres y Berlin-->Berlín produce esta query

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX esres: <http://es.dbpedia.org/resource/> 
SELECT DISTINCT ?string WHERE { 
   esres:Berlín dbo:areaCode ?string . 
}

que tiene por resultado "B"@es

En la página esWikipedia de Berlín, el atributo "prefijo" tiene el valor "30", y el atributo "matrícula_autos" vale "B". Usa la "Ficha de entidad subnacional".

En enWikipedia, la página de Berlin usa el "Infobox German state", y el atributo "Vorwahl" tiene el valor "030".

En el mapeo de "Ficha de entidad subnacional" hay varios atributos que se mapean a "areaCode": prefijo, prefijo telefónico nombre, prefijo_telefónico_nombre, prefijo telefónico, y prefijo_telefónico. No hay mapeo para el atributo "matrícula_autos".

Raro, raro... Si miramos los datos de Berlín que tenemos en esDBpedia vemos que se han usado varias fichas (mira la propiedad http://es.dbpedia.org/property/wikiPageUsesTemplate), pero ninguna de ellas es "Ficha de entidad subnacional".

Lo marco como Iconos/ico40_mistery.png


Q#34 Which countries have more than two official languages?#

DBpedia SPARQL Query#

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
SELECT DISTINCT ?uri WHERE { 
   ?uri rdf:type dbo:Country . 
   ?uri dbo:officialLanguage ?language . 
}GROUP BY ?uri HAVING (COUNT(?language) > 2)

con resultado

http://dbpedia.org/resource/Singapore
http://dbpedia.org/resource/Switzerland
http://dbpedia.org/resource/Frisia
http://dbpedia.org/resource/Mauritius_(Commonwealth_realm)
http://dbpedia.org/resource/South_Ossetia
http://dbpedia.org/resource/Nineveh_plains
http://dbpedia.org/resource/Vojvodina
http://dbpedia.org/resource/Basque_Country_(greater_region)
http://dbpedia.org/resource/Khmers_Kampuchea-Krom_Federation
http://dbpedia.org/resource/Basque_Country_%28greater_region%29

Iconos/ico30_tic_no.pngesDbpedia SPARQL Query#

"¿Qué países tienen más de dos lenguas co-oficiales?

De nuevo, en esDBpedia, a fecha de la extracción de los datos no había mapeo para Country por lo que no podemos preguntar por officialLanguage.

El intento de sacar la lista de países a partir de alguna categoría esWikipedia tampoco tiene éxito: la Categoría:Países tiene algunas cosas, pero no países.


Q#35 Who is the owner of Universal Studios?#

DBpedia SPARQL Query#

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX res: <http://dbpedia.org/resource/> 
SELECT DISTINCT ?uri WHERE { 
   res:Universal_Studios dbo:owner ?uri . 
}

con resultado:

http://dbpedia.org/resource/General_Electric
http://dbpedia.org/resource/Independent_business
http://dbpedia.org/resource/MCA_Inc.
http://dbpedia.org/resource/NBCUniversal
http://dbpedia.org/resource/Vivendi
http://dbpedia.org/resource/Comcast
http://dbpedia.org/resource/Seagram
http://dbpedia.org/resource/Decca_Records
http://dbpedia.org/resource/Panasonic

Iconos/ico30_tic_no.pngesDbpedia SPARQL Query#

"¿Quién es el dueño de los Estudios Universal?"

la traducción sencilla (res-->esres, Universal_Studios --> Estudios_Universal) no funciona. El motivo es que esres:Estudios_Universal no tiene la propiedad dbo:owner porque, en esWikipedia, la página de Estudios_Universal no usa ninguna ficha. En esWikipedia usa el "Infobox company".


Q#36 Through which countries does the Yenisei river flow?#

DBpedia SPARQL Query#

PREFIX res: <http://dbpedia.org/resource/> 
PREFIX dbp: <http://dbpedia.org/property/> 
SELECT DISTINCT ?uri WHERE { 
   res:Yenisei_River dbp:country ?uri . 
}

que tiene por resultado

http://dbpedia.org/resource/Mongolia
http://dbpedia.org/resource/Russia

Iconos/ico30_tic_no.pngesDbpedia SPARQL Query#

"¿Qué puestes son del mismo tipo que el puente de Manhattan?

la traducción sencilla (res --> esres, dbp --> esdbp, Yenesei_River --> Río_Yeneséi) daría esta query

PREFIX esres: <http://es.dbpedia.org/resource/> 
PREFIX esdbp: <http://es.dbpedia.org/property/> 
SELECT DISTINCT ?uri WHERE { 
   esres:Río_Yeniséi esdbp:país ?uri . 
}

que no produce resultados porque en esWikipedia, la página de Río Yeniséi usa "Ficha de cuerpo de agua", que tiene en el atributo "país" el valor

{{RUS}}

En enWikipedia tiene los atributos country y country1 con valores Mongolia (uri) y Rusia (uri).


Q#37 When did Finland join the EU? #

DBpedia SPARQL Query#

PREFIX res: <http://dbpedia.org/resource/> 
PREFIX dbp: <http://dbpedia.org/property/> 
SELECT DISTINCT ?date WHERE { 
   res:Finland dbp:accessioneudate ?date . 
} 

con respuesta "1"^^<http://www.w3.org/2001/XMLSchema#int> ¡Qué rara! :-)

Iconos/ico30_tic_no.pngesDbpedia SPARQL Query#

"¿Cuándo se unión Finlandia la UE?"

La traducción sencilla no produce resultados porque, aunque en la ficha de Finland (wikipedia inglesa) está en atributo "accessionEUdate" con valor "1 January 1995", en la esWikipedia la página de Finlandia (que usa "ficha de país") no hay ningún atributo similar :-(


Q#38 Which monarchs of the United Kingdom were married to a German?#

DBpedia SPARQL Query#

PREFIX yago: <http://dbpedia.org/class/yago/> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX res: <http://dbpedia.org/resource/> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
SELECT DISTINCT ?uri WHERE { 
    ?uri rdf:type yago:MonarchsOfTheUnitedKingdom . 
    ?uri dbo:spouse ?spouse . 
    ?spouse dbo:birthPlace res:Germany. 
} 

con respuesta:

http://dbpedia.org/resource/George_III_of_the_United_Kingdom
http://dbpedia.org/resource/William_IV_of_the_United_Kingdom

Iconos/ico30_tic_no.pngesDbpedia SPARQL Query#

"¿Qué monarcas de Reino Unido se casaron con alemanes?"

Por lo pronto, en esDBpedia no tenemos las categorías YAGO. No encuentro ninguna categoría esWikipedia que liste los monarcas de Reino Unido.

Otra alternativa sería sacar los reyes a partir de la clase Noble (?uri rdf:type dbo:Noble) pero, en la fecha de extracción de los datos no había mapeo para "ficha de noble".

He hecho el mapeo de la ficha; mapeando, entre otras, la propiedad title. De todos modos, las estadísticas de ficha de noble se puede ver que no hay manera de saber de qué país era ese noble: no hay ningún atributo parecido a "país" o "nacionalidad".

Tampoco se puede explotar esdbp:profesión con filtros del tipo FILTER (regex(?v, "^[rR]ey")). He probado y sólo salen vireyes :-(


Q#39 When was the Battle of Gettysburg?#

DBpedia SPARQL Query#

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX res: <http://dbpedia.org/resource/> 
SELECT DISTINCT ?date WHERE { 
   res:Battle_of_Gettysburg dbo:date ?date . 
}

con respuesta 1863-07-03

Iconos/ico30_tic_yes.pngesDbpedia SPARQL Query#

"¿Cuándo tuvo lugar la batalla de Gettysburg?"

La traducción res-->esres y del literal no es suficiente. Hay que cambiar dbo:date y poner esdbp:fecha

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX esdbp: <http://es.dbpedia.org/property/> 
PREFIX esres: <http://es.dbpedia.org/resource/> 
SELECT DISTINCT ?date WHERE { 
   esres:Batalla_de_Gettysburg dbo:date ?date . 
}

que da como resultado "Del 1 al 3 de julio de 1863"@es

¿Motivo para tener que usar esdbp:fecha en lugar de dbo:date? Hay mapeo para la "Ficha de conflicto militar" (usada por la página de esWikipedia de "Batalla de Gettysburg") y en la ficha había atributo que mapease dbo:fecha (atributo "fecha"). En la página esWikipedia se asigna el valor devuelto por la query al atributo "fecha".

Es raro... Iconos/ico40_mistery.png, ya que otros atributos en la misma situación sí existen las formas dbo: y esdbp:


Q#40 What is the highest mountain in Australia?#

DBpedia SPARQL Query#

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX res: <http://dbpedia.org/resource/> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
SELECT DISTINCT ?uri WHERE { 
   ?uri rdf:type dbo:Mountain .
   ?uri dbo:locatedInArea res:Australia . 
   ?uri dbo:elevation ?elevation . 
} ORDER BY DESC(?elevation) LIMIT 1

con respuesta http://dbpedia.org/resource/Mawson_Peak

Iconos/ico30_tic_yes.pngesDbpedia SPARQL Query#

"¿Cuál es la montaña más alta de Australia?"

La traducción sencilla (res-->esres) no da resultados. Mirando en detalle podemos ver que "ficha de montaña" está mal mapeada: mapea el atributo "Elevación" a dbo:prominence en lugar de dbo:elevation (como hace el mapeo del inglés).

Aun así, sabiendo eso, la query

PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX esdbp: <http://es.dbpedia.org/property/> 
PREFIX esres: <http://es.dbpedia.org/resource/> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
SELECT * WHERE { 
   ?uri rdf:type dbo:Mountain .
   ?uri dbo:locatedInArea  esres:Australia .
   ?uri dbo:prominence ?v 
}
tiene por resultado:
uri v
http://es.dbpedia.org/resource/Uluru 863
http://es.dbpedia.org/resource/Pico_Santa_María 1171

El Pico_Mawson está en esWikipedia(2745 m), usa la "ficha de montaña", estaba mapeado en la fecha de la extracción de datos, y tenía el atributo "Elevación" con el valor "2.745 m".

Explicación: la página esWikipedia del Pico_Mawson se creó el 24 abr 2012‎, 4 días después del dump que se usó para generar los datos. De haber existido esta página en el dump usado para la extracción, se hubiese logrado el resultado correcto.