Introduction#
Estas son las preguntas #1 a #10 del QALD-2 Challenge
Q#4 Which river does the Brooklyn Bridge cross? #
DBpedia SPARQL Query#
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX res: <http://dbpedia.org/resource/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?uri ?string WHERE { res:Brooklyn_Bridge dbo:crosses ?uri . OPTIONAL { ?uri rdfs:label ?string. FILTER (lang(?string) = 'en') } }
esDBpedia SPARQL Query#
La query sobre la esDBpedia no da resultados.
Para ver todo lo que tenemos del Puente de Brooklyn hacemos al siguiente consulta
PREFIX esres: <http://es.dbpedia.org/resource/> SELECT * WHERE { esres:Puente_de_Brooklyn ?p ?v . }
Vemos que una de la propiedades es "cruza", por lo que podemos hacer la query
PREFIX esres: <http://es.dbpedia.org/resource/> PREFIX esdbp: <http://es.dbpedia.org/property/> SELECT * WHERE { esres:Puente_de_Brooklyn esdbp:cruza ?v . }
Si hubiese mapeo para la clase Bridge, y hubiese mapeo de la propiedad crosses, el extractor generaría una tripleta crosses para el puente de Brooklyn y podríamos poner la siguiente query
PREFIX esres: <http://es.dbpedia.org/resource/> PREFIX dbp: <http://es.dbpedia.org/property/> SELECT * WHERE { esres:Puente_de_Brooklyn dbp:crosses ?v . }
Como, a fecha de hoy, no está mapeada la clase Bridge (ni la propety crosses), esta query no devuelve el resultado esperado.
Q#10 In which country does the Nile start?#
DBpedia SPARQL Query#
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX res: <http://dbpedia.org/resource/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?uri ?string WHERE { res:Nile dbo:sourceCountry ?uri . OPTIONAL { ?uri rdfs:label ?string. FILTER (lang(?string) = 'en') } }
No sabemos nada del Nilo porque en la wikipedia española es un Curso de agua, que no está mapeado. Solución: mapear Curso de agua.
Q#8 Which states of Germany are governed by the Social Democratic Party?#
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#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?uri ?string WHERE { ?uri rdf:type yago:StatesOfGermany . { ?uri dbp:rulingParty 'SPD'@en . } UNION { ?uri dbp:rulingParty res:Social_Democratic_Party_of_Germany . } OPTIONAL { ?uri rdfs:label ?string. FILTER (lang(?string) = 'en') } }
En esDBpedia no hay ningún recurso que sea de tipo yago:StatesOfGermany
Si intentamos adapatar la query, podemos sacar los estados alemanes (sacamos la property viendo una de la regiones) con la query:
DBpedia SPARQL Query#
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX res: <http://es.dbpedia.org/resource/> SELECT * WHERE { ?r rdf:type dbo:AdministrativeRegion . ?r dbo:country res:Alemania }
Ninguno de estos estados tiene una propiedad relacionada con el partido político. En la wikipedia inglesa hay una ficha GermanState que tiene la propiedad ruling_party1 y ruling_party2. En la wikipedia española está la ficha Entidad Subnacional que no tiene nada de partidos, como mucho lider.
Si miramos Berlín, vemos que tiene la propiedad dirigente. Esta query saca los políticos de las regiones administrativas alemanas.
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX dbp: <http://dbpedia.org/property/> PREFIX res: <http://es.dbpedia.org/resource/> PREFIX yago: <http://dbpedia.org/class/yago/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT * WHERE { ?r <http://es.dbpedia.org/property/dirigente> ?nombre . ?r rdf:type dbo:AdministrativeRegion . ?r dbo:country res:Alemania }
Pero no podemos avanzar mucho más. Igual su hubiese una lista de políticos de cada partido..