Sinfonier Contest 2015: Sinfonier y Smart Cities
Las ciudades hoy en día generan una gran cantidad de información que puede resultar muy útil, algunos ejemplos son los niveles de contaminación del aire, que devuelven las sondas colocadas en diferentes puntos geográficos o la situación de nuestras carreteras, para saber si tenemos mucha afluencia de coches o ha ocurrido algún accidente. Estos datos ya están siendo usados, pero de manera independiente.
- Documentación de la API de Zaragoza: http://www.zaragoza.es/docs-api/#/
- Portal de datos abiertos de Santander: http://datos.santander.es/
- Portal de datos abiertos de Barcelona: http://opendata.bcn.cat/opendata/es/
- Portal de datos abiertos de Madrid: http://datos.madrid.es/portal/site/egob
Vemos que tiene un catálogo (http://www.zaragoza.es/api/catalogo.json) bastante extenso, por lo que elegí diferentes fuentes de información y preparé los módulos en Sinfonier para poder extraer los datos que me interesaban:
- Frecuency: Segundos que va a esperar el módulo en realizar de nuevo la petición, dando respuesta solo cuando aparezcan nuevos.
- Rows: Límite de valores que quiero que me devuelva el módulo.
- Start_date: Fecha inicial desde la cual se devolverán resultados en formato yyyy-mm-ddThh:mm:ssZ (UTC).
- Sort: Orden de las respuestas por parte del módulo (asc/desc).
- Q: Consulta mediante FIQL (http://tools.ietf.org/pdf/draft-nottingham-atompub-fiql-00.pdf) para permitir filtros y condiciones en las consultas utilizando una sintaxis con URIs amigables.
Dentro de la topología, los valores que llegan se conectan con la entrada de otros, con los parámetros de latitud y longitud para así tener resultados solo en esos puntos.
Una vez hecho esto, conecto las salidas de los módulos con los de Neo4j y ya tendría la topología terminada. Un ejemplo de esta conexión sería la siguiente:
En el grafo podremos realizar las consultas para lograr las recomendaciones. Por ejemplo cuando queramos saber si la oferta de una habitación de un hotel es una buena oferta sin basarnos solo en las opiniones de las habitaciones, sino viendo si existen relaciones en ese lugar como quejas, accidentes de tráfico, etc. y poder mejorar nuestra información. Este es un ejemplo de una consulta que relaciona habitaciones de hotel con diversas quejas e incidentes.