[{TableOfContents title='Contenido'}] \\ Estas son las preguntas #11 a #20 del [QALD-2 Challenge |http://greententacle.techfak.uni-bielefeld.de/~cunger/qald/index.php?x=challenge&q=2]. Todas en [QALD-2 SPARQL Queries]. !!Q#11 Which countries have places with more than two caves? !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 { ?cave rdf:type dbo:Cave . ?cave dbo:location ?uri . ?uri rdf:type dbo:Country . } GROUP BY ?uri HAVING (COUNT(?cave) > 2) }}} Con resultado: |uri |http://dbpedia.org/resource/United_Kingdom |http://dbpedia.org/resource/China |http://dbpedia.org/resource/United_States |http://dbpedia.org/resource/Germany |http://dbpedia.org/resource/Mexico |http://dbpedia.org/resource/England |http://dbpedia.org/resource/Brazil |http://dbpedia.org/resource/Republic_of_Ireland |http://dbpedia.org/resource/Wales |http://dbpedia.org/resource/Greece |http://dbpedia.org/resource/Jamaica ![Iconos/ico30_tic_no.png]esDBpedia SPARQL Query "Qué países tiene al menos dos lugares con cuevas?" La traducción directa no es posible porque no [tenemos mapeada la clase|QALD-2 SPARQL Queries#section-QALD-2+SPARQL+Queries-MapeosInversos] Cave. La versión inglesa sí está mapeada. ---- !!Q#12 Is proinsulin a protein? !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#> ASK WHERE { res:Proinsulin rdf:type dbo:Protein } }}} Con resultado: __true__ ![Iconos/ico30_tic_yes.png]esDBpedia SPARQL Query "¿Es una proteína la proinsulina? La traducción directa (cambiado res por esres) es: {{{ PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX esres: <http://es.dbpedia.org/resource/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ASK WHERE { esres:Proinsulin rdf:type dbo:Protein } }}} que devuelve el resultado __false__ :-( La explicación es que en esDBpedia no sabemos nada del recurso esres:Proinsulin. Si miramos en la wikipedia inglesa, vemos que la [proinsulin|http://wikipedia.org/wiki/Proinsulin] se traduce al español como [proinsulina|http://es.wikipedia.org/wiki/Proinsulina]. Si buscamos ahora con {{{ PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX esres: <http://es.dbpedia.org/resource/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ASK WHERE { esres:Proinsulina rdf:type dbo:Protein } }}} el resultado es __true__ Nota: existe mapeo para la clase Protein ---- !!Q#13 Which classis do tree frogs belong to? !DBpedia SPARQL Query {{{ PREFIX dbp: <http://dbpedia.org/property/> PREFIX res: <http://dbpedia.org/resource/> SELECT DISTINCT ?uri WHERE { res:Hylidae dbp:classis ?uri . } }}} Con resultado: |uri |http://dbpedia.org/resource/Amphibian |http://dbpedia.org/resource/Amphibia ![Iconos/ico30_tic_no.png]esDBpedia SPARQL Query "¿A qué clase pertenecen las ranas arborícolas?" (__OJO__: es importante saber que esas ranas son de la familia Hylidae) La traducción directa (sólo cambiado res por esres) sería: {{{ PREFIX dbp: <http://dbpedia.org/property/> PREFIX esres: <http://es.dbpedia.org/resource/> SELECT DISTINCT ?uri WHERE { esres:Hylidae dbp:classis ?uri . } }}} que no devuelve resultados. El motivo es que en esDBpedia no tenemos ningún recurso con la propiedad dbp:classis. Aunque esta familia [tiene página en esWikipedia|http://es.wikipedia.org/wiki/Hylidae], y esta página usa la "ficha de taxón"], y que está relleno el atributo familia con el valor Hylidae, no se están generando triples. Un motivo puede ser que [hay errores en el mapeo de "ficha de taxón"|http://mappings.dbpedia.org/server/mappings/es/validate/*]. Nota: podemos comprobar que no hay mapeo para la propiedad dbp:classis usando las indicaciones de [mapeos inversos|QALD-2 SPARQL Queries] ---- !!Q#14 How tall is Claudia Schiffer? !DBpedia SPARQL Query {{{ PREFIX res: <http://dbpedia.org/resource/> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT DISTINCT ?height WHERE { res:Claudia_Schiffer dbo:height ?height . } }}} Con resultado: 1.81 ![Iconos/ico30_tic_yes.png]esDBpedia SPARQL Query "¿Cuánto mide Claudia Schiffer?" La traducción directa (sólo cambiado res por esres) {{{ PREFIX esres: <http://es.dbpedia.org/resource/> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT DISTINCT ?height WHERE { esres:Claudia_Schiffer dbo:height ?height . } }}} funciona, pero el resultado es distinto. Se debe a que en la wikipedia del español se indica 1.80, y en la inglesa se indica 1.81. Nota: si usamos esdbp:estatura (existe "ficha de modelo" y estatura se mapea como dbo:heigh) la query {{{ PREFIX esres: <http://es.dbpedia.org/resource/> PREFIX esdbp: <http://es.dbpedia.org/property/> SELECT * WHERE { esres:Claudia_Schiffer esdbp:estatura ?v . } }}} da como resultado la cadena "1,80 m"@es (antes obtuvimos un valor numérico) ---- !!Q#15 Who created Goofy? !DBpedia SPARQL Query {{{ PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX res: <http://dbpedia.org/resource/> SELECT DISTINCT ?uri WHERE { res:Goofy dbo:creator ?uri . } }}} Con resultado: __http://dbpedia.org/resource/Art_Babbitt__ ![Iconos/ico30_tic_yes.png]esDBpedia SPARQL Query "¿Quién creó a Goofy? La traducción directa (sólo cambiado res por esres) sería {{ PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX esres: <http://es.dbpedia.org/resource/> SELECT DISTINCT ?uri WHERE { esres:Goofy dbo:creator ?uri . } }} que da le resultado correcto: http://es.dbpedia.org/resource/Art_Babbitt ---- !!Q#16 Give me the capitals of all countries in Africa !DBpedia SPARQL Query {{{ PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX yago: <http://dbpedia.org/class/yago/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT ?uri WHERE { ?states rdf:type yago:AfricanCountries . ?states dbo:capital ?uri . } }}} que da como resultado una lista enorme de recursos, entre los que están Nouakchott, Praia, Banjul, etc. Si los cuento salen 45. ![Iconos/ico30_tic_no.png]esDBpedia SPARQL Query "Dame las capitales de todos los países africanos" La traducción directa no es posible porque en esDBpedia no hay categorías YAGO. Tampoco he visto ([MRA]) ninguna Categoría Wikipedia que proporcione los países africanos. Sólo [hay un anexo con una tabla|http://es.wikipedia.org/wiki/Anexo:Pa%C3%ADses_de_%C3%81frica], pero esta tabla no está mapeada. ---- !!Q#17 Give me all cities in New Jersey with more than 100000 inhabitants !DBpedia SPARQL Query {{{ PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX dbp: <http://dbpedia.org/property/> 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:City . ?uri dbo:isPartOf res:New_Jersey . ?uri dbp:populationTotal ?inhabitants . FILTER (?inhabitants > 100000) . } }}} que da como resultado |uri |http://dbpedia.org/resource/Jersey_City%2C_New_Jersey |http://dbpedia.org/resource/Paterson%2C_New_Jersey |http://dbpedia.org/resource/Newark%2C_New_Jersey |http://dbpedia.org/resource/Elizabeth%2C_New_Jersey ![Iconos/ico30_tic_yes.png]esDBpedia SPARQL Query "Dame todas las ciudades de Nueva Jersey con más de 100000 habitantes" La traducción directa (cambiando res por esres y dbp por esdbp) sería {{{ 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:City . ?uri dbo:isPartOf esres:New_Jersey . ?uri dbo:populationTotal ?inhabitants . FILTER (?inhabitants > 100000) . } }}} pero no sale nada. El motivo es que no está mapeada la propiedad dbo:isPartOf En esWikipedia podemos encontrar la categoría [Asentamientos de Nueva Jersey|http://es.wikipedia.org/wiki/Categor%C3%ADa:Asentamientos_de_Nueva_Jersey] y [Ciudades de Nueva Jersey|http://es.wikipedia.org/wiki/Categor%C3%ADa:Ciudades_de_Nueva_Jersey]. La primera categoría no aparta ninguna ciudad, pero la segunda sí, por lo que se podría poner algo como esto: {{{ 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#> PREFIX dcterms: <http://purl.org/dc/terms/> SELECT DISTINCT ?uri WHERE { ?uri dcterms:subject <http://es.dbpedia.org/resource/Categoría:Ciudades_de_Nueva_Jersey> . ?uri dbo:populationTotal ?inhabitants . FILTER (?inhabitants > 100000) . } }}} que devuelve: |uri |http://es.dbpedia.org/resource/Newark_(Nueva_Jersey) |http://es.dbpedia.org/resource/Jersey_City_(Nueva_Jersey) |http://es.dbpedia.org/resource/Elizabeth_(Nueva_Jersey) Nos falta una ciudad (Paterson), que no está en la lista de la categoría, pero lo damos por bueno. Nota: La propiedad dbo:populationTotal es de las que es muy costoso saber su mapeo (ver [QALD-2 SPARQL Queries]). ---- !!Q#18 Which museum exhibits The Scream by Munch? !DBpedia SPARQL Query {{{ PREFIX dbp: <http://dbpedia.org/property/> PREFIX res: <http://dbpedia.org/resource/> SELECT DISTINCT ?uri WHERE { res:The_Scream dbp:museum ?uri . } }}} que da como resultado __http://dbpedia.org/resource/National_Gallery_of_Norway__ ![Iconos/ico30_tic_no.png]esDBpedia SPARQL Query "¿En qué museo se exhibe el grito de Munch?" En esWikipedia no existe infobox para "El_grito". En la wikipedia inglesa, la página de "The_Scream" tiene un "infobox artWork". Por tanto, no tenemos triples útiles de "El_grito" y no podemos saber el museo donde se encuentra. La solución sería mapear la [ficha "Obra de arte"|http://mappings.dbpedia.org/server/templatestatistics/es/?template=Ficha%20de%20obra%20de%20arte], que existe (con 1080 instancias) pero no tiene ni una sola propiedad mapeada; y, además, poner un infobox de obra de arte en la página de El Grito. ---- !!Q#19 Is Egypts largest city also its capital? !DBpedia SPARQL Query {{{ PREFIX res: <http://dbpedia.org/resource/> PREFIX dbo: <http://dbpedia.org/ontology/> ASK WHERE { res:Egypt dbo:largestCity ?large . res:Egypt dbo:capital ?capital . FILTER (?large = ?capital) } }}} que da como resultado __true__ ![Iconos/ico30_tic_no.png]esDBpedia SPARQL Query "Dame las capitales de todos los países africanos" La traducción directa no es posible porque en esDBpedia no hay categorías YAGO. ---- !!Q#20 How many employees does IBM have? !DBpedia SPARQL Query {{{ PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX res: <http://dbpedia.org/resource/> SELECT ?number WHERE { res:IBM dbo:numberOfEmployees ?number . } }}} que da como resultado __433362__ ![Iconos/ico30_tic_no.png]esDBpedia SPARQL Query "Dame las capitales de todos los países africanos" La traducción directa no es posible porque en esDBpedia no hay categorías YAGO.