NGSI-LD

NGSI-LD 是用於發布、查詢和訂閱語境資訊的數據模型和應用程式接口(API)。在不同利益相關者之間，NGSI-LD旨在促進結構化資訊的公開交換和共享。當前NGSI-LD已用於智能城市、智能工業、智能農業等應用領域，更普遍地在物聯網、網宇實體系統、系統體系和數字映射領域中被廣泛使用。

根據歐洲聯盟委員會的要求，NGSI-LD 是由歐洲電信標準協會(ETSI)通過工業規範組:語境資訊管理(ISG CIM) 實施的標準化。歐盟的「資訊及通信技術標準化滾動計劃」詳細說明了它的應用和進一步發展。NGSI-LD 建立在已有數十年歷史的研究語料庫的語境管理框架和語境建模方面之上。首字母縮略詞 NGSI 代表「下一代服務接口」，這是一套最初由 OMA 發布的包括語境接口的規範，此規範後被歐洲未來網際網路公私合作 (PPP) 採納並演變為 NGSIv2，並在隨後催生了 FIWARE 開源社區。

NGSI-LD 資訊模型將語境資訊表示為實體，實體與實體之間通過屬性和關係描述。這個描述來源於屬性圖，模型中的語義在RDF 和語義網絡框架的基礎上被正式定義。它可以使用 JSON-LD 進行序列化。每個實體和關係都被賦予一個唯一的國際化資源標識符(IRI)，從而使相應的數據可以作為鍵連資料數據集導出。-LD 後綴表示這種從屬關係屬於鍵連資料領域。

## 設計

### 資訊模型

NGSI-LD 資訊模型可以被視為基於屬性圖的第一個正式標準組織的規範，屬性圖模型自2000年代初就作為圖資料庫中非正式模型出現。

核心概念是：

- 屬性圖是一個有向多重圖，由通過有向連結連接的節點（頂點）組成，其中節點和弧都可以有多個可選的附加屬性。
- 屬性（類似於對象模型中的屬性）具有任意鍵值對的形式。鍵是字串，值是任意數據類型。與 RDF 圖相反，屬性不是圖的弧。
- 關係是圖的弧（有向邊），它總是有一個標識符、一個開始節點和一個結束節點。

基於RDF/RDFS/OWL的概念和部分JSON-LD的定義， NGSI-LD 元模型定義了這些基本概念（實體、關係、屬性）。

- NGSI-LD 實體是在對 NGSI-LD 的計算平台之外存在於現實世界中的某物（所指對象）的資訊代表。這個所指對象不必是嚴格物理的（它可以是法律或行政實體），也不必是獨立的（它可以是分布式系統級構念）。這種實體的任何實例都應該由 IRI 唯一標識，並通過引用一個或多個 NGSI-LD 實體類型來表徵。在屬性圖語言中，它是一個節點。
- NGSI-LD 屬性是一個將特性和NGSI-LD 值與 NGSI-LD 實體、NGSI-LD 關係或另一個 NGSI-LD 屬性相關聯的實例。屬性的屬性是明確允許並鼓勵的，例如用於表示特定測量值的準確度。
- NGSI-LD 關係是主體（起點）（可能是 NGSI-LD 實體、NGSI-LD 屬性或其他 NGSI-LD 關係）與客體（終點）即NGSI-LD 實體之間的有向連結。例如，從屬性到實體的 NGSI-LD 關係可用於表示屬性是由該實體測量的（測量來源）。
- NGSI-LD 值是 JSON 值（即字串、數字、布爾、對象、陣列）或 JSON-LD 類型值（即用詞法形式的字串作為類型以及值的表徵，由 XSD 基本類型或更一般的 IRI 定義），或 JSON-LD 結構化值（即集合、列表或語言標記字串）。
- NGSI-LD 類型是一個 OWL 類，它是 NGSI-LD 元模型中定義的 NGSI-LD 實體、NGSI-LD 關係、NGSI-LD 屬性或 NGSI-LD 值類的子類。NGSI-LD 預定義了少量類型，但對使用者定義的任何類型都是開放的。

作為該元模型的補充，NGSI-LD 資訊模型規範還提供了一個跨域本體，該本體定義了與實體的空間、時間或系統組成特徵相關的特性。

### 架構

NGSI-LD 規範由資訊模型和 API 組成。API 提供了支持以下系統架構角色的功能。

<image>

- 語境消耗者(Context Consumer)：語境消耗者使用 NGSI-LD API 的語境資訊消耗功能從語境代理（或可能直接從語境源）獲取NGSI-LD 實體資訊。它可以檢索特定的 NGSI-LD 實體或使用同步請求查詢相關的 NGSI -LD 實體。它還可以訂閱相關的 NGSI-LD 實體並在請求的 NGSI-LD 實體發生變化時接收異步通知。
- 語境製造者(Context Producer)：語境製造者使用 NGSI-LD API 的語境資訊提供在語境代理中創建、更新和刪除 NGSI-LD 實體、NGSI-LD 屬性和 NGSI-LD 關係的功能。
- 語境源(Context Source)：語境源通過 NGSI-LD API 的語境資訊消耗功能使 NGSI-LD 實體可用。為了使語境代理可以發現資訊，它使用 NGSI-LD API 的語境源註冊功能註冊可以向註冊伺服器提供的語境資訊類型。
- 語境代理(Context Broker)：語境代理充當語境消耗者對語境資訊的主要訪問點。在語境製造者使用 NGSI-LD API 的語境資訊提供功能提供了實體資訊的情況下，或者在代理使用NGSI-LD API 的語境資訊消耗功能從語境源請求NGSI-LD 實體資訊的情況下，NGSI-LD 本體資訊可以由語境代理本身存儲。語境代理聚合與請求相關的所有 NGSI-LD 實體資訊，並將聚合結果返回給語境消耗者。在訂閱的情況下，只要實體資訊有相關更改，語境代理就會發送通知，這可以是從語境源接收通知的結果。為了查找可能具有與語境消耗者請求相關的 NGSI-LD 實體的語境源，語境代理使用註冊伺服器實現NGSI-LD API 的語境源發現功能。
- 註冊伺服器(Registry Server)：註冊伺服器使用 NGSI-LD API 的語境源註冊功能存儲語境源提供的語境源註冊。語境源註冊包含有關語境源可以提供什麼類型的語境資訊的資訊，但不包含實際值。語境資訊的種類可以在不同的粒度級別上提供，範圍從非常詳細的資訊（例如特定 NGSI-LD 實體的某些屬性或關係），到特定 NGSI-LD 實體的任何資訊，或到具有特定實體類型的 NGSI-LD 實體的級別，比如適用於制定的地理區域的實體。NGSI-LD API 的語境源發現功能允許語境代理（或可能是語境消耗者）找到可能具有相關 NGSI-LD 實體的語境源。

