Fundación CTIC

Archivo categoría Técnica

Más que datos en crudo: priorización de datasets y vocabularios

Lego blocks

Acabamos de publicar un post en el sitio oficial de la 3ª Open Data Conference, que se celebrará el 28-29 de mayo 2015, en Ottawa (Canada). En el artículo se pone de manifiesto la necesidad de evolución en los paradigmas de la apertura de datos, analizando el caso de España.

Se hace énfasis en el norma UNE 178 301:2015, creada por el grupo específico de Smartcities, donde se define un conjunto de indicadores divididos en cinco ejes (político, organizacional, técnico, legal y económico) así como las métricas necesarias para cuantificar el nivel del open data en las ciudades españolas. Lo más interesante de esta norma es la definición de 10 conjuntos de datos con sus correspondientes vocabularios, que sirve como referencia a los gobiernos para su publicación de forma homogénea e interoperable.

La lista de los diez conjuntos de datos es:

Lee más en el blog post (en inglés).

, , , , , , , , ,

No hay Comentarios

Taller Share PSI en Timişoara: Identificar conjuntos de datos para la publicación

Share PSI

El próximo 16 y 17 de marzo, se celebrará en Timişoara (Rumanía) el tercer taller de Share PSI. Este evento lleva por título: “Prioridades y compromisos en Open Data”. Este evento pretende recabar experiencias sobre cómo los gobiernos priorizan los conjuntos de datos, se comprometen con los potenciales reutilizadores. CTIC, como miembros de red temática Share PSI, forma parte del comité de programa y presentará una de las sesiones del taller.

El objetivo principal es la identificación de buenas prácticas en Open data y sobre Reutilización de Información del Sector Público, aunque también abierto a otros sectores, como la gestión de datos culturales, científicos y comerciales.

Consulta más detalles sobre este evento en el sitio web de Share PSI 2.0.

, , ,

No hay Comentarios

Usando App Inventor para desarrollar aplicaciones basadas en Open Data

A partir de Blockly (servicio alojado por Google) el MIT creó la plataforma de desarrollo denominada App Inventor, con la idea de que cualquiera pudiese cronstruir aplicaciones para el sistema Android de una forma sencilla, visual y sin necesidad de escribir una sola línea de código. Y aunque tenga sus limitaciones, hoy por hoy App Inventor rebaja la dificultad para que cualquier persona sin experiencia previa en programación pueda llegar a crear algo útil a la medida de sus necesidades.

Para diseñar una aplicación o el comportamiento de sus elementos, el usuario simplemente va colocando y uniendo objetos (bloques y componentes) dentro de un editor web visual. App Inventor proporciona numerosos componentes de alto nivel para usar los recursos del smartphone, y también para comunicarse con otros recursos web externos.

Por ejemplo hay componentes para leer la localización proporcionada por el sensor GPS, para hacer fotos con la cámara, para recibir SMS, o incluso para enviar mensajes por redes sociales como Twitter.

Pero el que quiero destacar en este post, por su utilidad para poder crear aplicaciones basadas en la reutilización de los datos abiertos por las AA.PP., es un componente denominado “Web”, el cual proporciona funciones para realizar peticiones HTTP GET, POST, PUT y DELETE. El componente en cuestión puede operar con datos tanto en formato JSON como HTML.

En este tutorial ofrecido por el sitio “App Inventor en Español” se muestra con un ejemplo cómo utilizar el componente Web para crear una aplicación que permita localizar en un mapa las farmacias de guardia en la Comunidad Navarra, empleando para ello el conjunto de datos disponible desde el portal Open Data Navarra.

Por otro lado, y aunque App Inventor por defecto no ofrece soporte para guardar los datos de la aplicación como Linked Data o para integrarse con otros recursos Linked Data, un grupo del MIT extendió en 2013 la plataforma App Inventor para que pudiese interactuar con fuentes Linked Data, ocultando así la complejidad de trabajar con RDF y SPARQL en el desarrollo de aplicaciones. Para ello crearon nuevos componentes (SemanticForm, SemanticWeb y SemanticWebListPicker) y modificaron algo el interfaz de usuario. El código fuente de esta versión extendida puede obtenerse aquí y su descripción en el paper “Democratizing Mobile App Development for Disaster Management“.

, , ,

2 Comentarios

Caso práctico de reutilización de datos: visualización de la calidad del aire en Gijón

