NGSI-LD es un modelo de información y API para editar, consultar y subscribirse a información de contexto. Está destinado a facilitar el intercambio abierto y el intercambio de información estructurada entre diferentes partes interesadas. Se utiliza en diferentes ámbitos de aplicación como Ciudades Inteligentes,[1][2][3]Industria Inteligente, Agricultura Inteligente,[4][5]​ y más generalmente para el Internet de Cosas,[6]Sistemas Cyber-Físicos, Sistemas de sistemas[7]​ y Gemelos Digitales.[8]

NGSI-LD - Un modelo de información contextual basado en gráficos y una API
Acrónimo NGSI-LD
Tipo ETSI Working group - ISG CIM
Campo modelo informático, datos enlazados y web semántica
Fundación 2017
Área de operación Worldwide
Miembros Association eG4U, BT plc, Cadzow Communications, Ceragon Networks AS, CNIT, Convida Wireless, Deaking University, DEKRA, EGM, UPM, Fiware Foundation, IMEC, KETI, NCSC, NEC Europe Ltd, Nokia Germany, Orange, Sensinov, TELEFONICA S.A., TNO, Ubiwhere Lda, Universidad de Murcia
Estructura
Sitio web www.etsi.org/committee/cim

NGSI-LD ha sido estandarizado por el ETSI (Instituto de Estandarización de Telecomunicaciones europeo) a través del Context Information Management Industry Specification Group, siguiendo una solicitud de la Comisión Europea.[9]​ Su adopción y posterior desarrollo se detallan en el "Plan renovable para la estandarización de las TIC" de la UE.[10]​ NGSI-LD se basa en un corpus de investigación de décadas de antigüedad en marcos de gestión de contexto y modelado de contexto.[11]​ El acrónimo NGSI significa "Interfaces de Servicio de Nueva Generación", un conjunto de especificaciones emitidas originalmente por OMA que incluían interfaces de contexto.[12]​ Estos fueron adoptados y desarrollados como NGSIv2[13]​ por la European Future Internet Public-Private-Partnership (PPP), que generó la comunidad de código abierto FIWARE.

El modelo de información NGSI-LD representa Información de Contexto como entidades que tienes propiedades y se relacionan con otras entidades. Se deriva de grafos de propiedades,[14]​ con la semántica definida formalmente sobre la base de RDF y el marco de la web semántica. Se puede serializar usando JSON-LD. Cada entidad y relación recibe una referencia IRI única como identificador, lo que hace que los datos correspondientes se puedan exportar como conjuntos de datos de Datos enlazados. El sufijo -LD denota esta afiliación al universo de Dato Enlazados.

Diseño

editar

Modelo de información

editar

El modelo de información NGSI-LD[15]​ se puede considerar como la primera especificación formal por parte de una organización de estandarización del modelo gráfico de la propiedad, que se desarrolla desde la década de 2000 como un modelo común denominador informal para graph databases.

Los conceptos de clave son:

  • Un grafo de propiedades es un multigrafo dirigido, formado por nodos (vértices) conectados por enlaces dirigidos, donde tanto los nodos como los arcos pueden tener múltiples propiedades opcionales adjuntas (es decir, atributos)
  • Las propiedades (similares a los atributos en los modelos de objetos) tienen la forma de pares clave-valor arbitrarios. Las claves son cadenas de caracteres y los valores son tipos de datos arbitrarios. A diferencia de los grafos RDF, las propiedades no son arcos del grafo.
  • Las relaciones son arcos (aristas dirigidas) del grafo, que siempre tienen un identificador, un nodo inicial y un nodo final

