/
Data Models (Modelos de datos) en Onesait Platform

Data Models (Modelos de datos) en Onesait Platform

Interfaz de usuario: 6.1.0-Warcraft

Introducción

En la Plataforma, la entidad del modelo de datos la denominamos símplemente como Entidad, aunque inicialmente la llamábamos «Ontología». Estas Entidades van a permitir modelar desde conceptos sencillos como una medida o un registro, a conceptos complejos como una organización. Estas Entidades se definen en el formato JSON + JSON-Schema.

Origen de las Ontologías

El concepto de Ontología -actualmente Entidades, recordamos- prviene del proyecto europeo I+D SOFIA del que se origina la plataforma Sofia2, que usaba como modelos de datos Ontologías RDF/OWL, conforme los principios de la web semántica.

image-20240718-092101.png

Cuando en el año 2013 Indra considera evolucionar SOFIA para crear una plataforma empresarial (Sofia2), que pueda usarse en proyectos productivos y complejos, se realiza un análisis y pruebas empíricas sobre Sofia2, y se concluye que la tecnología subyacente a las ontologías tradicionales modeladas en OWL no escala conforme a las necesidades de los proyectos IoT y Big Data.

Tras considerar diversas opciones, se consideró que JSON + JSON Schema era la mejor propuesta de presente y futuro.

Un poco de historia: modelo de datos de Sofia2

Para conocer mejor cómo funcionan los modelos de datos en Onesait Platform, es interesante echar un ojo atrás y analizar el modelo de datos que había previamente en la plataforma Sofia2, en donde aunque el concepto clave del modelo de datos era la Ontología, existían a su vez otros conceptos importantes a considerar, como el de «Plantilla» y la de «Instancia de la Ontología».

Veamos en qué consisten:

 

Modelo de datos o Plantilla

Ontología

Instancia de Ontología

 

Modelo de datos o Plantilla

Ontología

Instancia de Ontología

Representa 

Plantilla, bien creada por un Administrador, o bien creada conforme a un estándar concreto (como FIWARE Data Model), que permite que las Ontologías se creen.

Entidad que representa un concepto sobre el que trabaja la Plataforma.

Es un registro concreto de la entidad que define la Ontología.

Ejemplos

Plantilla definiendo los atributos de calidad medioambiental ,conforme el FIWARE Data Model.

  • Calidad medioambiental (obtenida de un dispositivo).

  • Previsión meterológica (obtenida por un algoritmo).

  • Calidad medioambiental obtenida en una hora concreta en un punto concreto.

  • Previsión para una región y mes concreto.

Formatos

JSON-Schema

JSON-Schema

JSON

¿Dónde están?

No se almacena, es una definición.

Independiente del motor de persistencia elegido: en un modelo relacional representan una tabla, en una BD NoSQL tipo documental una colección de documentos, etc.

Independiente del motor de persistencia elegido: en un modelo relacional representan un registro, en una BD NoSQL tipo documental un documento concreto, etc.

Modelos de datos en el Control Panel de Onesait Platform

Nuestro actual modelo de datos es una evolución natural del modelo de Sofia2, en el que conservamos los conceptos como la plantilla o las instancias. En este caso, el concepto de modelo de datos representa una plantilla sobre la que luego podrán crearse las Entidades.

Es por ello que la creación de las plantillas queda restringido a aquellos usuarios que tengan un rol de tipo «Administrador». Desde la versión 6.2.0-Xenon esto ha cambiado, también se ha dado acceso a los usuarios con el rol «Desarrollador» y «Analista».

Para visualizar los disintos modelos de datos disponibles, desde el Control Panel de la Plataforma navegaremos hasta el menú Administración > Gestión de Plantillas (Data Models):

image-20240718-093430.png

Se nos mostrará entonces un listado con los modelos de datos existentes, en donde podremos ver su nombre, el propietario, el tipo de plantilla, las etiquetas de categorización y las fechas de creación y edición.