Los pasados días 5 y 6 de junio de 2013 impartimos sendas jornadas técnicas en la Escuela Politécnica de Ingeniería de Gijón y la Escuela de Ingeniería Informática de Oviedo. Con el título de “(Linked) Open Data”, hicimos un repaso teórico-práctico de tecnologías semánticas, y terminamos la sesión con el ejemplo práctico de reutilización de datos abiertos (Open Data, pero no “Linked”), en este caso una visualización web, creada por Adrián Gómez para estas jornadas.

Ficheros de código. Aplicación para visualizar la calidad del aire (versión 1versión 2).

Archivos de datos utilizados para el ejemplo (tiempo real; histórico).

Descripción

Ejemplo de visualización de la calidad del aire

El desarrollo propuesto consultará los datos de calidad del aire publicados en el portal de datos abiertos de Gijón y visualizará gráficamente, mediante unos medidores circulares de aguja (Gauge), la situación actual de la calidad del aire según la concentración de SO2 (dióxido de azufre), de NO2 (dióxido de nitrógeno) y de O3 (ozono), en µg/m3 medida diariamente. También mostrará una gráfica con la variación horaria de dichos valores.

Desarrollo

Para la realización de la aplicación hemos utilizado la versión de PHP 5.3.13, y para ejecutar lo programado necesitaremos alojar nuestra aplicación en un servidor, ya sea local o externo. Por sencillez lo haremos en uno local, utilizando Wamp Server. También utilizaremos herramientas de visualización HTML5/SVG de Google Charts.
A continuación indicamos los pasos seguidos (resumidamente):
  1. Buscar y encontrar los datosde la calidad del aire.
    • Accedemos al Catálogo de datos abiertos de Gijón en la dirección web http://datos.gijon.es/set
    • En el campo Buscar introducimos los términos “calidad aire” y ejecutamos la búsqueda.
    • Localizamos el conjunto de datos con título “Calidad del aire”, sector “Medio ambiente” y formato XML.
    • Vemos que el primer conjunto de datos que necesitamos se obtiene desde la URL: http://www.gijon.es/estacion_aires/index_all.xml
    • Para mostrar la gráfica comparativa utilizaremos un segundo conjunto de datos, correspondiente al histórico de valores medidos, ya que el XML anterior únicamente muestra las mediciones actuales (tiempo real).
  2. Programar los medidores de aguja
    • Definimos una variable llamada por ejemplo, “$numero”, y obtenemos el valor de la variable que le vamos a pasar por la URL por método “GET”.
    • Definimos unos condicionales “if” que, en función del parámetro que hayamos pasado por URL, seleccione los valores de una estación meteorológica u otra.
    • Para evitar poner siempre después de la URL “?estacion=[Numero de la estación]” , establecemos que si “$nombre=0” redireccione a http://localhost/index.html?estacion=1 , con lo que si solo escribimos “index.html” sin pasar variable alguna, pasará una por defecto para visualizar siempre alguna estación.
    • Dentro de cada “if” añadiremos el código de programación que presentará visualmente los datos de las diferentes estaciones de medida.
    • Con PHP vamos a recorrer el XML con los datos (aquí hay un sencillo ejemplo de cómo recorrer un XML con PHP).
    • Con un bucle “foreach” vamos a recorrer los nodos principales del XML, que en nuestro caso se llaman “estacion_aire” .
    • Como solo nos interesan los datos de la estación seleccionada, usaremos un condicional “if” que pregunte: ¿la estación se llama X? Este condicional va a cambiar en cada “if” de los que hemos puesto antes, si estamos en el condicional que pregunta si hemos pasado “?estacion=1” en la URL, entonces mostrará la estación que queramos asignar al 1, por ejemplo, Avenida Constitución, por lo que preguntamos si la estación se llama Avenida Constitución, y si es así que recoja los datos.
    • Guardaremos en variables los valores del nombre de la estación, la medición del SO2, del NO2, del O3, y el nodo descripción, para poder recuperarlos más adelante.
    • Usaremos el tipo de gráfico Google Gauge, en el que pegamos el código, y en los valores mostraremos el dato de cada parámetro medido (SO2, NO2, O3). En las opciones las definimos a nuestro gusto, más o menos cuadradas ya que el Gauge de Google no permite personalizar independientemente cada contador, y cada dato de aire tiene unas medidas para ser de buena o mala calidad. Para este ejemplo hemos definido los rangos: verde de 0 a 100, amarillo de 100 a 150 y rojo de 150 a 200.
    • Cerramos todas las llaves menos la del último “if”, para poder mostrar también la gráfica comparativa horaria (ver siguiente paso).
  3. Programar la gráfica horaria
    • Para ello disponemos del segundo XML, que muestra un histórico por horas, y que también está permanentemente actualizado.
    • Usaremos el tipo de gráfico Google Line Chart.
    • Cargamos y parseamos el XML, que estará esta vez en un fichero local, pero podemos utilizar el mismo método que antes.
    • Y con el mismo criterio, pasamos los valores de SO2, NO2, O3 en los valores de la gráfica. Nota: en el parámetro donde debería de ir el año o una fecha en un string no ponemos nada, ya que da problemas pasar una variable a ese parámetro y no muestra la gráfica.
  4. Completar la visualización
    • Repetimos el proceso anterior para todas las estaciones y tendremos completada la parte gráfica de nuestra visualización de datos.
    • Ahora podemos enriquecerla con una descripción textual más detallada, debajo del componente Gauge, utilizando las variables previamente guardadadas. Para ello hemos evaluado con condicionales si el valor del aire es muy bueno, bueno, malo o muy malo, contrastando lo datos con los rangos aquí establecidos.

