Contenido
- Q#31 What is the currency of the Czech Republic?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
- Q#32 Which countries in the European Union adopted the Euro?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
- Q#33 What is the area code of Berlin?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
- Q#34 Which countries have more than two official languages?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
- Q#35 Who is the owner of Universal Studios?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
- Q#36 Through which countries does the Yenisei river flow?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
- Q#37 When did Finland join the EU?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
- Q#38 Which monarchs of the United Kingdom were married to a German?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
- Q#39 When was the Battle of Gettysburg?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
- Q#30 Which state of the USA has the highest population density?
- DBpedia SPARQL Query
- esDbpedia SPARQL Query
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
esDbpedia 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 |
esDbpedia 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
esDbpedia 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
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 |
esDbpedia 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 |
esDbpedia 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 |
esDbpedia SPARQL Query#
"¿Qué puestes son del mismo tipo que el puente de Manhattan?
la traducción sencilla (res por esres, dbp:design por esdbp:diseño)
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 DISTINCT ?uri WHERE { ?uri rdf:type dbo:Bridge . ?uri esdbp:diseño ?design . esres:Manhattan_Bridge esdbp:diseño ?mdesign . FILTER (regex(?design, ?mdesign)). FILTER (?uri != esres:Manhattan_Bridge) . }no produce resultados porque en esDBpedia no tenemos uris de tipo Bridge con la propiedad esdbp:diseño. Tenemos mapeo de "ficha de puente"


Por tanto, la opción más razonable es usar esdbp:tipo en lugar de esdbp:diseño (y cambiar Manhattan_Bridge por Puente_de_Manhattan), y que quede una query así:
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 DISTINCT ?uri WHERE { ?uri rdf:type dbo:Bridge . ?uri esdbp:tipo ?design . esres:Puente_de_Manhattan esdbp:tipo ?mdesign . FILTER (regex(?design, ?mdesign)). FILTER (?uri != esres:Puente_de_Manhattan) . }
que produce 33 puentes. Menos que los que produce enDBpedia, pero lo damos por bueno.
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! :-)
esDbpedia SPARQL Query#
"¿Cuándo se unión Finlandia la UE?"
La simple traducción res --> esres produce el resultado false
En la página enWikipedia se usa el "Infobox Officeholder", que tiene el atributo "battles" con una lista de batallas. En la página esWikipedia de Andrew_Jackson se usa la "Ficha de autoridad", que no tiene nada parecido a "batallas".
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 |
esDbpedia SPARQL Query#
"¿Qué monarcas de Reino Unido se casaron con alemanes?"
Por lo pronto, en esDBpedia no tenemos las categorías YAGO. Hay una categoría esWikipedia llamada Formas_de_monarquía, pero lleva a una página titulada "monarquía constitucional" que tiene una tabla de países, pero esta tabla no está mapeada.
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
esDbpedia SPARQL Query#
"¿¿Cuándo tuvo lugar la batalla de Gettysburg?"
La traducción res-->esres y dbp:awards --> esdbp-->premios no funciona.
El recurso esres:WikiLeaks no tiene ninguna propiedad parecida a dbp:awards. En enWikipedia, la página de WikiLeaks usa el "Infobox website", que tiene el atributo "awards" con la lista de premios. En esWikipedia, la pagina de WikiLeaks usa la "Ficha de sitio web", pero no hay ningún atributo parecido a "premios".
Q#30 Which state of the USA has the highest population density?#
DBpedia SPARQL Query#
PREFIX yago: <http://dbpedia.org/class/yago/> PREFIX dbp: <http://dbpedia.org/property/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT ?uri WHERE { ?uri rdf:type yago:StatesOfTheUnitedStates . ?uri dbp:densityrank ?rank . } ORDER BY ASC(?rank) LIMIT 1
con respuesta http://dbpedia.org/resource/New_Jersey
esDbpedia SPARQL Query#
"¿Qué estado de EE.UU tiene la mayor densidad de población?"
Esta query usa categorías YAGO, no disponibles en esDBpedia y, como ya vimos en la Q#9, no hay categoría esWikipedia para los estados de EE.UU.