This blog is the third in a series done by the Frictionless Data Fellows, discussing how they created Frictionless Data Packages with their research data. Learn more about the Fellows Programme here http://fellows.frictionlessdata.io/.
By Sele Yang
Empaquetando datos sobre aborto desde OpenStreetMap Esta es una publicación para compartirles sobre el proceso y pasos para crear datapackages. ¿Qué es esto? Un datapackage es básicamente un empaquetado que agiliza la forma en que compartimos y replicamos los datos. Es como un contenedor de datos listo para ser transportado por la autopista del conocimiento (geeky, right).
¿Por qué queremos empaquetar estos datos? Porque desde el programa de fellows, queremos datasets que no tengan fricciones (frictionless data), es decir que puedan ser replicables, reutilizables y así aportar a mejores procesos en los cuáles se pueda aperturar y compartir conocimiento. Si revisan las guías de campo, pueden encontrar más información sobre el programa.
Los datapackages pueden contener los datos en CSV (comma separated values), los esquemas de datos en formato de json y los metadatos de tus… datos….
Mi datapackage responde a datos geoespaciales sobre centros (clínicas) de aborto en el mundo que se encuentran mapeados en OpenStreetMap. Lo que hice para conseguir estos datos fue muy sencillo, utilicé la API Overpass Turbo con esta consulta (gracias a la ayuda de las compañeras de Geochicas) que arrojó 101 nodos mapeados. En este punto es que empieza la validación y el empaquetado de los datos.
Ahora, ¿por qué decidí utilizar este dataset? Porque mi investigación doctoral y el trabajo que realizamos desde el colectivo de Geochicas, busca enlazar el análisis espacial entre el tipo de objetos mapeados, el género de la persona que mapea dichos puntos y también las representaciones de género que existen en el espacio.
Los datos que resultaron de la búsqueda realizada a través de Overpass Turbo, son descargables desde la misma API, en formato: GeoJson, GPX, y KML. También se pueden descargar las visualizaciones del mapa y el texto de la búsqueda.
La consulta es:
/*
This has been generated by the overpass-turbo wizard.
The original search was:
“healthcare:speciality=abortion or name like abortion”
*/
[out:json][timeout:900];
// gather results
(
// query part for: “"healthcare:speciality"=abortion”
node["healthcare:speciality"="abortion"]({{bbox}});
way["healthcare:speciality"="abortion"]({{bbox}});
relation["healthcare:speciality"="abortion"]({{bbox}});
// query part for: “name~abortion”
node["name"~"^abortion*"]({{bbox}});
way["name"~"^abortion*"]({{bbox}});
relation["name"~"^abortion*"]({{bbox}});
);
// print results
out body;
>;
out skel qt;
Al descargar los datos desde Overpass Turbo en formato CSV, cargamos la base a la plataforma web para crear los datapackages y validar los tipos de datos que cargamos. Aquí se pueden sumar palabras clave a tus metadatos, el tipo de licenciamiento y puedes descargar tu paquete completo (muy genial, ¿no?) validado.
La plataforma para crear tus datapackages
*Una pista, cuando carguen los nombres y títulos del datapackage, no utilizar mayúsculas, tildes o caracteres especiales porque va a saltar un error de validación aunque tus datos estén correctos.
Data package is invalid!
Descriptor validation error: String does not match pattern: ^([-a-z0-9._/])+$ at "/name" in descriptor and at "/properties/name/pattern" in profile
Validación desde plataformas externas
Al cargar tu base de datos, se crearán diferentes casillas con cada una de tus columnas, ahí se puede cambiar el tipo de dato, el formato, añadir títulos y descripciones de los mismos. También, en caso de necesitar limpiar tu base de datos se pueden eliminar columnas. Si quisieras validar tus bases de datos, podés utilizar las Pruebas de Goodtables en formato de prueba única de validación, y también la versión de Goodtables desde donde podés conectar tu github y validar permanentemente tus bases de datos en casos de cambios que realices en tu repositorio.
Para las personas que son técnicamente un poco más avanzadas, pueden probar las librerías de Python, R, y también con Clojure y Java y hacer magia con sus datapackages.
Conclusiones
Para las personas que no tenemos grandiosas capacidades técnicas, esta opción de traslado de datos y validación con una plataforma amigable y sin tener que adentrarnos a las penumbras de nuestras terminales, es de gran ayuda para mejorar prácticas de reproducción de datos, resultados y poder compartir de forma más ágil.
Este tipo de iniciativas de reproducibilidad de datos son de suma importancia para mejorar las prácticas dentro de la ciencia, prácticas comunitarias que aporten a compartir y difundir conocimiento. Empaquetar datos contribuye a estas prácticas, a eliminar la posibilidad de perder información, y al mismo tiempo mejorar la posibilidad de reproducir los pasos que nos llevan a nuestras bases.
En conclusión, si vamos al supermercado, ¿qué es mejor? ¿regresar a casa cargando con todas las compras dispersas, donde se pueden perder, caer, arruinar, o regresar con una bolsa organizada que también se le puede prestar a los vecinos para ir a hacer sus compras luego?
Para ver mi datapackage y toda la información, pueden acceder desde mi Github.
English version soon to be uploaded