La semana pasada, el Laboratorio para la Ciudad, una nueva dependencia del Gobierno del Distrito Federal, liberó unos sets de datos gubernamentales que se añaden a la colección existente de la ciudad, con las tres características principales que distinguen a todos: son estáticos, agregados y de baja importancia.

La importancia, argumentarán algunos burócratas, es una característica subjetiva. Puede que a ti, querido lector, un set de datos con lo localización de las embajadas te parezca de baja importancia, por no decir completamente inútil. Pero ahora mismo pudiera haber una estudiante escribiendo furiosamente código para un app que le facilite la vida a los choferes diplomáticos que habitan el Distrito Federal. O posiblemente un periodista pudiera importar dicho set a una tabla de Excel, localizar las embajadas en un mapa, y cual John Snow descubriendo el vector de infección para el Cólera, nuestro periodista podría encontrar un patrón en la distribución de estos edificios por la ciudad que, de alguna forma, fuera relevante para la vida de los capitalinos. Argumentarán algunos burócratas.

El lector perspicaz le pediría a los burócratas hipotéticos que “no mamen” (con todo respeto), y que por favor consideren mejor liberar un set de las inspecciones sanitarias y violaciones de los restaurantes de la ciudad, o el set de reportes de fallas en servicios públicos hechos al 072, ambos siendo de los sets con más descargas registradas en el portal de datos abiertos de Nueva York, por dar unos ejemplos.

La característica de “agregados” que tienen varios de estos sets, se refiere a que son el resultado de combinar (o agregar) otros datos, y presentar una especie de resumen de los mismos. Un ejemplo particularmente atroz sería el set de datos de “mercados”, que contiene un campo identificado “riesgo sanitario”, con una calificación. Uno se imagina que este dato es una especie de promedio basado en las inspecciones hechas a cada mercado y las violaciones registradas por los mismos. Sin embargo, no existe un set donde podamos ver estas inspecciones y violaciones, a diferencia otra vez, de la ciudad de Nueva York, que para todos sus restaurantes (no solamente sus mercados) presenta los datos de manera desagregada.

Por último, la tercera cualidad que distingue a estos datos es que son estáticos. Aunque el Gobierno genera información a diario, y la inmediatez con la que se tiene acceso a estos datos puede ser de gran importancia, como el caso de la epidemia de Cólera investigada por John Snow ejemplificó hace más de un siglo, los datos ofrecidos aquí son generados una vez, y actualizados de manera esporádica, en los mejores casos, y nunca en la gran mayoría de ellos.

Para determinar de manera exacta que tan estáticos son los sets de datos que presentó “el laboratorio”, los he puesto en un repositorio de git y preparado un par de scripts, anexados abajo, que correrán todos los días para descargar la versión existente de los datos y compararlos con la que se descargó el día anterior. En caso de haber cambios, estos son registrados y enviados a mi correo para ser analizados.

No se han registrado cambios hasta hoy, lo cual explicaría porque, según los datos presentados, no han habido nacimientos ni defunciones en la ciudad desde el 31 de Octubre.


fetcher.sh descarga los sets del website http://datos.labplc.mx y ejecuta differ.sh para verificar cambios en los archivos

fetcher.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash

datasets=(
canasta_basica
egresos_hospitalarios
locatel
rama
registro_nacimientos
ecobici
centros_de_salud
embajadas
indicadores_delegacionales
mercados
simat
defunciones
eventos
indicadores_df
nacimientos_hospitalarios
registro_defunciones
verificaciones
ecobiciestaciones
obstetricia
registro_matrimonios
verificentros
)

for dataset in "${datasets[@]}"
do
  wget http://datos.labplc.mx/datasets/download/${dataset} -O ${dataset}.csv
done
./differ.sh
differ.sh
1
2
3
4
5
6
7
8
#!/bin/bash          

if git diff-index --quiet HEAD --; then
  echo "sin cambios"
else
  mail -s "diff en datos.labplc.mx"  "mario@romero.fm" <<< `git diff`
  git commit -a -m "automated commit"
fi