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
La conversión directa (cambiando res por esres) sería esta:
PREFIX esres: <http://es.dbpedia.org/resource/> PREFIX dbp: <http://dbpedia.org/property/> SELECT DISTINCT ?uri WHERE { esres:Illinois dbp:borderingstates ?uri . }
pero no devuelve resultados porque esres:Illinois no tiene la propiedad dbp:borderingstates debido a que la página de Illinois en esWikipedia usa el infobox "Ficha de entidad subnacional" (que no tiene atributo para estado fronterizos) mientras que en enWikipedia se usa el "Infobox U.S. state" (que tiene el atributo BorderingStates)
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 |
La conversión típica (res --> esres) no funciona porque Limerick aparece en esWikipedia como la cuidad irlandesa y usa la "Ficha de localidad de Irlanda".
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX res: <http://dbpedia.org/resource/> SELECT DISTINCT ?string WHERE { res:Berlin dbo:areaCode ?string . }
Los TelevisionShow y sus creadores de la dbpedia española los saco con
PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX res: <http://es.dbpedia.org/resource/> 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 { ?uri rdf:type dbo:TelevisionShow . ?uri dbo:creator ?v . }
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 |
Cambiar res por esres no es suficiente. Hay que cambiar dbo:elevation por edbp:elevación para quedar 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 { esres:Annapurna esdbp:elevación ?elevation . ?uri rdf:type dbo:Mountain . ?uri esdbp:elevación ?otherelevation . FILTER (?otherelevation < ?elevation) . }ORDER BY DESC(?otherelevation) LIMIT 1
que da por resultado http://es.dbpedia.org/resource/Broad_Peak
Si en lugar de quedarnos con el primero vemos los 5 primeros obtendríamos esto:
enDbpedia | otherlevation |
http://dbpedia.org/resource/Gasherbrum_I | 8080.0 |
http://dbpedia.org/resource/Broad_Peak | 8051.0 |
http://dbpedia.org/resource/Gasherbrum_II | 8035.0 |
http://dbpedia.org/resource/Shishapangma | 8013.0 |
http://dbpedia.org/resource/Gyachung_Kang | 7952.0 |
esDBpedia | otherlevation |
http://es.dbpedia.org/resource/Broad_Peak | "8047"^^<http://www.w3.org/2001/XMLSchema#int> |
http://es.dbpedia.org/resource/Gyachung_Kang | "7952"^^<http://www.w3.org/2001/XMLSchema#int> |
http://es.dbpedia.org/resource/Gasherbrum_IV | "7925"^^<http://www.w3.org/2001/XMLSchema#int> |
http://es.dbpedia.org/resource/Collado_Sur | "7906"^^<http://www.w3.org/2001/XMLSchema#int> |
http://es.dbpedia.org/resource/Distaghil_Sar | "7885"^^<http://www.w3.org/2001/XMLSchema#int> |
En eswikipedia existe el mapeo de "ficha de montaña", pero el atributo "Elevación" se mapea con la propiedad DBpedia "prominence" en lugar de con "elevation". Parece que es un error de mapeo ya que en enWikipedia podemos ver que Annapurna tiene en el atributo elevation_m el valor 8091 y en el atributo prominence_m el valor 2984.
Parece que esDBpedia tiene menos montañas que enDBpedia, pero debido al error de mapeo NO lo damos por bueno.
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 |
Si cambiamos res por esres obtenemos esta query:
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#> SELECT DISTINCT ?uri WHERE { ?uri rdf:type dbo:Film . ?uri dbo:starring esres:Julia_Roberts . ?uri dbo:director esres:Garry_Marshall . }que da por resultado
http://es.dbpedia.org/resource/Pretty_Woman |
http://es.dbpedia.org/resource/Runaway_Bride |
http://es.dbpedia.org/resource/Valentine's_Day_(película) |
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 |
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.
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! :-)
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".
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 |
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.
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
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".
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
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.
Ontology Engineering Group. ETSI Informáticos, Universidad Politécnica de Madrid (UPM)