Mostrando entradas con la etiqueta datos. Mostrar todas las entradas
Mostrando entradas con la etiqueta datos. Mostrar todas las entradas

domingo, 15 de diciembre de 2019

31 Ayuntamientos con Portales de Datos Abiertos

(Imagen generada con https://es.cooltext.com/)

Hoy quiero hacer un pequeño chequeo del estado de los Portales de Datos Abiertos Municipales, ahora que estamos a punto de terminar el 2019.

Aprovechando que el evaluador está "terminado", he generado un subinforme: solo con los Ayuntamientos que tienen Portales de Datos Abiertos (31).

Vamos a ordenar por calidad de los datos, empezaremos con cuatro estrellas. Solo tenemos a 17 Ayuntamientos con esta puntuación, ordenamos por el número de conjuntos de datos con cuatro estrellas ordenados de mayor a menor:
  1. Gijón (119)
  2. Cáceres (116)
  3. Santander (82)
  4. Madrid (70)
  5. Santa Cruz de Tenerife (67)
  6. Sant Feliu de Llobregat (37)
  7. Las Palmas de Gran Canaria (27)
  8. Barcelona (21)
  9. Cartagena (20)
  10. Badia del Vallès (11)
  11. Alcobendas (8)
  12. Rivas-Vaciamadrid (8)
  13. Lorca (4)
  14. Valencia (4)
  15. Zaragoza (3)
  16. Bilbao (2)
  17. Donostia/San Sebastián (1)
Ahora vamos a ordenar por aquellos conjuntos de datos con tres estrellas. Aquí ya tenemos a bastantes más, así que nos vamos quedar con un Top 20. Ordenamos por el número de conjuntos de datos con tres estrellas ordenados de mayor a menor:
  1. Gijón (630)
  2. Arganda del Rey (601)
  3. Málaga (596)
  4. Barcelona (382)
  5. Madrid (258)
  6. Alcobendas (191)
  7. Lorca (179)
  8. Bilbao (176)
  9. Torrent (174)
  10. Valencia (106)
  11. Vitoria-Gasteiz (80)
  12. Donostia/San Sebastián (64)
  13. Las Palmas de Gran Canaria (63)
  14. Zaragoza (62)
  15. Rivas-Vaciamadrid (48)
  16. Villanueva de la Serena (44)
  17. Santa Cruz de Tenerife (21)
  18. Alcoy (20)
  19. San Sebastián de los Reyes (15)
  20. Sant Feliu de Llobregat (8)
Por último, ordenamos por cantidad de conjuntos de datos (algo poco relevante, no se trata de cuantos más mejor). También nos quedamos con el top 20. Este es el resultado:
  1. Málaga (875)
  2. Gijón (781)
  3. Arganda del Rey (625)
  4. Barcelona (462)
  5. Madrid (436)
  6. Alcobendas (199)
  7. Bilbao (190)
  8. Lorca (188)
  9. Torrent (175)
  10. Vitoria (Gasteiz (150)
  11. Zaragoza (136)
  12. Cáceres (116)
  13. Valencia (115)
  14. Las Palmas de Gran Canaria (90)
  15. Santa Cruz de Tenerife (90)
  16. Santander (88)
  17. Donostia/San Sebastián (65)
  18. Rivas Vaciamadrid (57)
  19. San Sebastián de los Reyes (51)
  20. Sant Feliu de Llobregat (47)
Los resultados me parecen bastante sorprendentes.

Por supuesto, podéis acceder a los datos que he utilizado en el repositorio de los últimos artículos:
https://github.com/tecnificados/evaluador/tree/master/informes

Recordar que el origen de los datos es el catálogo de datos.gob.es, y todo el proceso de generación de datos está en el repositorio anterior: https://github.com/tecnificados/evaluador.

domingo, 24 de noviembre de 2019

Evaluador de Portales de Datos Abiertos - Parte V

                                 Imagen obtenida de: https://5stardata.info/es/

Hoy vamos a hablar de la puntuación de los diferentes formatos. Esta puntuación se estableció por Tim Berners Lee hace unos años. Si lo resumimos rápidamente sería así:
  1. Cualquier formato con licencia abierta: 1 estrella. Es decir, cualquier conjunto de datos que contenga al menos un fichero y esté alojado en un portal de Datos Abiertos, tendrá al menos esta puntuación. Ejemplo: un PDF.
  2. Cualquier formato reutilizable: 2 estrellas. Si puedes descargar un fichero del Portal de Datos Abierto y puedes modificarlo, su conjunto de datos tendrá al menos 2 estrellas. Ejemplo: un fichero Excel.
  3. Formato abierto: 3 estrellas. Si ademas de editarlo, lo puedes hacer sin software propietario, este conjunto de datos tendrá 3 estrellas. Un fichero CSV.
  4. Utilización de URIs: 4 estrellas. Si en el formato se están utilizando URIs (semánticos). Ejemplo: RDF, JSON-LD, Turtle,...
  5. Utilización de Linked Data: 5 estrellas. Ademas de utilizar URIs, utilizar URIs externas a tu fuente para generar Linked Data.
Y ahora vamos a puntuar todos los formatos que aparecen en datos.gob.es, de esta forma podremos dar un paso más en el evaluador.

Los voy a escribir clasificándolos por el número de estrellas que he asignado:

Formatos con 1 estrella:


PDF
PNG
JPG

Formatos con 2 estrellas:


Atom
DBF
DGN
DjVu
DOC
DOCX
DWG
DXF
ECW
ELP
ePub
HTML
MDB
OCTET-TREAM
SHP
SOAP
TIFF
WFS
WMS
WMS-XML
XHTML
XLS
XLSX

Formatos con 3 estrellas:

ASCII
Calendar
CSV
CSW
GDB
GeoJSON
GeoRSS
GML
GPX
JSON
KML
KMZ
LAS
MARC
ODS
ODT
PC-Axis
plain
RSS
RTF
SCORM
TBX
TMX
TSV
vCard-XML
WCS
XBRL
XML

Formatos con 4 estrellas:

JSON-LD
N3
TURTLE
RDF-N3
RDF-Turtle
RDF-XML

Formatos con 5 estrellas:

De momento no voy a tratar con la quinta estrella, tendría que cargar la información y verificar que se usa Linked Data.

Formatos sin estrellas: 

Los he clasificado así, porque no son formatos como tales, la mayoría son clasificaciones inexactas, y otros como API o SOLR, son servicios que complementan el Portal de Datos Abiertos.

API
GZIP
Solr
SPARQL
SPARQL-JSON
SPARQL-XML
XML-APP

Y después de esta clasificación, solo nos falta añadir la programación y generar los informes. Pero esto lo haremos en el próximo artículo.

¿Estáis de acuerdo con esta clasificación?

domingo, 17 de noviembre de 2019

Evaluador de Portales de Datos Abiertos - Parte IV



Y seguimos con la serie del evaluador, lo primero que quiero es dar las gracias a tod@s los que han contactado conmigo por este proyecto. Vamos a seguir poco para poder generar un evaluador gracias los datos que se publican en datos.gob.es

Esta semana he generado el primer informe (aunque todavía no es el definitivo), he generado una tabla con cada organismo publicador, el número de conjuntos de datos que contiene y todos los formatos que utiliza.

El informe está en formato Markdown (como ya os comenté Github lo interpreta automáticamente) y en formato CSV, así podemos trastear con el fácilmente.

Aquí tenéis sus URLs:
Toda la lógica de generación del informe está en la clase "InformeOrganismoFormatos.java", todo sigue en el repositorio que he estado utilizando en las últimas entradas (aquí).

Lo único que hago es iterar por la estructura de datos que definimos la semana pasada e ir construyendo la salida, para al final escribirla.

Los resultados son bastante curiosos, es increíble pero hay portales que solo tienen PDFs...

En el próximo artículo, puntuaremos los diferentes formatos para poder evaluar todos los portales.

domingo, 10 de noviembre de 2019

Evaluador de Portales de Datos Abiertos - Parte III



En esta tercera entrega ya hemos empezado con la programación, el objetivo de hoy es conseguir cargar toda la información del fichero de datos.gob.es para poder evaluarla.

Si miráis el repositorio del Evaluador (https://github.com/tecnificados/evaluador) hay unas cuantas clases nuevas:
  1. OrganoPublicador: es un bean que contiene el nombre del organismo y la lista de conjuntos de datos.
  2. ConjuntoDatos: también un bean que contiene su título y la lista de formatos que tienen sus recursos.
  3. Evaluador: en esta clase está toda la lógica que traduce el contenido del fichero a los dos beans anteriores.
La función "evaluaLinea" me ha llevado más tiempo del que yo pensaba, debido a que hay celdas que son de tipo texto y tienen comas dentro. Como hago un "split" por comas, tengo que volver a juntar las celdas que tienen este comportamiento.

Estos son todos los formatos que me he encontrado, que son bastantes más de los que yo pensaba:
  • API 
  • ASCII 
  • Atom 
  • Calendar 
  • CSV 
  • CSW 
  • DBF 
  • DGN 
  • DjVu 
  • DOC 
  • DOCX 
  • DWG 
  • DXF 
  • ECW 
  • ELP 
  • ePub 
  • GDB 
  • GeoJSON 
  • GeoRSS 
  • GML 
  • GPX 
  • GZIP 
  • HTML 
  • JPG 
  • JSON 
  • JSON-LD 
  • KML 
  • KMZ 
  • LAS
  • MARC 
  • MDB 
  • N3 
  • OCTET-STREAM 
  • ODS 
  • ODT 
  • PC-Axis 
  • PDF 
  • plain 
  • PNG 
  • RDF-N3 
  • RDF-Turtle 
  • RDF-XML 
  • RSS 
  • RTF 
  • SCORM 
  • SHP 
  • SOAP 
  • Solr 
  • SPARQL 
  • SPARQL-JSON 
  • SPARQL-XML 
  • TBX 
  • TIFF 
  • TMX 
  • TSV 
  • TURTLE 
  • vCard-XML 
  • WCS 
  • WFS 
  • WMS 
  • WMS-XML 
  • XBRL 
  • XHTML 
  • XLS 
  • XLSX 
  • XML 
  • XML-APP 
  • ZIP 
En el próximo artículo empezaremos a generar informes interesantes, evaluando los distintos conjuntos de datos.

domingo, 3 de noviembre de 2019

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á...

lunes, 14 de octubre de 2019

Evaluador de Portales de Datos Abiertos - Parte I

Durante los últimos artículos, he ido sentando la bases para llegar a la creación de una pequeña aplicación de consola que nos sirva para evaluar los distintos portales de Datos Abiertos que están censados en nuestro Portal Nacional de Datos Abiertos: https://datos.gob.es/es/catalogo

Mi idea es leer todas los recursos (ficheros y URLs) que existen todos los portales de Datos Abiertos, agrupándolos por cada por cada conjunto de datos.  Después evaluaremos las siguientes características:
  1. ¿Los recursos están accesibles?
  2. ¿Qué tipo de ficheros contiene (CSV, PDF, HTML,...)?
  3. ¿Utiliza algún formato basado en URIs (RDF, TTL, N3, JSONLD,...)?
  4. ¿Las URIs enlazan con URIs externas a su portal (Linked Data)?
Dependiendo de estas preguntas podremos puntuar cada conjunto de datos basándonos en el siguiente gráfico:




Y para terminar generaremos un informe en formato Markdown con todos los portales de datos y su puntuación.

Todo esto lo haremos en una aplicación de consola con JAVA y la base de nuestra aplicación será la la que desarrollamos la semana pasada (https://github.com/tecnificados/lector).

Y lo iremos desarrollando paso a paso a partir de la semana que viene.

Continuara...

jueves, 31 de marzo de 2016

Extracción de datos con Import.io



Los desarrolladores a veces necesitamos información para realizar nuestras tareas, pero no la tenemos disponible en una fuente de datos tal y como nos gustaría.

Ejemplo: llevo tiempo queriendo hacer un "simulador" de la bolsa con el IBEX 35, para esto lo ideal sería tener una API en tiempo real (o casi) que nos fuera devolviendo los valores actuales de cada valor. Una API en JSON gratuita que nos permita esto no existe (o yo no la he encontrado).

Y para esto hay una herramienta de terceros llamada Import.io que nos puede ayudar.

Vamos a seguir con nuestro ejemplo. Hay muchas páginas que tienen los datos de los valores del IBEX-35, yo voy a elegir ésta: http://www.infobolsa.es/acciones/ibex35



Ahora nos vamos a la página web de Import.io, y en el campo donde está escrito "Enter an URL..." escribimos la URL de nuestra página y pulsamos el botón "Try it out". Después de unos segundos veremos la siguiente pantalla:



En ella vemos todos los datos correctamente extraídos de la página. Al final aparece el botón "Save", si lo pulsamos nos llevará a la página de alta en el servicio (es gratis).


Una vez dados de alta, veremos nuestro panel de control, que contiene nuestra URL. Arriba a nuestra derecha, podremos ver estos botones:


Si pulsamos en el botón "Run URLs". Nos llevará a la sección "History" donde veremos la cantidad de datos extraídos en esta ocasión:



En el enlace "Download" podremos escoger el formato de los datos a descargar:


¿Podemos pedir más? Si, una API. Pues para esto nos vamos a la Sección "Integrate" y allí tendremos nuestra URL para hacer peticiones a nuestros datos. Que nos serán devueltos en JSON:



Esta llamada devuelve los datos de la última extracción.

Para terminar lo ideal sería poder decirle a Import.io que nos refresque nuestras URLs automáticamente cada X minutos, pero esto aún no lo tienen implementado, aunque están en ello. 

De momento tendremos que hacerlo manualmente.

Aunque para mi proyecto de Simulador Bursátil no me vale, podemos sacarle mucho partido en otras situaciones.