Mejoras / otras opciones

En vez de utilizar las herramientas de visualización de Google, podemos usar jQuery (como hemos hecho en la versión 2 de nuestro código), tanto para los medidores de tipo Gauge como para la gráfica de líneas. Para ello podéis consultar estas páginas de referencia:
  • Para gráficos Gauge:
    • http://justgage.com/
    • http://anthonyterrien.com/knob/
    • http://www.bindows.net/free_gauges/GaugeWizard.html
    • http://eskimoblood.github.io/jim-knopf/
  • Para gráficas de líneas:
    • www.filamentgroup.com/examples/charting_v2/index_2.php
    • www.fusioncharts.com/jquery/

,

No hay Comentarios

“5 Stars Web: The web of Data” en el BetaBeers Asturias

la web cinco estrellas Hoy 13 de marzo CTIC presenta la charla “5 Stars Web: The web of Data” en la segunda edición del BetaBeers Asturias, que tiene lugar en la ciudad de Gijón.

Los eventos BetaBeers son encuentros entre desarrolladores y empresas que buscan consolidar contactos profesionales y generar modelos de negocio.

La “Web de Datos” es la realización palpable de una antigua visión: la “Web Semántica“. La web de hoy se está transformando gracias a la publicación de datos estructurados en formatos reutilizables (5 Stars Web).

El W3C ha apoyado y guiado durante estos últimos años el desarrollo de una serie de técnicas y tecnologías (RDF Technologies Stack) que facilitan la publicación de información en la máxima calidad.

En la charla se mostrará algún software disponible para publicar datos semánticos y otras herramientas para reutilizar información en RDF. También se enseñarán ejemplos de aplicaciones que actualmente hacen uso de datos semánticos.

No hay Comentarios

Open Data, e-Commerce y SEO

El crecimiento de la web de datos parece algo imparable. Cada vez son más las administraciones públicas que abren sus datos de forma estructurada. Todos los grandes actores en internet, redes sociales y principales servicios de búsqueda de información, cuentan ya con estrategias y tecnologías que permiten el intercambio de información en formatos estructurados estándar.

¿Cómo pueden las empresas de comercio electrónico (eCommerce) mantenerse al día y hacer de esta evolución tecnológica una ventaja competitiva?

Ademas de los aspectos generales relacionados con la transparencia, o la interoperabilidad con diversos sistemas de información, la principal ventaja que aporta la apertura de datos a las pymes de eCommerce es la mejora inmediata en su posicionamiento en buscadores (SEO). Y la manera más fácil de lograr esto para aquellas empresas que ya cuentan con un sitio web de sus productos es a través del marcado semántico de los contenidos de las páginas web.

Es paradigmático el ejemplo de Best Buy, uno de los mayores retailers de productos tecnológicos de Norteamérica. Cuando en 2009 se enriqueció el marcado html de sus páginas web los estudios realizados indicaron que en pocas semanas se había mejorado sustancialmente el ranking en Google, logrando un incremento del 30% en el número de visitas. En el buscador de Yahoo, obtuvieron un aumento del 15% en Click-Through-Rate (CTR). Cifras que deberían llamar la atención a cualquier empresa que quiere mejorar su presencia web.

