Ir al contenido principal

Evaluador de Portales de Datos Abiertos - Parte II


Hoy vamos a continuar con el análisis para nuestro evaluador de Portales de Datos Abiertos.

Lo primero que necesitamos conocer son las direcciones de los distintos portales. Para esto nos vamos a ir a la URL de nuestro Portal Nacional de Datos Abiertos: https://datos.gob.es/es/catalogo, allí vamos a localizar el icono para descargar en formato CSV todos los recursos de todos los portales. Os lo señalo en rojo en la siguiente imagen:
Ahora debemos descargarlo en nuestro PC. Ahora mismo ocupa casi 58 megas, y contiene 24.951 líneas.

Para abrirlo y trastear con el fichero, os recomiendo utilizar OpenOffice, su programa de hojas de cálculo (OpenOffice Calc) es la mejor opción para trabajar con ficheros CSVs enormes.

El fichero está compuesto por diferentes columnas, para conseguir hacer nuestro evaluador, necesitamos las siguientes:

  • TÍTULO: nombre del conjunto de datos, soporta multidioma. Ejemplo: 
    [ca]Port de Barcelona - Arees Geogràfiques[en]Port of Barcelona -Geograhic Regions[es]Puerto de Barcelona - Areas Geográficas
  • ÓRGANO PUBLICADOR: el nombre del órgano al que pertenece el portal. Ejemplo: Ayuntamiento de Alcobendas
  • DISTRIBUCIONES: contiene todos los recursos que tiene el conjunto de datos. Tiene una estructura de datos que debemos tratar, ya que contiene todas las URLs de cada recurso, y también soporta multidioma. Ejemplo: [TITLE_eu]Partzelen eta eraikin unitateen datuak[TITLE_es]Datos de parcelas y unidades constructivas[ACCESS_URL]http://api.gipuzkoairekia.eus/dataset/recurso/435e47ac-8f08-40f3-9935-e3aa09783779/descargar[MEDIA_TYPE]CSV[BYTE_SIZE]76360//[TITLE_eu]Lokalen datuak[TITLE_es]Datos de los locales[ACCESS_URL]http://api.gipuzkoairekia.eus/dataset/recurso/1ddf5167-6159-4f7a-b43f-c6e7e92225ba/descargar[MEDIA_TYPE]CSV[BYTE_SIZE]3428844

La idea final es consumir las URLs de cada recurso para verificar que está disponible, si lo está, leeremos el formato del recurso y dependiendo de cada uno de ellos puntuaremos (o profundizaremos más).

Pero en lugar de ir directamente hacia esa dirección, me voy a decantar por realizar un producto mínimo viable, evaluaré los conjuntos de datos sin consumir la URL, confiando en que estén funcionando. Debido a esto, inicialmente solo podré puntuar de 1 a 4 estrellas, ya que para puntuar con 5 debería tener acceso al contenido de la información, procesarla y verificar que se están utilizando URIs externas (linked data).

Nuestro siguiente paso es generar un programa de consola que lea este fichero línea a línea, para evaluar todos los recursos y asignar la puntuación a su respectivo portal.

Para hacer esto voy a copiar el repositorio "lector" que creamos hace unas semanas (https://github.com/tecnificados/lector), y en un nuevo repositorio "evaluador",  voy a renombrarlo y a lanzarlo contra el fichero que he descargado de datos.gob.es para ver si cuenta correctamente el número de líneas y las procesa correctamente. Este es el primer commit del repositorio "evaluador" (https://github.com/tecnificados/evaluador).

Y por hoy lo dejo aquí, en el próximo artículo empezaremos la programación.

Continuará...

Entradas populares de este blog

Un bot con Telegram en Termux

En las últimas semanas he retomado un par de ideas que tuve hace algunos años: por un lado la idea de hacer un Bot con el que hacer operaciones a través de comandos específicos. En concreto me gustaría hacer poder realizar comandos de inversión en bolsa (de manera ficticia) por otro lado desplegar la aplicación en un móvil con Termux (emulador de Linux para Android) Así que os cuento los pasos que he hecho para realizar estas tareas. Creación de Bot con Telegram Busca el contacto @BotFather (es el bot oficial de Telegram para crear otros Bots). Pulsa en Iniciar o escribe /start para comenzar. Escribe el comando: /newbot BotFather te pedirá que le pongas un nombre visible a tu Bot. Ejemplo: Nombre: MiBotJava Luego te pedirá un username único que termine en Bot. Ejemplo: Username: MiBotJava_bot Si el nombre de usuario está disponible, te dará un mensaje de éxito. Obtén el token Después de crear el Bot, BotFather te dará un mensaje como este: Done! Congratulations on your new bot. You wil...

Spring Boot: Página inicial con Bootstrap

  Este es el segundo artículo de la serie sobre Spring Boot que comenzamos hace dos semanas, si quieres ver el primero puedes acceder pulsando aquí . En el primer artículo vimos cómo descargar nuestro proyecto configurado para nuestros intereses y listo para ser importado en nuestro IDE (nosotros usaremos Eclipse ). Lo primero que vamos a hacer es importar el proyecto: File -> Import Existing Maven Projects Seleccionamos el fichero pom.xml en la carpeta donde lo hemos descomprimido y esperamos unos segundos Cuando acabe la importación, esta es la estructura que nos aparecerá: Con Spring Boot no necesitamos configurar el servidor, ya se encarga él de facilitarnos la vida. Lo único que tenemos que hacer es arrancar la clase BootApplication.java , que se encargará de arrancar Tomcat y dejar nuestra aplicación funcionando en el puerto 8080.  Y si todo fuera bien, podríamos acceder a través de la URL:  http://localhost:8080/ Pero ahora mismo tenemos un error de conexión c...

Control Parental en Windows: navegadores

  Este año, mis hijos ya han empezado a necesitar trabajar en casa con ordenadores. De momento, solo para navegar, con un par de aplicaciones web que les indican en el colegio. Pero claro, esto ya conlleva una serie de riesgos que estamos intentando paliar: Paso 1: aplicaciones no deseadas Los ordenadores que tenemos son Windows, y para empezar lo que hemos hecho es utilizar cuentas con contraseña: una cuenta con privilegios de administrador para nosotros (los padres), y otra sin privilegios para los niños. Con esto conseguimos que no puedan instalar nada que nosotros no queramos... Sí, se lo pueden saltar, pero todavía no lo saben. Paso 2: control de páginas que visitan Esto ya es más complicado. He estado buscando, incluso programando soluciones, pero al final he descubierto Kurupira : https://www.kurupira.net/en Básicamente, monitoriza todas las URLs que pasan por cualquier navegador (por cualquiera que esté instalado), sin utilizar proxy ni nada parecido. Por defecto, tiene un ...