Datos Abiertos

La línea de actuación de Datos Abiertos dentro del proyecto Ciudades Abiertas se centra en la gestión de datos únicos compartidos, abiertos por defecto, georreferenciados y semánticamente anotados por parte de la ciudad. En este sentido, para la publicación de datos abiertos, se configura un sistema formado por una API REST que permite operaciones de lectura y escritura sobre datos individuales, un punto de acceso SPARQL que posibilita realizar consultas complejas sobre varios conjuntos de datos a la vez y un servicio de indexación y búsqueda que facilita la creación de aplicaciones en las que haya que realizar filtrados e interactuar con los datos.

Objetivos

El objetivo de este componente es proporcionar los medios técnicos y conceptuales necesarios para que los Ayuntamientos puedan realizar una gestión y publicación de datos abiertos. Con estas herramientas los Ayuntamientos serán capaces de diseñar sus conjuntos de datos abiertos, gestionarlos y publicarlos de manera que puedan ser aprovechados por todos los sectores de la sociedad (ciudadanía, empresas y administraciones públicas).

Actuaciones

Dentro de la línea de actuación de Datos Abiertos se desarrollan una serie de actuaciones concretas dentro del proyecto.

  1. Desarrollo API REST de Datos Reutilizable

    El objetivo de este componente es la publicación de una API REST de datos genérica, a partir del desarrollo software que se encuentra desplegado y en producción en Zaragoza, que permita su reutilización tanto en los contextos tecnológicos del resto de los Ayuntamientos participantes como en otras ciudades u organismos. De esta forma se posibilita que otros organismos puedan implantar de forma sencilla un sistema de gestión y publicación de datos abiertos.

  2. Despliegue del Portal Datos Abiertos de Santiago de Compostela

    El objetivo de esta actuación es la puesta en marcha de un portal de datos abiertos, en concreto el de Santiago de Compostela que permite la publicación de los datos municipales y facilita el acceso y la reutilización de los datos por terceros (ciudadanos y empresas). Su estructura puede servir de modelo o referencia para ayuntamientos que pretenden poner en marcha su propio portal de datos abiertos.

    En la página sobre la actuación correspondiente al Portal de Datos Abiertos de Santiago de Compostela se puede consultar información detallada.

  3. Infraestructura Tecnológica para la Publicación de Datos Abiertos

    El objetivo de esta actuación es la realización de una propuesta específica de Infraestructura Tecnológica de Datos Abiertos para los Ayuntamientos de A Coruña, Madrid y Santiago de Compostela, que permita la gestión y publicación efectiva de datos abiertos.

    Como eje vertebrador de esta actuación se pretende consensuar la definición de una API común para la publicación de datos abiertos que facilite la posterior explotación de los datos publicados. Se proporcionará la implementación de una arquitectura de referencia para la implantación de esta API, teniendo en cuenta los componentes software que se encuentran en producción en la API que ofrece actualmente el Ayuntamiento de Zaragoza: la API REST, el punto de acceso SPARQL y el servicio de indexación y búsqueda.

Qué buscamos

  • Crear una API REST de datos abiertos: se publicará y documentará el código necesario para la publicación de una API REST de datos abiertos.
  • Adaptar bases de datos y anotaciones: se transformarán fuentes de datos procedentes de diversos formatos para su carga en bases de datos relacionales, utilizando el gestor de bases de datos de cada ciudad, y se crearán vistas unificadas que permitan la reutilización de las anotaciones hechas para cada uno de los conjuntos de datos.
  • Adaptar procesos de carga e indexación de datos: se adaptarán en un sistema gestor de tripletas RDF para aquellos conjuntos de datos que se hagan disponibles en el punto de acceso SPARQL, y se indexarán para facilitar su búsqueda.
  • Adaptar APIs a los catálogos existentes y a la API de CKAN: se realizarán los desarrollos que permitan que los catálogos de datos estén disponibles utilizando la API de CKAN, lo que facilitará su federación en datos.gob.es así como en otros portales agregadores.
  • Consensuar vocabularios entre diferentes entidades locales para armonizar la publicación de conjuntos de datos de forma homogénea.