系統架構的角色允許實現不同的部署架構。在集中式架構中，有一個中央語境代理來存儲語境製造者提供的語境資訊。在分布式設置中，所有語境資訊都可以由語境源存儲。在聯合式架構中，語境源可以是聚合來自較低層次架構可用資訊的語境代理。這些架構不是相互排斥的，即實際部署可能會以不同的方式組合它們。

### 應用程式接口 (API)

NGSI-LD 語境資訊管理 API 允許用戶在多個場景和涉及多個利益相關者的情況下提供、消耗和訂閱語境資訊。它可以近乎實時地訪問來自許多不同來源（不僅是物聯數據源）的資訊，稱為語境源，並通過可互操作的數據發布平台發布該資訊。

它提供先進的基於地理和時間的查詢，並包括訂閱機制，以便在某些指定內容可用時通知內容消耗者。

API 被設計為與系統架構（中央式、分布式、聯合式或它們的組合）無關，因此生成和使用資訊的應用程式不必針對為其分發/代理語境資訊的系統的細節進行定製。

API 操作包括：

- 語境資訊操作：提供（創建 NGSI-LD 實體，並更新它們的屬性）、消耗（查詢 NGSI-LD 實體）和訂閱（在指定的條件下訂閱特定信息，以便在匹配特定信息實體出現時得到通知）。
- 語境源操作：註冊（通過註冊在整個分布式系統中提供新的語境資訊源）和發現（查詢系統已註冊的語境源，獲得指定類型的資訊）。

## 用途

NGSI-LD 由 FIWARE 項目的合作夥伴發起，主要由 FIWARE 開源社區使用，由 FIWARE 基金會 以及各種其他項目和使用者提供支持，例如：

- Connecting Europe Facility 推薦將 FIWARE 語境代理與 NGSI-LD 結合使用。
- Open and Agile Smart Cities Organisation將 NGSI-LD 規範作為其最小互操作性機制的第一個參考。
- Living-in.eu 項目在其聯合聲明和技術承諾中推薦使用 NGSI-LD。該宣言已得到歐盟 86 個城市和公共行政部門 的認可和簽署，並得到更多公司和組織的支持。
- GSMA的「物聯網大數據框架架構」是基於NGSI-LD。
- Fed4IoT EU 項目中，NGSI-LD的數據格式被用於在各種物聯網數據轉換的中間格式。
- Orange 的 Thing'in 基於圖的數字映射平台使用 NGSI-LD 作為其核心資訊模型。

## 在開源軟體項目中的實現

- 來自 FIWARE 基金會的 Orion-LD
- 來自NEC的 Scorpio
- 來自 EGM 的 Stellio
- 來自 Geonet 的 Cassiopeia

## 歷史

NGSI-LD 是語境接口演變的結果，該接口作為開放移動聯盟 (OMA) 於 2012 年發布的「下一代服務接口」(NGSI) 套件的一部分而開始，這也是首字母縮略詞 NGSI 的來源。NGSI 套件包括 NGSI-9 的語境實體發現接口和 NGSI-10的語境資訊接口。OMA 的 NGSI 標準及其中間演變依賴於經典的實體-屬性-值模型和基於 XML 的表示。NGSI 語境接口由 FI-WARE 項目改編，該項目為歐洲未來網際網路公私合作 (PPP) 開發了平台。OMA NGSI 語境接口獲得了帶有 JSON 表示的 HTTP 綁定，稱為 NGSIv1，其中包括 NGSI-9 和 NGSI-10。在 FI-PPP 的過程中，NGASIv1接口進一步演變為 NGSIv2，成為 FIWARE 平台的關鍵接口。2016年FI-PPP結束後，FIWARE平台成為FIWARE基金會管理的FIWARE開源社區的核心。2017 年，ETSI 跨領域境資訊管理工業規範組 (ETSI ISG CIM) 成立，來發展語境資訊接口，從而創建了 NGSI-LD。原始資訊模型的局限性導致了從屬性圖派生的更廣泛模型的規範，明確包括實體之間的關係，與實體本身相當。

## 外部連結

- ETSI CIM group home page
- NGSI-LD Primer (oriented towards the use of the API)
- NGSI-LD modelling guidelines White Paper

## 基本資料

- 頭銜：NGSI-LD - A graph-based context information model and API
- 狀態：ETSI Group Specification
- 開始年：2017
- 作者：ISG CIM (Industry Specification Group) of ETSI
- 基礎標準：RDF, RDFS, OWL, JSON, JSON-LD, HTTP, URI
- 領域：Information model, Linked Data, Semantic Web
- 網站： CIM group page @ETSI
- 組織：歐洲電信標準協會