Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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.

Pablo Martín

September 05, 2017
Tweet

More Decks by Pablo Martín

Other Decks in Technology

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

    View Slide

  2. Pablo Martín Muñoz
    Hacker Cívico | @pr3ssh
    Socio trabajador de Enreda.coop
    Cofundador de Openkratio.org
    Parte de Tipiciudadano.es

    View Slide

  3. Disclaimer
    No soy unos apuntes
    así que relájate, disfruta
    y aprende.

    View Slide

  4. Índice de contenidos

    View Slide

  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

    View Slide

  6. En tu memoria, Aaron.

    View Slide

  7. Por qué hablamos de esto

    View Slide

  8. La era del dato
    Fuente desconocida

    View Slide

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

    View Slide

  10. La era del dato

    View Slide

  11. La era del dato

    View Slide

  12. La era del dato
    #CowCorollary

    View Slide

  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.

    View Slide

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

    View Slide

  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.

    View Slide

  16. #OpenData
    https://www.ted.com/talks/tim_berners_lee_on_the_next_web

    View Slide

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

    View Slide

  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.

    View Slide

  19. #OpenGovData
    http://index.okfn.org

    View Slide

  20. #OpenGovData
    Claves al abrir datos:
    ● Publicacion clara
    ● Formatos accesibles
    ● Periodicidad corta
    ● Mecanismo de suscripción
    ● Licenciamiento libre
    ● Anonimato
    ● Seguridad nacional

    View Slide

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

    View Slide

  22. Los formatos de datos

    View Slide

  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.

    View Slide

  24. Algunos de los formatos más populares
    ● PDF
    ● XLS
    ● CSV (o TSV)
    ● XML
    ● JSON
    ● GeoJSON
    ● RDF
    ● ...

    View Slide

  25. Formatos de datos: PDF

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  30. Formatos de datos: XML
    Ej.:

    manzanarojomedia
    peraverdemedia
    melónverdegrande
    ciruelamoradopequeña

    View Slide

  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

    View Slide

  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”}
    ] }

    View Slide

  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

    View Slide

  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

    View Slide

  35. Mapear terremotos mundiales

    View Slide

  36. Visualizar los terremotos
    mundiales de un mes en
    particular
    Ejercicio
    github.com/pr3ssh/earthquake-data-visualization

    View Slide

  37. goto TERMINAL

    View Slide

  38. Uso básico de una API

    View Slide

  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.

    View Slide

  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

    View Slide

  41. Practiquemos con una lista de APIs públicas
    s.coop/publics

    View Slide

  42. WebScraping en entornos no OpenData

    View Slide

  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.

    View Slide

  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.

    View Slide

  45. Obtener el listado de estados
    miembro de la Unión Europea
    Ejercicio
    github.com/pr3ssh/webscraper-eu-members

    View Slide

  46. morph.io
    Herramienta online para crear, ejecutar y compartir webscrapers

    View Slide

  47. ...a solicitar y reutilizar datos!

    View Slide