Grupo de Facebook DBpedia en español
Notify Twitter


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') } 
}

Iconos/ico30_tic_yes.pngesDBpedia SPARQL Query#

"¿Qué río cruza el prunte de Brooklyn?"

Esta query inglesa, lanzada sobre esDBpedia no da resultados.

Para ver todo lo que tenemos en esDBpedia del Puente de Brooklyn hacemos la 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 . 
}
Que da como resultado "http://es.dbpedia.org/resource/Río_Este" (East River).

Podemos poner algo estructuralmente muy similar

PREFIX esres: <http://es.dbpedia.org/resource/> 
PREFIX esdbp: <http://es.dbpedia.org/property/> 
SELECT DISTINCT ?uri ?string WHERE { 
   esres:Puente_de_Brooklyn esdbp:cruza ?uri . 
   OPTIONAL { ?uri rdfs:label ?string. FILTER (lang(?string) = 'es')}
}

Para obtener el resultado correcto (aunque la cadena no sale, el recurso está OK).

Hay que observar que aunque está mapeada la clase Bridge (ficha de puente), se ha declarado ERRÓNEAMENTE el mapeo de la propiedad, ya que se ha mapeado la info-propiedad "cruces" (en lugar de "Cruza")--> crosses.

¿De dónde ha salido la propiedad esdbp:cruza? Podemos ver que en la página wikipedia (http://es.wikipedia.org/wiki/Puente_de_Brooklyn) está la propiedad "Cruza" en el infobox. Sin embargo, en el mapeo (ficha de puente) no está definido mapeo para la propiedad Cruza, pero sí para "cruces".

En las estadísticas de "ficha de puente" se puede ver que hay muchas páginas wikipedia con la propiedad "Cruza" (232), pero ninguna con la propiedad "cruces".

Concluyo (MRA) que, aunque se puede llegar a la solución, convendría arreglar el mapeo.

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..