Taller de reutilización de datos del sector público

639ea77b2ed92f49e4704caf0af44252?s=47 Pablo Martín
September 05, 2017

Taller de reutilización de datos del sector público

Sesión formativa preparada para los cursos de verano de la Catedra de Transparencia y Gestión de Datos de la Universidad Politécnica de Valencia.

639ea77b2ed92f49e4704caf0af44252?s=128

Pablo Martín

September 05, 2017
Tweet

Transcript

  1. Taller de Reutilización de Datos Càtedra de Transparència i Gestió

    de Dades Universitat Politècnica de València Septiembre de 2017
  2. Pablo Martín Muñoz Hacker Cívico | @pr3ssh Socio trabajador de

    Enreda.coop Cofundador de Openkratio.org Parte de Tipiciudadano.es
  3. Disclaimer No soy unos apuntes así que relájate, disfruta y

    aprende.
  4. Índice de contenidos

  5. Índice de contenidos • Por qué hablamos de esto •

    Los formatos de datos • Mapear terremotos mundiales • Uso básico de una API • WebScraping en entornos no OpenData
  6. En tu memoria, Aaron.

  7. Por qué hablamos de esto

  8. La era del dato Fuente desconocida

  9. La era del dato http://johnkapeleris.com/blog

  10. La era del dato

  11. La era del dato

  12. La era del dato #CowCorollary

  13. La era del dato #CowCorollary Las vacas se alimentan de

    hierba en el campo.y todo lo que comen es procesado y desechado en forma de heces. Dichas heces son depositadas en el campo, el cuál las utiliza como nutriente para generar más hierba y por ello generar más alimento para las vacas. Las aplicaciones informáticas consumen datos para su funcioamiento y al final generan más datos que serán consumidos por ellas mismas o por otras apliaciones para generar más datos.
  14. La era del dato Generadores masivos de datos: • Administración

    (pública) electrónica • Internet evolucionado • Telefonía móvil • Domótica • Ciudades inteligentes • Industria • Investigación • ...
  15. #OpenData Los datos abiertos son datos que pueden ser utilizados,

    reutilizados y redistribuidos libremente por cualquier persona. Hay diversas variaciones de la definición en relación con el concepto de libertad, dependiendo de quién sea el encargado de recopilar, de almacenar y de publicar los datos.
  16. #OpenData https://www.ted.com/talks/tim_berners_lee_on_the_next_web

  17. #OpenData http://5stardata.info

  18. #OpenGovData Las administraciones públicas disponen de gran cantidad de datos

    publicos con un valor incalculable. Es por ello que para el beneficio de todos (administraciones, ciudadanía, empresas) éstos deberían ser liberados. Además deberían serlo por una cuestión tan básica como identificar quién es el dueño o con qué fondos se han producido.
  19. #OpenGovData http://index.okfn.org

  20. #OpenGovData Claves al abrir datos: • Publicacion clara • Formatos

    accesibles • Periodicidad corta • Mecanismo de suscripción • Licenciamiento libre • Anonimato • Seguridad nacional
  21. #OpenGovData Beneficios de abrir datos: • Implementación del Gobierno Abierto

    (transparencia y participación) • Mayor eficiencia de las administraciones públicas • Investigación e innovación • Generación de una nueva economía • Nuevo conocimiento mezclando datos • ...
  22. Los formatos de datos

  23. Qué son los formatos de datos • Un formato de

    dato es la forma en la que se encapsulan los mismos. • Se definen una serie de reglas conocidas por todos de forma que hacen que se estandarice y se expanda su uso. • No nos referimos a las bases de datos. • Son normalmente formatos de tipo texto.
  24. Algunos de los formatos más populares • PDF • XLS

    • CSV (o TSV) • XML • JSON • GeoJSON • RDF • ...
  25. Formatos de datos: PDF

  26. Formatos de datos: XLS • También conocido como XLSX •

    Desarrollado por Microsoft para su software de hojas de cálculo Excel • Distribución en formato tabla bidimensional • La popularidad de las hojas de cálculo han hecho tremendamente popular este formato • No es recomendable su uso por ser privativo
  27. Formatos de datos: CSV (o TSV) • Fichero de texto

    de valores separados por comas (tabuladores) • Distribución en formato tabla bidimensional • Alternativa abierta al formato XLS • Amplio uso en el almacenamiento de datos • Suele llevar una primera fila de definición de campos
  28. Formatos de datos: CSV (o TSV) Ej.: nombre, color, talla

    manzana, rojo, media pera, verde, media melón, verde, grande ciruela, morado, pequeña
  29. Formatos de datos: XML • Extensive Markup Language • Formato

    de marcado ampliamente usado • Permite jerarquías o niveles de profundidad • xHTML está basado en XML • Se considera human-readable como machine-readable • Se basa en etiquetas (apertura y cierre) completamente configurables • Puede contener o estar basado en una gramática en formato DTD • Estándar abierto
  30. Formatos de datos: XML Ej.: <frutas> <fruta><nombre>manzana</nombre><color>rojo</color><talla>media</talla></fruta> <fruta><nombre>pera</nombre><color>verde</color><talla>media</talla></fruta> <fruta><nombre>melón</nombre><color>verde</color><talla>grande</talla></fruta> <fruta><nombre>ciruela</nombre><color>morado</color><talla>pequeña</talla></fruta>

    </frutas>
  31. Formatos de datos: JSON • Javascript Object Notation • Javascript

    es el lenguaje de la web • El uso masivo de Javascript ha popularizado este formato • Se basa en {clave: valor} • Permite jerarquías o niveles de profundidad • Bajo coste de capacidad (en comparación con XML) • Estándar abierto
  32. Formatos de datos: JSON Ej.: { “frutas”: [ {“nombre”: “manzana”,

    “color”: “rojo”. “Talla”, “media”}, {“nombre”: “pera”, “color”: “verde”. “Talla”, “media”}, {“nombre”: “melón”, “color”: “verde”. “Talla”, “grande”}, {“nombre”: “ciruela”, “color”: “morado”. “Talla”, “pequeña”} ] }
  33. Formatos de datos: GeoJSON • Geographic Javascript Object Notation •

    Basado en JSON • Permite definir una serie de características geográficas • Además permite almacenar propiedades no geográficas • Estándar abierto
  34. Formatos de datos: RDF • Resource Description Framework. • Es

    un modelo de intercambio de datos en la Web. • Extiende el sistema relacional de la Web, usando URIs para nombrar las relaciones entre elementos (y sus elementos en sí). • Modelo de tripletas. • Diferentes serializaciones: Turtle, RDF/XML, JSON-LD, RDFa. • Estándar abierto
  35. Mapear terremotos mundiales

  36. Visualizar los terremotos mundiales de un mes en particular Ejercicio

    github.com/pr3ssh/earthquake-data-visualization
  37. goto TERMINAL

  38. Uso básico de una API

  39. Qué es una API • Application Programming Interface. • Conjunto

    de funciones, definiciones y protocolos. • Permite de forma relativamente sencilla integrar datos de unas aplicaciones en otras, facilitando así la consecución de unos niveles altos de interoperabilidad entre sistemas. • Puede disponer mecanismos de autenticación y versionado.
  40. REST API • Representational State Transfer. • Las REST APIs

    son las más populares dentro de los diversos tipos de API que existen (o al menos las más comunes en la web) por su facilidad de uso. • Se basan en el protocolo HTTP usado en la Web para proporcionar documentos hipertextuales. • Consta de una serie de puntos de acceso para los diferentes métodos. • Ej.: curl https://api.github.com/search/repositories?q=ckan
  41. Practiquemos con una lista de APIs públicas s.coop/publics

  42. WebScraping en entornos no OpenData

  43. WebScraping en entornos no OpenData Tanto en diversos portales de

    datos abiertos (como en general en la Web) nos encontramos con datos o información que no proporcionan niveles altos de cumplimiento de las especificaciones de datos abiertos. Por desgracia esta práctica es muy común en los portales de datos abiertos como mecanismo aglutinador de enlaces a otras webs en donde ya se encontraba dicha información que se pretende liberar. Para rescatar esa información tenemos que hacer uso de una técnica artesanal como es la del WebScraping.
  44. WebScraping en entornos no OpenData • WebScraping es una técnica

    para extraer datos/información de páginas web. • Se genera un automatismo que permite de forma autónoma recopilar una serie de elementos que cumplen un determinado patrón. • Usaremos Python como lenguaje de programación ya que es muy fácil manejar HTML en dicho lenguaje. • Hay librerías muy potentes como por ejemplo Scrapy pero por su sencillez y potencial educativo usaremos BeautifulSoup.
  45. Obtener el listado de estados miembro de la Unión Europea

    Ejercicio github.com/pr3ssh/webscraper-eu-members
  46. morph.io Herramienta online para crear, ejecutar y compartir webscrapers

  47. ...a solicitar y reutilizar datos!