El meta-modelo NGSI-LD[15]​ formalmente define estos conceptos fundacionales (Entidades, Relaciones, Propiedades) en la base de RDF/RDFS/OWL, y parcialmente en la base de JSON-LD.

  • Una Entidad NGSI-LD es el representante informativo de algo (un referente) que se supone que existe en el mundo real, fuera de la plataforma computacional que utiliza NGSI-LD. Este referente no tiene por qué ser algo estrictamente físico (podría ser una entidad legal o administrativa), ni autocontenido (puede ser una construcción distribuida a nivel de sistema). Se supone que cualquier instancia de una entidad de este tipo está identificada de forma única por un IRI, y caracterizada por referencia a uno o más tipos de entidad NGSI-LD. En el lenguaje del gráfico de propiedades, es un nodo.
  • Una propiedad NGSI-LD es una instancia que asocia una característica, un valor NGSI-LD, a una entidad NGSI-LD, a una relación NGSI-LD o a otra propiedad NGSI-LD. Las propiedades de propiedades están explícitamente permitidas y se fomentan, por ejemplo, para expresar la precisión de un valor medido concreto.
  • Una relación NGSI-LD es un vínculo dirigido entre un sujeto (punto de partida), que puede ser una entidad NGSI-LD, una propiedad NGSI-LD u otra relación NGSI-LD, y un objeto (punto final), que es una entidad NGSI-LD. Una relación NGSI-LD de una propiedad a una entidad puede utilizarse, por ejemplo, para expresar que la propiedad fue medida por esa entidad (Procedencia de la medición).
  • Un valor NGSI-LD es un valor JSON (es decir, una cadena, un número, verdadero o falso, un objeto, una matriz), o un valor tipificado JSON-LD (es decir, una cadena como forma léxica del valor junto con un tipo, definido por un tipo base XSD o, más generalmente, un IRI), o un valor estructurado JSON-LD (es decir, un conjunto, una lista o una cadena etiquetada en un idioma).
  • Un tipo NGSI-LD es una clase OWL que es una subclase de las clases Entidad NGSI-LD, Relación NGSI-LD, Propiedad NGSI-LD o Valor NGSI-LD definidas en el metamodelo NGSI-LD. NGSI-LD predefine un pequeño número de tipos, pero por lo demás está abierto a cualquier tipo definido por los usuarios.

Complementando este meta-modelo, la especificación del modelo de información NGSI-LD también proporciona una Ontology transversal[15] aquello define clave construye relacionado a espacial, temporal o sistema-características de composición de entidades.

Arquitectura

editar

La especificación NGSI-LD consiste en un modelo de información y una API. La API proporciona funcionalidades para apoyar los roles arquitectónicos descritos a continuación.

  • Consumidor de contexto: Un consumidor de contexto consume entidades NGSI-LD de un agente de contexto (o posiblemente directamente de una fuente de contexto) utilizando las funcionalidades de consumo de información de contexto de la API de NGSI-LD. Puede recuperar una entidad NGSI-LD específica o consultar las entidades NGSI-LD pertinentes mediante solicitudes sincrónicas. También puede suscribirse a las entidades NGSI-LD pertinentes y recibir notificaciones asíncronas cuando se produzcan cambios en las entidades NGSI-LD solicitadas.
  • Productor de contexto: Un Productor de Contexto crea, actualiza y elimina Entidades NGSI-LD, Propiedades NGSI-LD y Relaciones NGSI-LD en el Broker de Contexto utilizando las funcionalidades de Provisión de Información de Contexto de la API NGSI-LD.
  • Fuente de contexto: Una Fuente de Contexto hace que las Entidades NGSI-LD estén disponibles a través de las funcionalidades de Consumo de Información de Contexto de la API NGSI-LD. Para que la información sea detectable para un agente de contexto, registra el tipo de información de contexto que puede proporcionar con un servidor de registro utilizando la funcionalidad de registro de fuentes de contexto de la API de NGSI-LD.
  • Bróker de Contexto: Un Bróker de Contexto actúa como punto de acceso principal a la información de contexto para los Consumidores de Contexto. La información de la entidad NGSI-LD puede ser almacenada por el propio agente de contexto, si ha sido proporcionada por un productor de contexto utilizando las funcionalidades de suministro de información de contexto de la API NGSI-LD, o el agente puede solicitarla a las fuentes de contexto utilizando las funcionalidades de consumo de información de contexto de la API NGSI-LD. El Corredor de Contexto agrega toda la información de la Entidad NGSI-LD relacionada con una solicitud y devuelve el resultado agregado al Consumidor de Contexto. En el caso de una suscripción, envía notificaciones siempre que haya cambios relevantes, potencialmente como resultado de la recepción de notificaciones de Fuentes de Contexto. Para encontrar Fuentes de Contexto que puedan tener Entidades NGSI-LD relevantes para una solicitud del Consumidor de Contexto, el Corredor de Contexto utiliza la funcionalidad de Descubrimiento de Fuentes de Contexto de la API NGSI-LD implementada por el Servidor de Registro.
  • Servidor de Registro: El Servidor de Registro almacena los Registros de Fuentes de Contexto proporcionados por las Fuentes de Contexto utilizando las funcionalidades de Registro de Fuentes de Contexto de la API NGSI-LD. Los registros de fuentes de contexto contienen información sobre el tipo de información de contexto que puede proporcionar una fuente de contexto, pero no los valores reales. El tipo de información de contexto puede proporcionarse en diferentes niveles de granularidad que van desde información muy detallada, por ejemplo, ciertas propiedades o relaciones de una Entidad NGSI-LD específica, hasta cualquier información de una Entidad NGSI-LD específica, o hasta el nivel en que puede proporcionar Entidades NGSI-LD que tengan un determinado Tipo de Entidad, posiblemente para un área geográfica determinada. La funcionalidad de descubrimiento de fuentes de contexto de la API NGSI-LD permite al agente de contexto (o posiblemente a un consumidor de contexto) encontrar fuentes de contexto que puedan tener entidades NGSI-LD relevantes.

