Wikidata es una base de datos en línea que contiene muchos detalles sobre muchos países, políticos, pinturas, etc. Por ejemplo, para cada uno country
tiene name
, flag
, map
que son cadenas o URL de imágenes en línea.
¿Cómo puedo simplemente generar un archivo CSV que contenga el tipo de elemento y las propiedades que quiero?
Por ejemplo, si digo que quiero todos country
los s y sus name
ycapital
, generaría un archivo CSV como este:
country;capital
India;New Delhi
Brazil;Brasília
...
Cualquier sistema operativo/aplicación web/aplicación está bien. Preferiblemente de código abierto.
No quiero descargar toda la base de datos de Wikidata localmente, por lo que la herramienta tendría que realizar solicitudes al servidor oficial en vivo.
Puede consultar Wikidata con SPARQL en https://query.wikidata.org/ . Creé la herramienta de línea de comandos wdq para facilitar las consultas desde la línea de comandos. Su tarea se puede resolver de la siguiente manera (utilice la versión más reciente 0.4.4). Primero averigüe los identificadores de artículos para el país
$ wdq country
Q6256: country
distinct region in geography; a broad term that can include political divisio…
y los identificadores de propiedad para capital, bandera, etc.
$ wdq psearch capital
P36: capital
location (city, municipality) of governmental seat of the country, or adminis…
...
Otra propiedad importante es P31: instance of
. También puede encontrar estos identificadores a través de la interfaz web en https://www.wikidata.org/ .
Luego formule y ejecute una consulta en sintaxis SPARQL abreviada:
$ wdq "?country wdt:P31 wd:Q6256 ; wdt:P36 ?capital"
Para obtener etiquetas además de identificadores y emitir CSV, utilice
$ wdq -fcsv -lcountry,capital "?country wdt:P31 wd:Q6256 ; wdt:P36 ?capital"
Si solo desea las etiquetas, la forma más fácil de hacerlo es esta (a menos que los países contengan un punto y coma en su nombre):
$ wdq --format "{countryLabel};{capitalLabel}" -lcountry,capital "?country wdt:P31 wd:Q6256 ; wdt:P36 ?capital"
Por cierto, puede elegir el idioma de salida con la opción -g
/ --language
. También puede obtener la consulta SPARQL completa para reutilizarla, por ejemplo, en https://query.wikidata.org/ :
$ wdq -lcountry,capital "?country wdt:P31 wd:Q6256 ; wdt:P36 ?capital" -n
PREFIX bd: <http://www.bigdata.com/rdf#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema: <http://schema.org/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
SELECT * WHERE {
?country wdt:P31 wd:Q6256 .
?country wdt:P36 ?capital .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
?capital rdfs:label ?capitalLabel .
}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
?country rdfs:label ?countryLabel .
}
}
Si lo agregas ?capital wdt:P625 ?coordinate .
obtienes un bonito mapa de las capitales del mundo.
Si también instala el módulo Catmandu de Perl , wdq puede importar directamente el conjunto de resultados a una base de datos y/o aplicar más procesamiento posterior y formato de salida.
Hay muchas herramientas para lograr sus objetivos y las ventajas y desventajas dependen en gran medida de su conjunto de habilidades actual. Por lo tanto, simplemente enumeraré las herramientas que conozco que tendrá para examinar qué herramientas coinciden con los idiomas que conoce y las plataformas a las que tiene acceso. Además, mi experiencia es que todas las herramientas son imperfectas y tendrás que mejorarlas para obtener exactamente lo que necesitas.
Información oficial de Wikimedia
Más herramientas
Otro pensamiento La información que está buscando casi seguro que ya existe en alguna parte. El libro de hechos mundiales de la CIA, las bases de datos de la ONU y las fuentes de datos abiertas ciertamente tienen esta información.
¡Buena suerte!
1) Vaya a https://query.wikidata.org
2) Introduzca esta consulta SPARQL:
SELECT ?item ?itemLabel ?capitalLabel ?flag ?map
WHERE
{
?item wdt:P31 wd:Q6256 .
OPTIONAL {?item wdt:P36 ?capital}
OPTIONAL {?item wdt:P41 ?flag}
OPTIONAL {?item wdt:P242 ?map}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
Esta consulta puede parecer complicada, pero en realidad es fácil. Podría traducirse a:
Show the item, its human-readable label, and the variables called ?capital, ?flag, ?map
The item is a country.
The item's capital is ?capital.
The item's flag is ?flag.
The item's map is ?map.
Use English for human-readable labels.
Hay muchas propiedades como P:36
, la mejor manera de encontrar otras es mirar un artículo real , las propiedades están en la columna gris en la sección Estados de cuenta.
3) Presione "Descargar" y luego "CSV"
Resultado:
item,itemLabel,capitalLabel,flag,map
http://www.wikidata.org/entity/Q16,Canada,Ottawa,http://commons.wikimedia.org/wiki/Special:FilePath/Flag%20of%20Canada.svg,http://commons.wikimedia.org/wiki/Special:FilePath/Canada%20%28orthographic%20projection%29.svg
http://www.wikidata.org/entity/Q17,Japan,Tokyo,http://commons.wikimedia.org/wiki/Special:FilePath/Flag%20of%20Japan.svg,http://commons.wikimedia.org/wiki/Special:FilePath/Japan%20%28orthographic%20projection%29.svg
http://www.wikidata.org/entity/Q20,Norway,Oslo,http://commons.wikimedia.org/wiki/Special:FilePath/Flag%20of%20Norway.svg,http://commons.wikimedia.org/wiki/Special:FilePath/Europe-Norway.svg
http://www.wikidata.org/entity/Q27,Ireland,Dublin,http://commons.wikimedia.org/wiki/Special:FilePath/Flag%20of%20Ireland.svg,http://commons.wikimedia.org/wiki/Special:FilePath/EU-Ireland.svg
http://www.wikidata.org/entity/Q28,Hungary,Budapest,http://commons.wikimedia.org/wiki/Special:FilePath/Flag%20of%20Hungary.svg,http://commons.wikimedia.org/wiki/Special:FilePath/EU-Hungary.svg
http://www.wikidata.org/entity/Q29,Spain,Madrid,http://commons.wikimedia.org/wiki/Special:FilePath/Flag%20of%20Spain.svg,http://commons.wikimedia.org/wiki/Special:FilePath/EU-Spain.svg
http://www.wikidata.org/entity/Q30,United States of America,Washington,http://commons.wikimedia.org/wiki/Special:FilePath/Flag%20of%20the%20United%20States.svg,http://commons.wikimedia.org/wiki/Special:FilePath/USA%20orthographic.svg
http://www.wikidata.org/entity/Q31,Belgium,Brussels,http://commons.wikimedia.org/wiki/Special:FilePath/Flag%20of%20Belgium%20%28civil%29.svg,http://commons.wikimedia.org/wiki/Special:FilePath/Europe%20location%20BEL.png
http://www.wikidata.org/entity/Q32,Luxembourg,Luxembourg,http://commons.wikimedia.org/wiki/Special:FilePath/Flag%20of%20Luxembourg.svg,http://commons.wikimedia.org/wiki/Special:FilePath/EU-Luxembourg.svg
[...]
DVK