El Ayuntamiento de Zaragoza dispone de una API REST de Datos que se encuentra disponible para la consulta de los datos que tienen publicados. Partiendo de este desarrollo como base, esta actuación persigue dos objetivos principales:

  • Definición de una especificación de API REST de Datos genérica y reutilizable que pueda ser adoptada por otros organismos para conseguir estandarizar la publicación de datos abiertos.
  • Desarrollar una Implementación de Referencia de la API REST de Datos a partir del desarrollo del Ayuntamiento de Zaragoza que facilite a los organismos que lo deseen su despliegue para conseguir publicar la API REST de Datos definida.

Esta API REST de Datos genérica recibe el nombre de API Ciudades Abiertas. Abarca la publicación de datos correspondientes a los 27 vocabularios contemplados en el proyecto (16 previamente existentes y 11 de ellos desarrollados dentro del propio proyecto). Aunque la API se ha diseñado para incluir otros conjuntos de datos, basados o no en vocabularios, de forma sencilla.

La API admite la realización de las operaciones básicas habituales de manipulación de recursos (consultar, crear, editar y eliminar), aunque es decisión de cada organismo el permitir la realización de dichas operaciones. Sobre la API se ha implantado un sistema de seguridad básico que permite, por una parte, solicitar la identificación para todas las operaciones de modificación y escritura. Por otra parte, posibilita limitar el número de peticiones por segundo realizadas tanto de manera anónima como por cada usuario registrado, de forma que se evite afectar a los sistemas internos debido a un número elevado de peticiones.

En cuanto a los formatos contemplados por la API, los datos se pueden solicitar tanto en formatos semánticos (RDF, Turtle, N-Triple, JSON-LD) como en otros formatos reutilizables (JSON, XML, CSV). Por defecto son proporcionados en formato JSON.

Los requisitos técnicos para el despliegue de la API son:

  • Java 8 / OpenJDK 11
  • Tomcat 8.5
  • Base de datos: Oracle, Sql Server o MySQL

Para favorecer la adopción de esta API Ciudades Abiertas, el proceso de instalación de su Implementación de Referencia es fácil y sencillo. La API está organizada de forma modular, lo que permite seleccionar los módulos que se desean utilizar.

Tanto la especificación de la API Ciudades Abiertas como su Implementación de Referencia se encuentran en fase de revisión y aprobación.

OpenCity-ext

Aunque se está desarrollando el API REST de Datos genérica, la versión existente en el Ayuntamiento de Zaragoza, que se ha usado como base para el nuevo desarrollo, seguirá disponible en https://www.zaragoza.es/docs-api_sede/.

Esta API REST llamada opencity-ext, permite el acceso a los datos de diferentes servicios que el Ayuntamiento de Zaragoza pone a disposición de los usuarios para su consulta y reutilización, mediante su aprobación.

En esta actuación se están realizando trabajos de modularización de ciertos componentes ya desarrollados en Zaragoza. Este trabajo de modularización se está realizando para que puedan ser utilizados de manera independiente del resto de componentes existentes en la plataforma, es decir, si un usuario/entidad/organismo quiere utilizar el servicio de Mapas Colaborativos se podrá descargar dicho módulo y no todos los servicios existentes.

Este proceso de modularización también mantendrá la funcionalidad de acceso al API REST que ya estaba disponible y en uso por reutilizadores de datos y la adecuará, cuando sea necesario, a los vocabularios desarrollados dentro del proyecto. De esta manera, se mantiene la funcionalidad ya existente que es esencial para el Ayuntamiento de Zaragoza.

La finalidad de la actuación es realizar una propuesta de infraestructura tecnológica que permita a los Ayuntamientos de A Coruña, Madrid y Santiago de Compostela la gestión y publicación de datos abiertos siguiendo la especificación de la API REST de Datos definida en otra de las actuaciones del proyecto. Aunque la propuesta está adaptada a los ayuntamientos participantes en el proyecto, las conclusiones obtenidas se pueden generalizar para que otros organismos las puedan aplicar en sus propios entornos tecnológicos.