Los roles arquitectónicos permiten la implementación de diferentes arquitecturas de despliegue. En una arquitectura centralizada, existe un Context Broker central que almacena la información de contexto proporcionada por los Context Producers. En una arquitectura distribuida, toda la información de contexto puede ser almacenada por las Fuentes de Contexto. En una arquitectura federada, las Fuentes de Contexto pueden ser de nuevo Corredores de Contexto que ponen a disposición la información agregada de un nivel jerárquico inferior. Estas arquitecturas no son mutuamente excluyentes, es decir, un despliegue real puede combinarlas de diferentes formas.

La API[16]​ de gestión de la información de contexto de NGSI-LD permite a los usuarios proporcionar, consumir y suscribirse a la información de contexto en múltiples escenarios y con la participación de múltiples partes interesadas. Permite un acceso casi en tiempo real a la información procedente de muchas fuentes diferentes (no solo fuentes de datos del IoT), denominadas Fuentes de Contexto, así como la publicación de esa información a través de plataformas de publicación de datos interoperables.

Ofrece consultas geotemporales avanzadas e incluye mecanismos de suscripción, para que los consumidores de contenidos reciban una notificación cuando estén disponibles los contenidos que coincidan con algunas restricciones.

La API está diseñada para ser agnóstica a la arquitectura (central, distribuida, federada o combinaciones de ellas), de modo que las aplicaciones que producen y consumen información no tengan que adaptarse a las especificidades del sistema que distribuye/intercambia información de contexto para ellas.

Las operaciones de la API comprenden:

  • Operaciones de Información de Contexto, relacionadas con la Provisión (creación de entidades NGSI-LD y actualización de sus atributos), el Consumo (consulta de entidades NGSI-LD) y la Suscripción (suscripción a información específica, bajo restricciones especificadas, con el fin de ser notificado cuando aparezcan entidades coincidentes, portadoras de la información especificada).
  • Las operaciones de Fuentes de Contexto, relacionadas con el Registro (hacer que una nueva fuente de información de contexto esté disponible en el sistema distribuido general, registrándola) y el Descubrimiento (consultar al sistema sobre qué fuentes de contexto se han registrado, que ofrecen información de un tipo especificado).

NGSI-LD fue iniciada por los socios del programa FIWARE, y es utilizada principalmente por la comunidad de código abierto de FIWARE,[17]​ con el apoyo de la Fundación FIWARE,[18]​ así como por una diversa gama de otros proyectos y usuarios, como los que se indican a continuación:

Implementaciones en Proyectos de software de código abierto

editar

Historia

editar

NGSI-LD es el resultado de una evolución de las Interfaces de Contexto que comenzó como parte del conjunto de "Interfaces de Servicio de Próxima Generación" (NGSI) publicado por la Open Mobile Alliance (OMA) en 2012, que es también el origen del acrónimo NGSI. El conjunto NGSI incluía NGSI-9 como interfaz de descubrimiento de entidades de contexto y NGSI-10 como interfaz de información de contexto. El estándar NGSI de la OMA y sus evoluciones intermedias se basaban en un modelo clásico de entidad-atributo-valor y una representación basada en XML. Las Interfaces de Contexto NGSI fueron adaptadas por el proyecto FI-WARE, que desarrolló la plataforma para la Asociación Público-Privada (APP) europea de la Internet del Futuro. Las interfaces de contexto NGSI de la OMA obtuvieron un enlace HTTP con una representación JSON, denominada NGSIv1, que incluía tanto NGSI-9 como NGSI-10. En el transcurso de FI-PPP las interfaces evolucionaron hasta llegar a NGSIv2, que se convirtió en la interfaz clave de la plataforma FIWARE.[13]​ Tras el final de la FI-PPP en 2016, la plataforma FIWARE se convirtió en el núcleo de la Comunidad de Código Abierto FIWARE gestionada por la FIWARE Fundación. En 2017, se creó el Grupo de Especificación de la Industria del ETSI sobre la Gestión de Información Contextual transversal (ETSI ISG CIM) para evolucionar la Interfaz de Información Contextual, lo que dio lugar a la creación de NGSI-LD. Las limitaciones del modelo de información original condujeron a la especificación de un modelo más amplio que deriva de los gráficos de propiedades, incluyendo explícitamente las relaciones entre entidades, a la par que las propias entidades.

