Cómo cargar datos en la plataforma desde un portal Open Data
Introducción
En este ejemplo vas a cargar datos en Plataforma a través del FlowEngine conectando con un dataset de un Portal Open Data.
Cómo desarrollarlo
Como origen de los datos, utiliza el "London DataStore" (https://data.london.gov.uk/). Busca la población total de las ciudades con más de 300.000 habitantes, "Global City Population Estimates."
Para descargar el dataset o conjunto de datos históricos de población: https://data.london.gov.uk/download/global-city-population-estimates/604a6a6f-2162-4d6b-bcd0-bee051703de1/global-city-population-estimates.xls
Ésta es la estructura del dataset descargado:
Una pestaña interesante se llama "CITIES-OVER-300K". Para cada ciudad, tienes una fila con la población por año:
El siguiente paso será definir la ontología necesaria (modelo de datos) para cargar y validar la información.
2. Para crear la ontología, ve al Panel de Control (https://www.onesaitplatform.online/controlpanel/) y entonces crea la ontología.
En la interfaz de creación, puedes dar nombre a la ontología y proporcionar una breve descripción:
Ahora puedes utilizar una plantilla. En este caso, utiliza una plantilla vacía llamada "EMPTYBASE". Vas a representar la información por año y población en lugar de utilizar un registro por ciudad. Esto facilitará la gestión de las series temporales y la inserción de datos en el futuro. Como resultado, cada registro del fichero Excel se transformará en diferentes registros (uno por año):
Una vez definido esto, pulsa "Actualizar esquema" para crear el esquema JSON que validará los datos.
Debajo del esquema JSON, al pulsar "Generar Instancia", se puede ver un ejemplo de un dato válido.
Cuando hayas acabado, pulsa "NUEVO" para cerrar y guardar los cambios.
3. Accediendo al FlowEngine, puedes crear el flujo de proceso "OpenData CityPopulation" que convertirá el DataSet en la ontología requerida. El flujo tiene cuatro partes:
Invocación al servicio REST externo para obtener los datos: abriendo el nodo "http request", puedes poner en el campo "URL" la dirección URL del archivo Excel. Es importante marcar la opción "devolver un búffer binario":
Transformación de datos de Excel a JSON: El búffer binario debe convertirse en un nodo "XSL Book" que trabajará con él como un documento XSL. El siguiente paso será seleccionar la hoja de trabajo: "CITIES-OVER-300K."
El último paso será seleccionar el conjunto de celdas a procesar y el formato de salida. En el ejemplo, utiliza todo el documento desde A0 (primera celda) hasta la X1693. Después, indica que quieres la salida con valores en bruto, para mantener el tipo de datos del archivo Excel en el JSON.
La salida de la "hoja a json" será un JSON con los registros de la hoja de datos.
Transformación de la información: Aquí transformarás el JSON en los registros a insertar en la ontología. Esto se hace con el nodo "Split to cities" creando un mensaje por cada combinación de registro y año. El código es:
Al final, tendrás en msg.payload un JSON con la misma estructura de la instancia de la ontología
Inserción de la ontología "CityPopulation":
4. Una vez terminado, pulsa "Desplegar" (Deploy) para guardar el flujo.
5. Para comprobar los datos en la ontología, selecciona "HERRAMIENTAS → Herramienta de consulta" en el menú.
Después, selecciona la ontología "CityPopulation":
Para buscar cualquier registro, puedes escribir la consulta "select * from CityPopulation limit 1":
Se puede ver cada uno de los valores insertados en los campos definidos.
Este tutorial continúa con la representación de los datos en https://onesaitplatform.atlassian.net/wiki/spaces/DOC/pages/2215912307