Para analizar una de las plantillas de modelos de datos, únicamente tendremos que pulsar en el botón de «Mostrar» (icono con el ojo) situado en la parte derecha de cada plantilla.

Se mostrará entonces la información general de la plantilla del modelo de datos, así como el esquema JSON:

Entidades y modelos de datos

Las Entidades son el concepto clave del modelo de datos, así como también del funcionamiento completo de la Plataforma, ya que sobre estas se desencadenan el resto de procesos, como por ejemplo:

  • Reglas: las cuales se aplican ante la llegada de una instancia de Entidad (o bien planificadas), y permite acceder a los atributos de las Entidades para actuar en base a esta.

  • Dashboards: los paneles de mando se construyen, bien representando en tiempo real las instancias que van llegando a la Plataforma, o bien a través de una consulta que se realice sobre estas (DataSources, API REST, etc.).

  • Analítica: los modelos de Machine Learning típicamente se realizan sobre las Entidades almacenadas en la infraestructura Big Data de la Plataforma (BDH)

Las Entidades pueden ser creadas por usuarios que tengan roles de «Desarrollador» o «Analista», así como los de tipo «Administrador». A la hora de crear estas Entidades, contamos con diversos mecanismos que nos van a facilitar el trabajo y que os explicamos a continuación:

https://onesaitplatform.atlassian.net/wiki/spaces/DOC/pages/4111794177

Instancias de Entidad

Como ya se ha indicado, una instancia de Entidad representa un momento y posición concreto dentro de una Entidad.

La Plataforma ofrece diversas herramientas para acceder a las instancias, siendo la herramienta de consultas la más usadas por los desarrolladores, ya que permite a través de un asistente generar consultas rápidamente sobre las Entidades, tanto en SQL como en nativo, obteniendo el resultado de la consulta en formato JSON, el cual podremos descargar en nuestro local tanto en JSON como en formato CSV.

Otra opción que disponemos para ver el contenido de una Entidad es mediante las herramientas de CRUD de Entidades, en donde visualizaremos los registros existentes:

Desde el CRUD de Entidades vamos a poder editar los registros de manera sencilla. Esto no es práctico cuando se tienen miles de registros, pero para una corrección rápida resulta muy útil.

Mejoras de Data Models

Interfaz de usuario: 6.2.0-Xenon

Desde la versión 6.2.0-Xenon se ha dado acceso a los usuarios con el rol «Desarrollador» y «Analista». Esto también ha cambiado la ubicación en el menú, los encontraremos en Opciones de Desarrollador > Gestión de Plantillas (Data Models):

 

Al poder los usuarios con rol analítico y desarrollado acceder a los modelos de datos, se ha creado una nueva columna llamada público. Los modelos pueden tanto públicos como privados, los modelos públicos pueden ser visualizados y editados por cualquier usuario, en cambios los modelos privados solo pueden ser editados y visualizos por el usuario creador y el usuario administrador. Por defecto este campo será público si el rol es administrador, y privado si el rol es desarrollador o analítico, también teniendo la posiblidad de editarlo.

También se ha agregado una columna con el número de la versión del modelo, permitíendonos así la capacidad de versionar los modelos de datos. Únicamente los usuarios propietarios de dichos modelos podrán versionarlos.

Podemos agregar modelo de datos a las aplicaiones, compartiendo los modelos con los diferentes usuarios a través de estas, otorgándoles los diferentes permisos de visualización y manejo.

 

Related content

Soporte de Smart Data Models
Soporte de Smart Data Models
More like this
Data Models in Onesait Platform
Data Models in Onesait Platform
More like this
Introduction to Entities
Introduction to Entities
More like this
Smart Data Models Support
Smart Data Models Support
More like this
Capacidades de la Plataforma
Capacidades de la Plataforma
More like this
Un vistazo al Semantic Data Hub
Un vistazo al Semantic Data Hub
More like this