Se cuenta de partida con una serie de requisitos divididos en dos bloques principales. Por una parte se encuentran los requisitos relacionados con el dato: abierto, procesable por defecto, único, compartido, accesible, georreferenciado y descrito semánticamente. Y por otra parte se detallan los elementos y funcionalidades con los que debe contar la infraestructura tecnológica: API REST de Datos, punto de acceso SPARQL, servicio de indexación y búsqueda, integración de nuevas fuentes de datos, mantenimiento y monitorización de los procesos, combinación de información almacenada en distintos repositorios, publicación de versiones o históricos, datos en tiempo real o cuasi-real, operaciones de escritura.

Partiendo de estas premisas, dentro del proceso de consultoría se han analizado diversos aspectos tecnológicos en cada uno de los ayuntamientos, recopilando en primer lugar las necesidades de cada ayuntamiento, analizando las soluciones disponibles para cada punto analizado y finalmente proponiendo la solución idónea según el estado de cada ayuntamiento. Las áreas analizadas han sido las siguientes:

  • Fuentes de datos: identificación de los diversos tipos de fuentes de datos en los que se encuentra almacenada la información (bases de datos, repositorios de Big Data, ficheros CSV, ficheros de texto, datos en tiempo real, acceso a través de API’s, etc.). Por cada fuente de datos se analiza el tipo de los datos, su volumetría, la existencia de vocabularios que apliquen a la temática, etc. Aunque el análisis ha sido global, se ha prestado especial atención a los 27 conjuntos de datos contemplados dentro del proyecto.
  • Procesos batch / ETL’s: análisis de las características y funcionalidades que deben presentar los procesos de extracción de información de las fuentes de datos para su incorporación en el repositorio común, así como de las tecnologías a utilizar.
  • Repositorio común de datos: análisis de la conveniencia de un repositorio de estas características y de las ventajas y desventajas que conlleva frente a otras aproximaciones. Estudio de las soluciones tecnológicas disponibles para la construcción de un repositorio común semantizado.
  • API: análisis de las funcionalidades que debe cubrir el API de publicación y acceso a los datos. Se valorará la utilización de otras API’s que constituyan estándares o al menos estándares de facto. Este apartado se relaciona con la API REST de Datos de Ciudades Abiertas puesto que al menos debe existir compatibilidad entre las soluciones que se definan.
  • Terceras partes: análisis de otros elementos relacionados con la publicación de datos abiertos como pueden ser las visualizaciones, publicaciones y accesos externos. Dentro de este apartado se engloba la disponibilidad de un punto SPARQL para la consulta de los datos.
  • Indexación de los datos: dentro de la solución se debe incorporar un motor de búsqueda que de soporte a las funcionalidades de búsqueda por texto libre entre los datos publicados.
  • Tripletas RDF: al trabajar con conjuntos de datos semantizados se generarán ficheros RDF que deben ser gestionados correctamente por la plataforma.

Las infraestructuras tecnológicas propuestas dan respuesta a cada uno de los puntos mencionados. En estas soluciones se ha tenido en cuenta tanto la especificación como la implementación de referencia de la API Ciudades Abiertas, que se convierte en el eje vertebrador que posibilitará la utilización de una API común para la publicación de datos abiertos que facilite la posterior explotación de los datos publicados.

Como resultado de este trabajo de consultoría se obtiene un plan estratégico de implementación de las soluciones propuestas en cada uno de los ayuntamientos participantes. El siguiente paso dentro de la actuación es ir abordando cada una de las tareas identificadas en el plan estratégico hasta conseguir implantar en cada ayuntamiento la infraestructura que permita la gestión y publicación de datos abiertos.

Se hace necesario comentar dentro de este apartado de infraestructura tecnológica que el Ayuntamiento de Zaragoza ya dispone de su propia estructura tecnológica, que cumple con los puntos indicados anteriormente (fuente de datos, API, tripletas, etc.) que se ha utilizado en el estudio previo realizado para definir la propuesta tecnológica. También se hace necesario destacar que el trabajo de modularización de Sede que se está llevando a cabo será compatible con la infraestructura tecnológica actual y añadirá las partes de la propuesta tecnológica descrita anteriormente en aquellos casos que sea necesario.

Para obtener más información de los módulos de servicios del Ayuntamiento de Zaragoza, se recomienda visitar el apartado "API OpenCity".

Imágen decorativa en el lateral izquierdo de la pantalla Imágen decorativa en el lateral derecho de la pantalla