Véase también

editar

Enlaces externos

editar

Referencias

editar
  1. Ulrich Ahle, Ernö Kovacs, Andreas Linneweber, Wolfgang Möller, Bernd Simon. (October 2020). «SMART CITY ECOSYSTEM: Laying the foundations - using decision-making sovereignty». FIWARE and SAP. Consultado el 24 de marzo de 2021. «p.6, In today’s Smart Cities “System-of-Systems” architectures are created on the basis of the ETSI standard “Context Information Management (ETSI ISG CIM)” also known as NGSI-LD.» 
  2. Jeong, Seungmyeong; Kim, Seongyun; Kim, Jaeho (7 de diciembre de 2020). «City Data Hub: Implementation of Standard-Based Smart City Data Platform for Interoperability». MDPI sensors 20 (23). doi:10.3390/s20237000. Consultado el 24 de marzo de 2021. 
  3. 1. 2020. pp. 205-212. ISBN 978-989-758-423-7. doi:10.5220/0009422802050212.  Falta el |título= (ayuda)
  4. «NGSI-LD Resources». oascities.org. Open Agile Smart Cities. 11 de diciembre de 2019. Consultado el 24 de marzo de 2021. 
  5. López-Morales, Juan Antonio; Martinez, Juan Antonio; Skarmeta, Antonio F. (24 de enero de 2020). «Digital Transformation of Agriculture through the Use of an Interoperable Platform». MDPI sensors 20 (4). doi:10.3390/s20041153. Consultado el 24 de marzo de 2021. 
  6. . 24th Conference of Open Innovations Association (FRUCT). April 2019. doi:10.23919/FRUCT.2019.8711888. 
  7. Cirillo, Flavio; Solmaz, Gürkan; Berz, Everton Luís; Bauer, Martin; Cheng, Bin; Kovacs, Ernö (September 2019). «A Standard-Based Open Source IoT Platform: FIWARE». IEEE IoT Magazine 2 (3). arXiv:2005.02788. doi:10.1109/IOTM.0001.1800022. Consultado el 24 de marzo de 2021. 
  8. (en inglés). Internet of Things Show. . 2021-02-26. 
  9. "EU 2016 rolling plan fo ICT standardisation"
  10. "EU 2021 rolling plan for ICT Standardisation"
  11. "A survey of context modelling and reasoning techniques"
  12. . 2010. doi:10.1109/ICIN.2010.5640931.  Falta el |título= (ayuda)
  13. a b José Manuel Cantera Fonseca, Fermín Galán Márquez, Tobias Jacobs. «FIWARE-NGSI v2 Specification». FIWARE. Consultado el 27 de marzo de 2021. 
  14. "The Property Graph Database Model"
  15. a b c NGSI-LD information model specification
  16. NGSI-LD API specification
  17. https://github.com/Fiware
  18. https://www.fiware.org
  19. Living-eu technical commitments
  20. https://www.living-in.eu/declaration/we-signed
  21. https://www.living-in.eu/supporters
  22. Detti, Andrea; Tropea, Giuseppe; Rossi, Giulio; Martinez, Juan A.; Skarmeta, Antonio F.; Nakazato, Hidenori (2019). «Virtual IoT Systems: Boosting IoT Innovation by Decoupling Things Providers and Applications Developers». 2019 Global IoT Summit (GIoTS) (Aarhus, Denmark: IEEE): 1-6. ISBN 978-1-7281-2171-0. doi:10.1109/GIOTS.2019.8766422. 
  23. «FIWARE and IUDX Announce the Formation of the International Data Exchange Alliance». 17 de enero de 2022. Consultado el 5-9-22. 
  24. https://www.fiware.org
  25. «NEC Scorpio NGSI-LD Context Broker promoted to full Generic Enabler of FIWARE for context management». Heidelberg: NEC Laboratories Europe. 18 de diciembre de 2020. Consultado el 24 de marzo de 2021.