/
Soporte de Smart Data Models

Soporte de Smart Data Models

Disponible desde la versión 6.1.0-Warcraft

Introducción

La disponibilidad de modelos de información ampliamente adoptados (estándar de facto) es clave para crear un mercado único digital global de soluciones inteligentes interoperables y replicables (portátiles) en múltiples dominios (ciudades inteligentes, agroalimentación inteligente, servicios públicos inteligentes, industria inteligente, etc.). Tales modelos proporcionan un elemento esencial en la base técnica común necesaria para la innovación abierta basada en normas y la contratación pública.

Los Data Models (modelos de datos) desempeñan un papel crucial porque definen los formatos de representación armonizados y la semántica que utilizarán las aplicaciones tanto para consumir como para publicar datos.

Smart Data Models es un programa de colaboración conjunta para apoyar la adopción de una arquitectura de referencia y modelos de datos comunes compatibles que sustenten un mercado digital de soluciones inteligentes interoperables y reproducibles.

image-20240611-153107.png

La Fundación FIWARE, IUDX, TM Forum y OASC, lideran un programa de colaboración conjunta para apoyar la adopción de modelos de datos comunes compatibles que apuntalen un mercado digital de soluciones inteligentes, interoperables y replicables en múltiples sectores, empezando por las ciudades inteligentes. El programa está abierto a la colaboración tanto aportando nuevos modelos, como usando los existentes ya que son abiertos.

¿Cómo se soporta en Plataforma?

Onesait Platform tiene un diseño agnóstico en lo que a modelos de datos se refiere, por lo que siempre ha contado con la capacidad de utilizar cualquier modelo de datos, soportando hasta el momento JSON-Schema y JSON-LD como lenguajes para la definición de los modelos.

La forma de trabajar con modelos de datos, desde la versión 6.2.0 de Onesait Platform, consiste en definirlos dentro de la funcionalidad de gestión de modelos de datos, que permite tanto al administrador, desarrollador y analítico dar de alta y categorizar modelos de datos. Pueden ser públicos de manera que pueden visualizarse para los diferentes usuarios, o privados donde solo pueden ser visualizados por el creador o el administrador. De esta forma, el resto de usuarios pueden utilizarlos a la hora de definir sus Entidades. Por lo tanto, permite definir el catálogo de modelos de datos que van a conformar el estándar de modelos de datos de un proyecto. Anteriores a esta versión, los modelos de datos solo pueden ser creados y manejados por el administrador.

Llevando esto a los Smart Data Models, el administrador tiene la capacidad de editar y eliminar los modelos que considere oportuno, como en el siguiente ejemplo:

image-20250129-152116.png

A partir de la versión 6.1.0 de Onesait Platform se van a ir añadiendo las definiciones de Smart Data Models como parte de los modelos de datos disponibles por defecto, tal y como ya ocurría por ejemplo con los modelos de datos GSMA, que ahora también forman parte de Smart Data Models. De esta forma, el administrador no necesitará crearlos para que los usuarios los tengan disponibles.

Una vez que se ha creado un modelo, se va a poder consultar su definición tal y como se puede ver en la siguiente imagen:

Para hacer uso de estos modelos de datos, a la hora de crear nuevas Entidades, únicamente habrá que seleccionar el modelo de datos cargado que interese:

 

Una vez creada la Entidad, se va a poder utilizar para insertar datos y validar que los datos cumplen con el estándar. Por ejemplo, insertando una instancia válida, se almacena correctamente:

{ "id": "urn:ngsi-ld:Building:a3b15710-993b-4af9-9a28-bdccdf936948", "type": "Building", "dateCreated": "2023-01-26T08:50:56Z", "dateModified": "2023-01-25T16:09:41Z", "source": "Import", "name": "Building", "alternateName": "Building type 2", "description": "Building of limited Building types", "dataProvider": "IFC file" }

En el caso de intentar insertar un dato no válido, se producirá un error de validación que indica claramente la causa el fallo de inserción, que en este caso es la falta de un campo obligatorio de nombre «type»:

El motor de validación de esquemas va a permitir utilizar referencias a modelos definidos en internet. Esto resulta muy cómodo en muchos casos, pero en entornos productivos es muy común que los servidores no tengan acceso a internet por motivos de seguridad. En tales casos, Onesait Platform cuenta con la capacidad de definir un mapeo de las URI de los esquemas con identificadores de esquemas definidos en la gestión de esquemas de datos.

De esta forma el motor de validación utilizará la definición local en vez de intentar salir a Internet para obtener la definición, permitiendo el uso de los modelos de datos estándares en entornos sin conexión a internet y sin necesidad de tener que reescribir las referencias a otros modelos de datos.

En la siguiente imagen se ven algunos ejemplos de estos mapeos para modelos usando una URI propia de Onesait Platform, pero el mapeo se puede realizar igualmente para cualquier otra URI:

Mejoras de Smart Data Models

Desde la versión 6.2.0 de Onesait Platform se pueden versionar los distintos modelos de datos, se ha añadido un campo versión en el cuál aparecerá el número de la versión del modelo que estemos tratando.

Solo podrá versionar un modelo de datos, el usuario que lo haya dado de alta, dando la opción de editar esa misma versión o versionar, así incrementando su número de versión.

 

Related content

Data Models (Modelos de datos) en Onesait Platform
Data Models (Modelos de datos) en Onesait Platform
More like this
Smart Data Models Support
Smart Data Models Support
More like this
Introducción a los modelos de datos
Introducción a los modelos de datos
More like this
Capacidades de la Plataforma
Capacidades de la Plataforma
More like this
Iniciativas de estandarización de los modelos de datos
Iniciativas de estandarización de los modelos de datos
More like this
Creación paso a paso de un Data Model (modelo de datos)
Creación paso a paso de un Data Model (modelo de datos)
More like this