Las ventajas que ofrecen los buscadores a los sitios que estructuran su información son ya una realidad. Rich Snippets es una tecnología consolidada de Google que mejora la presentación de las páginas encontradas como resultado de una búsqueda. Cuando Google identifica en la página encontrada datos estructurados es capaz de mostrar resultados enriquecidos basándose en esa información. La siguiente imagen es un ejemplo de como un negocio puede aparecer en su resultado si simplemente especifica su dirección y las votaciones de sus usuarios:

Es obvio que los usuarios van a sentirse más atraídos hacia aquellos resultados que son mejorados con datos estructurados, como muestra el ejemplo antes comentado de Best Buy.

Los grandes buscadores ya cuentan además con servicios especializados de productos y venta online tales como Google Product Search o Yahoo Shopping. Añadido a esto, cuando se realiza una consulta los buscadores tienen en cuenta factores como  la hora en la que se realiza o la localización geográfica del usuario, con el objetivo de ordenar los resultados de la forma más precisa. Por tanto, hacer llegar al buscador de forma estructurada información como la geolocalización de nuestras tiendas y productos, o nuestros horarios de apertura, es clave para obtener mayor relevancia en los resultados.

Ahora bien, ¿cómo puede una empresa de eCommerce lograr esto? ¿Qué tecnologías nos permiten hacer llegar a los motores de búsqueda nuestros datos embebidos en las páginas web? Por un lado tenemos dos tecnologías que extienden html y que nos permiten marcar datos incrustados. Son RDFa (más potente, basada en el framework semántico RDF) y Microdata (más sencilla de usar).

Basadas en alguna de estas dos tecnologías tenemos dos familias de vocabularios que nos permiten dar significado preciso a nuestra información. Por un lado está Good Relations, que se ha convertido en el vocabulario más desarrollado especializado en eCommerce y que nos permite definir conceptos como productos, ofertas, precios y tiendas. La otra opción es el uso de Schema.org, un estándar más reciente de los grandes buscadores (Google, Yahoo, Bing) que no sólo permite definir datos de eCommerce, sino también información más genérica tal como obras creativas, personas o lugares.

La siguiente imagen es un ejemplo sencillo de como se puede enriquecer un trozo de html, en este caso con información sobre una película, usando Schema.org y microdata:

Evidentemente, no debería ser necesario el marcado manual del código html de cada una de nuestras páginas de productos y tiendas. Se esperaría que el software de los portales y los diversos sistemas gestores de contenidos web tuvieran funcionalidades que permitieran realizar con facilidad estas tareas. Los mapeos de nuestra información a uno de los vocabularios mencionados (GoodRelations o Schema.org) se establecerían una sola vez y posteriormente el sistema se encargaría de enriquecer de forma automática el marcado html de las páginas.

Los gestores de contenidos web opensource más importantes ya cuentan con soporte nativo para el SEO semántico o están en vías de incorporarlo. Por ejemplo, WordPress cuenta con plugins tanto para GoodRelations como para Schema.org; igualmente, Drupal tiene módulo específicos en desarrollo (Schema.org, RDFa).

Las plataformas de software especializadas para tiendas online también están siguiendo esta tendencia. Dos de las tiendas virtuales más usadas y con mayor proyección, Magento y Prestashop, disponen de extensiones para el marcado de su información mediante GoodRelations.

Es evidente por tanto que el soporte al SEO semántico se va a convertir en una de las características claves para elegir la plataforma de software sobre la que un negocio arranque su web o tienda  online.

Hoy por hoy es difícil dar una respuesta concreta sobre qué opción tecnológica elegir entre las disponibles. Schema.org cuenta con el respaldo estandarizador de los grandes buscadores, pero GoogRelations es más potente y extensible gracias a RDFa, y no le va a faltar soporte en el futuro cercano. Lo realmente importante es usar una de las vías disponibles, la que nos resulte más fácil de implantar en nuestro sistema de gestión de contenidos.

Se ha dicho en cierto sentido que si no estás en internet no existes. No sólo eso, sino que buena parte del éxito futuro de una empresa de comercio electrónico pasará por estar en la nueva web, la web de datos.

No hay Comentarios