Commit 6062c574 authored by Marco Cavalli's avatar Marco Cavalli
Browse files

fix: retrofit anthoine's changes from the docx

parent 09c04d80
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# 1 Scope

The present document defines a standardized API for context information
management (NGSI-LD API) enabling close to real-time (right-time) access to
management (NGSI-LD API), enabling close to real-time (right-time) access to
context information/digital twins coming from many different sources (not only
IoT data sources). The present document defines how such an API enables
applications to perform updates on context, register context sources which can
+45 −45
Original line number Diff line number Diff line
@@ -28,53 +28,53 @@ present document.
<!-- prettier-ignore-start -->

::: REFS
[n.1] [IETF RFC 3987](https://www.rfc-editor.org/info/rfc3987): "Internationalized Resource Identifiers (IRIs)".
[n.1] -[IETF RFC 3987](https://www.rfc-editor.org/info/rfc3987): "Internationalized Resource Identifiers (IRIs)".

[n.2] The Unicode Consortium: "[Unicode<sup>®</sup> 15.0.0](https://www.unicode.org/versions/Unicode15.0.0/)".
[n.2] -The Unicode Consortium: "[Unicode<sup>®</sup> 15.0.0](https://www.unicode.org/versions/Unicode15.0.0/)".

[n.3] [IETF RFC 8259](https://www.rfc-editor.org/info/rfc8259): "The JavaScript Object Notation (JSON) Data Interchange Format".
[n.3] -[IETF RFC 8259](https://www.rfc-editor.org/info/rfc8259): "The JavaScript Object Notation (JSON) Data Interchange Format".

[n.4] [IETF RFC 7946](https://www.rfc-editor.org/info/rfc7946): "The GeoJSON Format".
[n.4] -[IETF RFC 7946](https://www.rfc-editor.org/info/rfc7946): "The GeoJSON Format".

[n.5] [ISO 8601: 2019](https://www.iso.org/advanced-search/x/title/status/P/docNumber/8601/docPartNo/docType/0/langCode/ics/currentStage/true/searchAbstract/true/stage/stageDateStart/stageDateEnd/committee/sdg): "Date and time --- Representations for information interchange".
[n.5] -[ISO 8601: 2019](https://www.iso.org/advanced-search/x/title/status/P/docNumber/8601/docPartNo/docType/0/langCode/ics/currentStage/true/searchAbstract/true/stage/stageDateStart/stageDateEnd/committee/sdg): "Date and time --- Representations for information interchange".

[n.6] [IETF RFC 7807](https://www.rfc-editor.org/info/rfc7807): "Problem Details for HTTP APIs".
[n.6] -[IETF RFC 7807](https://www.rfc-editor.org/info/rfc7807): "Problem Details for HTTP APIs".

[n.7] W3C<sup>®</sup> Recommendation 25 February 2014: "[RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts)".
[n.7] -W3C<sup>®</sup> Recommendation 25 February 2014: "[RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts)".

[n.8] W3C<sup>®</sup> Recommendation 16 July 2020: "[JSON-LD 1.1 - A JSON-based Serialization for Linked Data](http://www.w3.org/TR/json-ld/)".
[n.8] -W3C<sup>®</sup> Recommendation 16 July 2020: "[JSON-LD 1.1 - A JSON-based Serialization for Linked Data](http://www.w3.org/TR/json-ld/)".

[n.9] ETSI TS 104 179: "Data Solutions (DATA); NGSI-LD Provenance and Integrity".
[n.9] -ETSI TS 104 179: "Data Solutions (DATA); NGSI-LD Provenance and Integrity".

[n.10] [Codes for Units of Measure used in International Trade Revision 9](http://www.unece.org/fileadmin/DAM/cefact/recommendations/rec20/rec20_Rev9e_2014.xls).
[n.10] -[Codes for Units of Measure used in International Trade Revision 9](http://www.unece.org/fileadmin/DAM/cefact/recommendations/rec20/rec20_Rev9e_2014.xls).

[n.11] [IETF RFC 5646](https://www.rfc-editor.org/info/rfc5646): "Tags for Identifying Languages".
[n.11] -[IETF RFC 5646](https://www.rfc-editor.org/info/rfc5646): "Tags for Identifying Languages".

[n.12] [IETF RFC 7230](https://www.rfc-editor.org/info/rfc7230): "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing".
[n.12] -[IETF RFC 7230](https://www.rfc-editor.org/info/rfc7230): "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing".

[n.13] [IEEE 1003.2™-1992](https://standards.ieee.org/ieee/1003.2/1408/): "IEEE Standard for Information Technology - Portable Operating System Interfaces (POSIX™) - Part 2: Shell and Utilities".
[n.13] -[IEEE 1003.2™-1992](https://standards.ieee.org/ieee/1003.2/1408/): "IEEE Standard for Information Technology - Portable Operating System Interfaces (POSIX™) - Part 2: Shell and Utilities".

[n.14] [IETF RFC 7240](https://www.rfc-editor.org/info/rfc7240): "Prefer Header for HTTP".
[n.14] -[IETF RFC 7240](https://www.rfc-editor.org/info/rfc7240): "Prefer Header for HTTP".

[n.15] [IETF RFC 6067](https://www.rfc-editor.org/info/rfc6067): "BCP 47 Extension U".
[n.15] -[IETF RFC 6067](https://www.rfc-editor.org/info/rfc6067): "BCP 47 Extension U".

[n.16] [IETF RFC 5234](https://www.rfc-editor.org/info/rfc5234): "Augmented BNF for Syntax Specifications: ABNF".
[n.16] -[IETF RFC 5234](https://www.rfc-editor.org/info/rfc5234): "Augmented BNF for Syntax Specifications: ABNF".

[n.17] [IETF RFC 7396](https://www.rfc-editor.org/info/rfc7396): "JSON Merge Patch".
[n.17] -[IETF RFC 7396](https://www.rfc-editor.org/info/rfc7396): "JSON Merge Patch".

[n.18] [IETF RFC 3986](https://www.rfc-editor.org/info/rfc3986): "Uniform Resource Identifier (URI): Generic Syntax".
[n.18] -[IETF RFC 3986](https://www.rfc-editor.org/info/rfc3986): "Uniform Resource Identifier (URI): Generic Syntax".

[n.19] [ECMA-262 Specification](https://www.ecma-international.org/publications-and-standards/standards/ecma-262/): "ECMAScript<sup>®</sup> 2022 language specification".
[n.19] -[ECMA-262 Specification](https://www.ecma-international.org/publications-and-standards/standards/ecma-262/): "ECMAScript<sup>®</sup> 2022 language specification".

[n.20] [Unicode<sup>®</sup> Technical Standard #10](http://unicode.org/reports/tr10/): "Unicode Collation Algorithm".
[n.20] -[Unicode<sup>®</sup> Technical Standard #10](http://unicode.org/reports/tr10/): "Unicode Collation Algorithm".

[n.21] [Open Geospatial Consortium Inc. OGC 06-103r4](https://portal.opengeospatial.org/files/?artifact_id=25355): "OpenGIS<sup>®</sup> Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture".
[n.21] -[Open Geospatial Consortium Inc. OGC 06-103r4](https://portal.opengeospatial.org/files/?artifact_id=25355): "OpenGIS<sup>®</sup> Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture".

[n.22] [IETF RFC 3282](https://www.rfc-editor.org/info/rfc3282): "Content Language Headers".
[n.22] -[IETF RFC 3282](https://www.rfc-editor.org/info/rfc3282): "Content Language Headers".

[n.23] [IETF RFC 8141](https://www.rfc-editor.org/info/rfc8141): "Uniform Resource Names (URNs)".
[n.23] -[IETF RFC 8141](https://www.rfc-editor.org/info/rfc8141): "Uniform Resource Names (URNs)".

[n.24] ETSI TS 104 243: "Data Solutions (DATA); NGSI-LD MQTT Notification Binding".
[n.24] -ETSI TS 104 243: "Data Solutions (DATA); NGSI-LD MQTT Notification Binding".
:::

<!-- prettier-ignore-end -->
@@ -104,47 +104,47 @@ conformance to the present document.
<!-- prettier-ignore-start -->

::: REFS
[i.1] [ngsild.org](https://ngsild.org/ngsi-ld-status.pdf): "Overview of status of NGSI-LD".
[i.1] -[ngsild.org](https://ngsild.org/ngsi-ld-status.pdf): "Overview of status of NGSI-LD".

[i.2] [OMA-TS-NGSI_Context_Management-V1_0-20120529-A](http://www.openmobilealliance.org/release/NGSI/V1_0-20120529-A/OMA-TS-NGSI_Context_Management-V1_0-20120529-A.pdf): "NGSI Context Management".
[i.2] -[OMA-TS-NGSI_Context_Management-V1_0-20120529-A](http://www.openmobilealliance.org/release/NGSI/V1_0-20120529-A/OMA-TS-NGSI_Context_Management-V1_0-20120529-A.pdf): "NGSI Context Management".

[i.3] [FIWARE<sup>®</sup>-NGSI v2 Specification](http://fiware.github.io/specifications/ngsiv2/sle/).
[i.3] -[FIWARE<sup>®</sup>-NGSI v2 Specification](http://fiware.github.io/specifications/ngsiv2/sle/).

[i.4] [ETSI GR CIM 002 (V1.1.1)](https://www.etsi.org/deliver/etsi_gr/CIM/001_099/002/01.01.01_60/gr_CIM002v010101p.pdf): "Context Information Management (CIM); Use Cases (UC)".
[i.4] -[ETSI GR CIM 002 (V1.1.1)](https://www.etsi.org/deliver/etsi_gr/CIM/001_099/002/01.01.01_60/gr_CIM002v010101p.pdf): "Context Information Management (CIM); Use Cases (UC)".

[i.5] [ETSI GR CIM 007](https://www.etsi.org/deliver/etsi_gr/CIM/001_099/007/): "Context Information Management (CIM); Security and Privacy".
[i.5] -[ETSI GR CIM 007](https://www.etsi.org/deliver/etsi_gr/CIM/001_099/007/): "Context Information Management (CIM); Security and Privacy".

[i.6] ETSI TS 104 178: "Data Solutions (DATA); NGSI-LD Information Model".
[i.6] -ETSI TS 104 178: "Data Solutions (DATA); NGSI-LD Information Model".

[i.7] [ETSI GS CIM 009 (V1.9.1)](https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/01.09.01_60/gs_cim009v010901p.pdf): "Context Information Management (CIM); NGSI-LD API".
[i.7] -[ETSI GS CIM 009 (V1.9.1)](https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/01.09.01_60/gs_cim009v010901p.pdf): "Context Information Management (CIM); NGSI-LD API".

[i.8] [ETSI GS CIM 004 (V1.1.2)](https://www.etsi.org/deliver/etsi_gs/CIM/001_099/004/01.01.02_60/gs_cim004v010102p.pdf): "Context Information Management (CIM); Application Programming Interface (API)".
[i.8] -[ETSI GS CIM 004 (V1.1.2)](https://www.etsi.org/deliver/etsi_gs/CIM/001_099/004/01.01.02_60/gs_cim004v010102p.pdf): "Context Information Management (CIM); Application Programming Interface (API)".

[i.9] Graph Databases: "New Opportunities for Connected Data". O'Reilly 2<sup>nd</sup> Edition. Webber, Robinson, et al. ISBN:1491930896 9781491930892.
[i.9] -Graph Databases: "New Opportunities for Connected Data". O'Reilly 2<sup>nd</sup> Edition. Webber, Robinson, et al. ISBN:1491930896 9781491930892.

[i.10] [ETSI TS 103 264 (V4.1.1)](https://www.etsi.org/deliver/etsi_ts/103200_103299/103264/04.01.01_60/ts_103264v040101p.pdf): "SmartM2M; Smart Applications; Reference Ontology and oneM2M Mapping".
[i.10] -[ETSI TS 103 264 (V4.1.1)](https://www.etsi.org/deliver/etsi_ts/103200_103299/103264/04.01.01_60/ts_103264v040101p.pdf): "SmartM2M; Smart Applications; Reference Ontology and oneM2M Mapping".

[i.11] W3C<sup>®</sup> Recommendation 25 February 2014: "[RDF Schema 1.1](https://www.w3.org/TR/2014/REC-rdf-schema-20140225/)".
[i.11] -W3C<sup>®</sup> Recommendation 25 February 2014: "[RDF Schema 1.1](https://www.w3.org/TR/2014/REC-rdf-schema-20140225/)".

[i.12] W3C<sup>®</sup> Recommendation 16 July 2020: "[JSON-LD 1.1 - A JSON-based Serialization for Linked Data](http://www.w3.org/TR/json-ld/)".
[i.12] -W3C<sup>®</sup> Recommendation 16 July 2020: "[JSON-LD 1.1 - A JSON-based Serialization for Linked Data](http://www.w3.org/TR/json-ld/)".

[i.13] [GeoJSON-LD 1.0](http://geojson.org/geojson-ld/). Base context for processing GeoJSON according to the JSON-LD processing model.
[i.13] -[GeoJSON-LD 1.0](http://geojson.org/geojson-ld/). Base context for processing GeoJSON according to the JSON-LD processing model.

[i.14] [JSON Schema Validation: A Vocabulary for Structural Validation of JSON](https://json-schema.org/draft/2020-12/json-schema-validation.html).
[i.14] -[JSON Schema Validation: A Vocabulary for Structural Validation of JSON](https://json-schema.org/draft/2020-12/json-schema-validation.html).

[i.15] [NGSI-LD JSON Schemas](https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/tree/master/schema).
[i.15] -[NGSI-LD JSON Schemas](https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/tree/master/schema).

[i.16] ETSI TS 104 176: "Data Solutions (DATA); NGSI-LD API Bindings".
[i.16] -ETSI TS 104 176: "Data Solutions (DATA); NGSI-LD API Bindings".

[i.17] [Regulation (EU) 2016/679](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32016R0679) of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation).
[i.17] -[Regulation (EU) 2016/679](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32016R0679) of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation).

[i.18] [IETF RFC 6902](https://www.rfc-editor.org/info/rfc6902): "JavaScript Object Notation (JSON) Patch".
[i.18] -[IETF RFC 6902](https://www.rfc-editor.org/info/rfc6902): "JavaScript Object Notation (JSON) Patch".

[i.19] [JSON-LD Playground](https://json-ld.org/playground/): "Experimentation tool for JSON-LD".
[i.19] -[JSON-LD Playground](https://json-ld.org/playground/): "Experimentation tool for JSON-LD".

[i.20] [NGSI-LD Examples](https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/tree/master/examples).
[i.20] -[NGSI-LD Examples](https://forge.etsi.org/rep/NGSI-LD/NGSI-LD/tree/master/examples).

[i.21] [IoT Agent Library](https://github.com/telefonicaid/iotagent-node-lib).
[i.21] -[IoT Agent Library](https://github.com/telefonicaid/iotagent-node-lib).
:::

<!-- prettier-ignore-end -->
+10 −10
Original line number Diff line number Diff line
@@ -149,7 +149,7 @@ proper URI.

>>> [!tip] EXAMPLE 2:

Bob's private car whose plate number is ["ABCD1234"]{.HTML-Code} is an [NGSI-LD
Bob's private car, whose plate number is ["ABCD1234"]{.HTML-Code}, is an [NGSI-LD
Entity]{.HTML-Keyboard} whose [NGSI-LD Entity]{.HTML-Keyboard} Type name is ["Vehicle".]{.HTML-Code}

>>>
@@ -261,13 +261,13 @@ a URI)
**NGSI-LD ListProperty:** description instance which associates an ordered array
of main characteristics, i.e. **NGSI-LD Values**, to either an [NGSI-LD
Entity]{.HTML-Keyboard}, an [NGSI-LD Relationship]{.HTML-Keyboard} or another
[NGSI-LD Property]{.HTML-Keyboard} and that uses the special _`hasValueList`_
[NGSI-LD Property]{.HTML-Keyboard}, and that uses the special _`hasValueList`_
property to define its target value

**NGSI-LD ListRelationship:** description of an ordered array of directed links
between a subject which is either an [NGSI-LD Entity]{.HTML-Keyboard}, an
between a subject, which is either an [NGSI-LD Entity]{.HTML-Keyboard}, an
[NGSI-LD Property]{.HTML-Keyboard} or another [NGSI-LD
Relationship]{.HTML-Keyboard} on one hand, and a series of objects, which are
Relationship]{.HTML-Keyboard}, on one hand, and a series of objects, which are
[NGSI-LD Entities]{.HTML-Keyboard}, on the other hand, and which uses the
special _`hasObjectList`_ property to define its target objects

@@ -335,8 +335,8 @@ CSRs, and operations for subscribing to CSRs and receiving notifications

**NGSI-LD Relationship:** description of a directed link between a subject which
is either an [NGSI-LD Entity]{.HTML-Keyboard}, an [NGSI-LD
Property]{.HTML-Keyboard} or another [NGSI-LD Relationship]{.HTML-Keyboard} on
one hand, and an object, or unordered array of objects, each of which is an
Property]{.HTML-Keyboard} or another [NGSI-LD Relationship]{.HTML-Keyboard}, on
one hand, and an object, or an unordered array of objects, each of which is an
[NGSI-LD Entity]{.HTML-Keyboard}, on the other hand, and which uses the special
_`hasObject`_ property to define its target object

@@ -406,9 +406,9 @@ Bob's private car 'speed' NGSI-LD Value is the number 100 (kilometres per hour).

<!-- prettier-ignore-end -->

**NGSI-LD VocabProperty:** subclass of [NGSI-LD Property]{.HTML-Keyboard} which
is a description instance which associates a string value which can be coerced
to a URI as a defined main characteristic to an [NGSI-LD
**NGSI-LD VocabProperty:** subclass of [NGSI-LD Property]{.HTML-Keyboard}, which
is a description instance which associates a string value, which can be coerced
to a URI, as a defined main characteristic to an [NGSI-LD
Entity]{.HTML-Keyboard}, an [NGSI-LD Relationship]{.HTML-Keyboard} or another
[NGSI-LD Property]{.HTML-Keyboard} and that uses the special _`hasVocab`_ (a
subproperty of _`hasValue`_) property to define its target value
@@ -421,7 +421,7 @@ subproperty of _`hasValue`_) property to define its target value
VocabProperty]{.HTML-Keyboard} whose name is ["category"]{.HTML-Code} which holds the
string value ["non-commercial"]{.HTML-Code}. If the associated JSON-LD context defines
the term ["non-commercial" ]{.HTML-Code} as ["http://example.com/non-commercial"]{.HTML-Code},
then the returned value shall be expanded using JSON-LD type coercion into the URI the
then the returned value shall be expanded using JSON-LD type coercion into the URI 
["http://example.com/non-commercial"]{.HTML-Code}.

>>>
+40 −40

File changed.

Preview size limit exceeded, changes collapsed.

+223 −223

File changed.

Preview size limit exceeded, changes collapsed.