Soporte de Smart Data Models en Onesait Platform
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. En esta versión 6.1.0-Warcraft de Onesait Platform hemos decidido aumentar nuestra compatibilidad con los modelos de datos, y concretamente con los modelos de Smart Data Models.
¿Qué son los Smart Data Models?
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.
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 la Plataforma?
Onesait Platform tiene un diseño agnóstico en lo que a modelos de datos se refiere y por lo tanto siempre ha contado con la capacidad de utilizar cualquier modelo de datos, hasta el momento, soportando JSON-Schema y JSON-LD como lenguajes para la definición de los modelos.
La forma de trabajar con modelos de datos en definirlos dentro de la funcionalidad de gestión de modelos de datos, que permite al administrador dar de alta y categorizar Data Models. 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.
Llevando esto a los Smart Data Models, el administrador tiene la capacidad de dar de alta los modelos que considere oportuno y tenerlos clasificados como en el siguiente ejemplo:
Como decimos, a partir de esta versión 6.1.0 se irán 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 un modelo se ha creado, se puede consultar su definición tal y como se puede ver en la siguiente imagen:
Finalmente, se puede utilizar para la creación de nuevas Entidades, simplemente seleccionando el modelo de datos:
Una vez creada la Entidad, ya se puede 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, por ejemplo, sin campo «type» que es obligatorio en el esquema que estamos usando como ejemplo, se produce un error de validación que indica claramente la causa el fallo de inserción:
El motor de validación de esquemas permite utilizar referencias a modelos definidos en internet. Esto es 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 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.
Imagen de cabecera: Nick Fewings en Unsplash