Contenido
- 11 Which countries have places with more than two caves?
- nullDBpedia SPARQL Query
- esDBpedia SPARQL Query
- 12 Is proinsulin a protein?
- nullDBpedia SPARQL Query
- esDBpedia SPARQL Query
- 13 Which classis do tree frogs belong to?
- nullDBpedia SPARQL Query
- esDBpedia SPARQL Query
- 14 How tall is Claudia Schiffer?
- nullDBpedia SPARQL Query
- esDBpedia SPARQL Query
- 15 Who created Goofy?
- nullDBpedia SPARQL Query
- esDBpedia SPARQL Query
Estas son las preguntas #11 a #20 del QALD-2 Challenge. Todas en QALD-2 SPARQL Queries.
#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 |
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 Cave. La versión inglesa sí está mapeada.
#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
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 se traduce al español como 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
#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 |
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, 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".
Nota: podemos comprobar que no hay mapeo para la propiedad dbp:classis usando las indicaciones de mapeos inversos
#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
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)
#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
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