SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
0
JSON-LD and NGSI-LD
Jason Fox
Senior Technical Evangelist
FIWARE Foundation
FIWARE in a nutshell
● REST done right
● Standard mapping of HTTP verbs and status codes
● JSON payloads plus some additional structure rules
● Registrations to augment context
● Publish/Subscribe mechanism for asynchronous
processing
1
FIWARE is an open-source initiative defining a universal set of
standards for context data management which facilitate the
development of smart solutions.
Data/API
Management
Publication
Monetization
Core Context Management
(Context Broker)
Context
Processing, Analysis, Visualization
Interface to IoT, Robotics and
Third Party Systems
Deployment
Tools
Development of
Context-aware
Applications
(STH-Comet, Cygnus,
QuantumLeap, Draco)
Connection to IoT
(IoT Agents, OpenMTC)
Real-time processing of
context events
(Perseo)
Handling
authorization and
access control to APIs
(Keyrock, Wilma,
AuthZForce, APInf )
Publication and
Monetization of
Context Information
(CKAN extensions, Data/API
Biz Framework, IDRA)
Creation of
Application Dashboards
(Wirecloud)
Real-time Processing of
media streams
(Kurento, OpenVidu)
Connection to Robots
(FIROS, Fast DDS,Micro XRCE-DDS)
Big Data
Context Analysis
(Cosmos)
Cloud Edge
(FogFlow)
Documents
Exchange
(Domibus)
NGSI Context Broker
Implementations
(Orion, Orion-LD,
Scorpio, Stellio)
Connection to
External Systems
(Oliot)
NGSI v2 already exists, why bother with NGSI-LD?
I like the idea of:
▪ No vendor lock-in
▪ Adding an interoperability layer between processes and the real world
▪ Flexible architectures
• Powered by FIWARE Solutions
• FIWARE Ready Devices
• FIWARE Ready Enablers
• etc.
I’ve already gained those advantages, so what comes next?
3
My data is useful to me, but is more powerful shared with
others
… but what about Conway's law?
Any organization that designs a system (defined broadly) will produce a design whose
structure is a copy of the organization's communication structure.
— Melvin E. Conway
… how can I share data and benefit from other organizations if their
organization “communicates” differently?
4
Illustrative FIWARE Examples
Car Parking
5
Cross-border Tourism
Linked Data: JSON to JSON-LD
From: https://json-ld.org/
▪ JSON-LD is a lightweight Linked Data format. It is easy for humans to read and write. It is
based on the already successful JSON format and provides a way to help JSON data
interoperate at Web-scale.
▪ Linked Data empowers people that publish and use information on the Web. It is a way to
create a network of standards-based, machine-readable data across Web sites. It allows an
application to start at one piece of Linked Data and follow embedded links to other pieces of
Linked Data that are hosted on different sites across the Web.
6
{
"@context": "https://json-ld.org/contexts/person.jsonld",
"@id": "http://dbpedia.org/resource/John_Lennon",
"name": "John Lennon",
"born": "1940-10-09",
"spouse": "http://dbpedia.org/resource/Cynthia_Lennon"
}
7
Harpreet Singh, the Blockchain in Smart Cities Expert
8
Harpreet Singh, the Blockchain in Smart Cities Expert
9
URL: https://www.linkedin.com/in/singhhp1069/
Linked Data: NGSI v2 to NGSI-LD
From: https://fiware-datamodels.readthedocs.io/en/latest/ngsi-ld_faq/index.html
▪ NGSI-LD is an evolution of the FIWARE NGSI v2 information model, and has been updated/improved to
support linked data (entity relationships), property graphs and semantics (exploiting the capabilities
offered by JSON-LD). This work has been conducted under the ETSI ISG Context Information
Management initiative.
▪ Creating proper machine-readable Linked Data is fundamental to NGSI-LD.
▪ NGSI-LD Payloads are valid JSON-LD
10
{
"@context": [
"https://fiware.github.io/data-models/context.jsonld",
"https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld"
],
"id": "http://dbpedia.org/resource/John_Lennon",
"type": "Person",
"name": {"type": "Property", "value": "John Lennon"},
"born": {"type": "Property", "value": "1940-10-09"},
"spouse": {"type": "Relationship", "object": "http://dbpedia.org/resource/Cynthia_Lennon" }
}
NGSI-LD Properties: Creating an Entity
NGSI v2
11
NGSI-LD
curl -iX POST 'http://localhost:1026/v2/entities' 
-H 'Content-Type: application/json' 
-d '{
"type": "Store", "id": "store001",
"category": { "type": "Array", "value": ["commercial"]},
"address": { "type": "PostalAddress", "value": {
"streetAddress": "Bornholmer Straße 65",
"addressRegion": "Berlin",
"addressLocality": "Prenzlauer Berg",
"postalCode": "10439"
},
"metadata": {
"verified": { "type": "Boolean","value": true}
}
},
"location": {"type": "geo:json",
"value": {"type": "Point", "coordinates": [13.3986, 52.5547]}
},
"name": {"type": "Text", "value": "Bösebrücke Einkauf"}
}'
curl -iX POST http://localhost:1026/ngsi-ld/v1/entities 
-H 'Content-Type: application/ld+json' 
-d '{
"type": "Building", "id": "urn:ngsi-ld:Building:store001",
"category": { "type": "Property", "value": ["commercial"]},
"address": { "type": "Property"," value": {
"streetAddress": "Bornholmer Straße 65",
"addressRegion": "Berlin",
"addressLocality": "Prenzlauer Berg",
"postalCode": "10439"
},
"verified": { "type": "Property", "value": true }
},
"location": { "type": "GeoProperty",
"value": { "type": "Point", "coordinates": [13.3986, 52.5547]}
},
"name": { "type": "Property", "value": "Bösebrücke Einkauf" },
"@context": [
"https://fiware.github.io/data-models/context.jsonld",
"https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld"
]
}'
NGSI-LD Properties: Data Model
NGSI v2
▪ Entities
▪ Attributes
▪ MetaData
12
NGSI-LD
▪ Entities
▪ Properties
▪ Relationships
▪ Values
plus …
plus …
etc...
The NGSI LD data model is more
complex; the definitions of use are
more rigid which lead to a
navigable knowledge graph.
▪ Properties of Properties
▪ Properties of Relationships
▪ Relationships of Properties
▪ Relationships of Relationships
. ▪ Properties of Properties of Properties
▪ Relationships of Properties of Properties
▪ Properties of Properties of Relationships
▪ Relationships of Properties of Relationships
▪ Properties of Relationships of Properties
▪ Relationships of Relationships of Properties
▪ Properties of Relationships of Relationships
▪ Relationships of Relationships of Relationships
NGSI-LD Properties: Data Model
13
The Entity Example Notes
Has an id urn:ngsi-ld:Building:store001 URI/URN. id must be unique.
Has a type. https://uri.fiware.org/ns/
data-models#Building
● Fully qualified URI of a well defined data model
● Short-hand strings for types, mapped to fully qualified URIs through the JSON-LD
@context.
Has a series of properties name, address, category etc. This can be expanded into http://schema.org/address, which is
known as a fully qualified name (FQN).
Has a series of
properties-of-properties
a verified field for the address This is the equivalent of NGSI v2 metadata
Has a series of relationships managedBy The object corresponds to the URI/URN of another data entity.
Equivalent of NGSI v2 refXXX
Has a series of
properties-of-relationships
managedBy.since Holds additional information about a relationship.
This is the equivalent of metadata about a refXXX property
Has a series of
relationships-of-relationships
managedBy.subordinateTo holds the URI/URN of another relationship.
NGSI-LD Properties: Reading Entity Data
NGSI-LD
▪ Response is just a JSON payload plus an @context
▪ @context can be passed either in the Link header
or the payload body:
▪ Accept: application/ld+json to include
the @context as a JSON attribute
▪ Accept: application/json returns plain old
JSON objects - @context is passed as a Link header
▪ Just a minute what has happened to category?
14
curl -G -X GET 
'http://localhost:1026/ngsi-ld/v1/entities' 
-H 'Link: <https://fiware.github.io/data-models/context.jsonld>;
rel="http://www.w3.org/ns/json-ld#context";
type="application/ld+json"' 
-H 'Accept: application/ld+json' 
-d 'type=Building' 
-d 'options=keyValues'
[
{
"@context": "https://fiware.github.io/data-models/context.jsonld",
"id": "urn:ngsi-ld:Building:store001", "type": "Building",
"address": {
"streetAddress": "Bornholmer Straße 65",
"addressRegion": "Berlin",
"addressLocality": "Prenzlauer Berg",
"postalCode": "10439"
},
"name": "Bösebrücke Einkauf",
"category": [
"https://uri.fiware.org/ns/data-models#commercial"
],
"location": {
"type": "Point", "coordinates": [13.3986, 52.5547]
}
}
]
NGSI-LD Properties: What to call a location?
▪ location
▪ locatedAt
▪ geocoordinate
▪ geocoordinates
▪ place
▪ ubicación
▪ standort
▪ 置き場所
15
With NGSI-LD core @context a location is always
https://uri.etsi.org/ngsi-ld/location
NGSI-LD core @context
"@context": {
"ngsi-ld": "https://uri.etsi.org/ngsi-ld/",
"id": "@id",
"type": "@type",
"value": "https://uri.etsi.org/ngsi-ld/hasValue",
"object": {
"@id": "https://uri.etsi.org/ngsi-ld/hasObject",
"@type": "@id"
},
"Property": "https://uri.etsi.org/ngsi-ld/Property"
"Relationship": "https://uri.etsi.org/ngsi-ld/Relationship",
... etc.
"unitCode": "https://uri.etsi.org/ngsi-ld/unitCode",
"location": "https://uri.etsi.org/ngsi-ld/location",
... etc.
}
NGSI-LD Properties: @vocab and Enumerated Values
▪ An “address” is:
https://schema.org/address
▪ A “category” is:
https://uri.fiware.org/ns/data-models#category
▪ A category is an enum which takes a
set of values such as:
https://uri.fiware.org/ns/data-models#commercial
https://uri.fiware.org/ns/data-models#office
https://uri.fiware.org/ns/data-models#retail
https://uri.fiware.org/ns/data-models#residential
enum is in progress.
16
FIWARE Data Models @context
"@context": {
"type": "@type",
"id": "@id",
"schema": "https://schema.org/",
"fiware": "https://uri.fiware.org/ns/data-models#",
... etc.
"address": "schema:address",
"category": {
"@id" :"fiware:category",
"@type": "@vocab"
},
"commercial": "fiware:commercial",
"office": "fiware:office",
"retail": "fiware:retail",
"residential": "fiware:residential",
... etc.
}
With NGSI-LD Data Models, attributes and enums are well-defined in a computer-readable fashion
Useful links
JSON-LD
▪ Website: https://json-ld.org/
▪ Linked Data Video: https://www.youtube.com/watch?v=vioCbTo3C-4
▪ JSON-LD Video: https://www.youtube.com/watch?v=4x_xzT5eF5Q
NGSI-LD
▪ ETSI Specification:
https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/01.03.01_60/gs_cim009v010301p.pdf
▪ NGSI-LD Video: https://www.youtube.com/watch?v=rZ13IyLpAtA
▪ Tutorials: https://ngsi-ld-tutorials.readthedocs.io/
Smart Data Models
▪ Website: http://smartdatamodels.org/
▪ Smart Cities Data Models Video: https://www.youtube.com/watch?v=dfMo0HnaIUQ
17
Thank you!
http://fiware.org
Follow @FIWARE on Twitter

Contenu connexe

Similaire à JSON-LD and NGSI-LD

Web of things introduction
Web of things introductionWeb of things introduction
Web of things introduction承翰 蔡
 
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2FIWARE
 
Towards Interoperability between W3C Web of Things and NGSI-LD
Towards Interoperability between W3C Web of Things and NGSI-LDTowards Interoperability between W3C Web of Things and NGSI-LD
Towards Interoperability between W3C Web of Things and NGSI-LDJosé Manuel Cantera Fonseca
 
The LOD Gateway: Open Source Infrastructure for Linked Data
The LOD Gateway: Open Source Infrastructure for Linked DataThe LOD Gateway: Open Source Infrastructure for Linked Data
The LOD Gateway: Open Source Infrastructure for Linked DataDavid Newbury
 
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...FIWARE
 
FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE
 
FIWARE Training: Connecting to Legacy Systems, IoT and other Systems
FIWARE Training: Connecting to Legacy Systems, IoT and other SystemsFIWARE Training: Connecting to Legacy Systems, IoT and other Systems
FIWARE Training: Connecting to Legacy Systems, IoT and other SystemsFIWARE
 
Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2kriszyp
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesPaul Fremantle
 
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...FIWARE
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDBBrian Ritchie
 
Orion contextbroker ngs-iv2-overview-for-developers-that-already-know-ngsiv1-...
Orion contextbroker ngs-iv2-overview-for-developers-that-already-know-ngsiv1-...Orion contextbroker ngs-iv2-overview-for-developers-that-already-know-ngsiv1-...
Orion contextbroker ngs-iv2-overview-for-developers-that-already-know-ngsiv1-...Fermin Galan
 
NGSIv2 Overview for Developers That Already Know NGSIv1 20180928
NGSIv2 Overview for Developers That Already Know NGSIv1 20180928NGSIv2 Overview for Developers That Already Know NGSIv1 20180928
NGSIv2 Overview for Developers That Already Know NGSIv1 20180928Fermin Galan
 
ngsiv2-overview-for-developers-that-already-know-ngsiv1-20190214
ngsiv2-overview-for-developers-that-already-know-ngsiv1-20190214ngsiv2-overview-for-developers-that-already-know-ngsiv1-20190214
ngsiv2-overview-for-developers-that-already-know-ngsiv1-20190214Fermin Galan
 
Introduction to Linked Data and Web Payments
Introduction to Linked Data and Web Payments Introduction to Linked Data and Web Payments
Introduction to Linked Data and Web Payments Brent Shambaugh
 
NGSIv2 Overview for Developers That Already Know NGSIv1 20181218
NGSIv2 Overview for Developers That Already Know NGSIv1 20181218NGSIv2 Overview for Developers That Already Know NGSIv1 20181218
NGSIv2 Overview for Developers That Already Know NGSIv1 20181218Fermin Galan
 

Similaire à JSON-LD and NGSI-LD (20)

Web of things introduction
Web of things introductionWeb of things introduction
Web of things introduction
 
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
 
Towards Interoperability between W3C Web of Things and NGSI-LD
Towards Interoperability between W3C Web of Things and NGSI-LDTowards Interoperability between W3C Web of Things and NGSI-LD
Towards Interoperability between W3C Web of Things and NGSI-LD
 
The LOD Gateway: Open Source Infrastructure for Linked Data
The LOD Gateway: Open Source Infrastructure for Linked DataThe LOD Gateway: Open Source Infrastructure for Linked Data
The LOD Gateway: Open Source Infrastructure for Linked Data
 
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
 
FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy
 
FIWARE Training: Connecting to Legacy Systems, IoT and other Systems
FIWARE Training: Connecting to Legacy Systems, IoT and other SystemsFIWARE Training: Connecting to Legacy Systems, IoT and other Systems
FIWARE Training: Connecting to Legacy Systems, IoT and other Systems
 
Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2Java Script Based Client Server Webapps 2
Java Script Based Client Server Webapps 2
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and Lies
 
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
 
DBpedia mobile
DBpedia mobileDBpedia mobile
DBpedia mobile
 
Enabling Citizen-empowered Apps over Linked Data
Enabling Citizen-empowered Apps over Linked DataEnabling Citizen-empowered Apps over Linked Data
Enabling Citizen-empowered Apps over Linked Data
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDB
 
Unit 2
Unit 2Unit 2
Unit 2
 
Orion contextbroker ngs-iv2-overview-for-developers-that-already-know-ngsiv1-...
Orion contextbroker ngs-iv2-overview-for-developers-that-already-know-ngsiv1-...Orion contextbroker ngs-iv2-overview-for-developers-that-already-know-ngsiv1-...
Orion contextbroker ngs-iv2-overview-for-developers-that-already-know-ngsiv1-...
 
NGSIv2 Overview for Developers That Already Know NGSIv1 20180928
NGSIv2 Overview for Developers That Already Know NGSIv1 20180928NGSIv2 Overview for Developers That Already Know NGSIv1 20180928
NGSIv2 Overview for Developers That Already Know NGSIv1 20180928
 
ngsiv2-overview-for-developers-that-already-know-ngsiv1-20190214
ngsiv2-overview-for-developers-that-already-know-ngsiv1-20190214ngsiv2-overview-for-developers-that-already-know-ngsiv1-20190214
ngsiv2-overview-for-developers-that-already-know-ngsiv1-20190214
 
Introduction to Linked Data and Web Payments
Introduction to Linked Data and Web Payments Introduction to Linked Data and Web Payments
Introduction to Linked Data and Web Payments
 
NGSIv2 Overview for Developers That Already Know NGSIv1 20181218
NGSIv2 Overview for Developers That Already Know NGSIv1 20181218NGSIv2 Overview for Developers That Already Know NGSIv1 20181218
NGSIv2 Overview for Developers That Already Know NGSIv1 20181218
 
Linked Data to Improve the OER Experience
Linked Data to Improve the OER ExperienceLinked Data to Improve the OER Experience
Linked Data to Improve the OER Experience
 

Plus de FIWARE

Behm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptxBehm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptxFIWARE
 
Katharina Hogrebe Herne Digital Days.pdf
 Katharina Hogrebe Herne Digital Days.pdf Katharina Hogrebe Herne Digital Days.pdf
Katharina Hogrebe Herne Digital Days.pdfFIWARE
 
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptxChristoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptxFIWARE
 
Behm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptxBehm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptxFIWARE
 
Evangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptxEvangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptxFIWARE
 
Lukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptxLukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptxFIWARE
 
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptxPierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptxFIWARE
 
Dennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptxDennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptxFIWARE
 
Ulrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptxUlrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptxFIWARE
 
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptxAleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptxFIWARE
 
Water Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdfWater Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdfFIWARE
 
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptxCameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptxFIWARE
 
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptxFiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptxFIWARE
 
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptxBoris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptxFIWARE
 
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....FIWARE
 
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdfAbdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdfFIWARE
 
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdfFGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdfFIWARE
 
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptxHTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptxFIWARE
 
WE_LoRaWAN _ IoT.pptx
WE_LoRaWAN  _ IoT.pptxWE_LoRaWAN  _ IoT.pptx
WE_LoRaWAN _ IoT.pptxFIWARE
 
EU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptxEU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptxFIWARE
 

Plus de FIWARE (20)

Behm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptxBehm_Herne_NeMo_akt.pptx
Behm_Herne_NeMo_akt.pptx
 
Katharina Hogrebe Herne Digital Days.pdf
 Katharina Hogrebe Herne Digital Days.pdf Katharina Hogrebe Herne Digital Days.pdf
Katharina Hogrebe Herne Digital Days.pdf
 
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptxChristoph Mertens_IDSA_Introduction to Data Spaces.pptx
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
 
Behm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptxBehm_Herne_NeMo.pptx
Behm_Herne_NeMo.pptx
 
Evangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptxEvangelists + iHubs Promo Slides.pptx
Evangelists + iHubs Promo Slides.pptx
 
Lukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptxLukas Künzel Smart City Operating System.pptx
Lukas Künzel Smart City Operating System.pptx
 
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptxPierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
 
Dennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptxDennis Wendland_The i4Trust Collaboration Programme.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptx
 
Ulrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptxUlrich Ahle_FIWARE.pptx
Ulrich Ahle_FIWARE.pptx
 
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptxAleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
 
Water Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdfWater Quality - Lukas Kuenzel.pdf
Water Quality - Lukas Kuenzel.pdf
 
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptxCameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
 
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptxFiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
 
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptxBoris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
 
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
 
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdfAbdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
 
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdfFGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
 
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptxHTAG_Skalierung_Plattform_lokal_final_versand.pptx
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
 
WE_LoRaWAN _ IoT.pptx
WE_LoRaWAN  _ IoT.pptxWE_LoRaWAN  _ IoT.pptx
WE_LoRaWAN _ IoT.pptx
 
EU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptxEU Opp_Clara Pezuela - German chapter.pptx
EU Opp_Clara Pezuela - German chapter.pptx
 

Dernier

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

JSON-LD and NGSI-LD

  • 1. 0 JSON-LD and NGSI-LD Jason Fox Senior Technical Evangelist FIWARE Foundation
  • 2. FIWARE in a nutshell ● REST done right ● Standard mapping of HTTP verbs and status codes ● JSON payloads plus some additional structure rules ● Registrations to augment context ● Publish/Subscribe mechanism for asynchronous processing 1 FIWARE is an open-source initiative defining a universal set of standards for context data management which facilitate the development of smart solutions.
  • 3. Data/API Management Publication Monetization Core Context Management (Context Broker) Context Processing, Analysis, Visualization Interface to IoT, Robotics and Third Party Systems Deployment Tools Development of Context-aware Applications (STH-Comet, Cygnus, QuantumLeap, Draco) Connection to IoT (IoT Agents, OpenMTC) Real-time processing of context events (Perseo) Handling authorization and access control to APIs (Keyrock, Wilma, AuthZForce, APInf ) Publication and Monetization of Context Information (CKAN extensions, Data/API Biz Framework, IDRA) Creation of Application Dashboards (Wirecloud) Real-time Processing of media streams (Kurento, OpenVidu) Connection to Robots (FIROS, Fast DDS,Micro XRCE-DDS) Big Data Context Analysis (Cosmos) Cloud Edge (FogFlow) Documents Exchange (Domibus) NGSI Context Broker Implementations (Orion, Orion-LD, Scorpio, Stellio) Connection to External Systems (Oliot)
  • 4. NGSI v2 already exists, why bother with NGSI-LD? I like the idea of: ▪ No vendor lock-in ▪ Adding an interoperability layer between processes and the real world ▪ Flexible architectures • Powered by FIWARE Solutions • FIWARE Ready Devices • FIWARE Ready Enablers • etc. I’ve already gained those advantages, so what comes next? 3
  • 5. My data is useful to me, but is more powerful shared with others … but what about Conway's law? Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. — Melvin E. Conway … how can I share data and benefit from other organizations if their organization “communicates” differently? 4
  • 6. Illustrative FIWARE Examples Car Parking 5 Cross-border Tourism
  • 7. Linked Data: JSON to JSON-LD From: https://json-ld.org/ ▪ JSON-LD is a lightweight Linked Data format. It is easy for humans to read and write. It is based on the already successful JSON format and provides a way to help JSON data interoperate at Web-scale. ▪ Linked Data empowers people that publish and use information on the Web. It is a way to create a network of standards-based, machine-readable data across Web sites. It allows an application to start at one piece of Linked Data and follow embedded links to other pieces of Linked Data that are hosted on different sites across the Web. 6 { "@context": "https://json-ld.org/contexts/person.jsonld", "@id": "http://dbpedia.org/resource/John_Lennon", "name": "John Lennon", "born": "1940-10-09", "spouse": "http://dbpedia.org/resource/Cynthia_Lennon" }
  • 8. 7 Harpreet Singh, the Blockchain in Smart Cities Expert
  • 9. 8 Harpreet Singh, the Blockchain in Smart Cities Expert
  • 11. Linked Data: NGSI v2 to NGSI-LD From: https://fiware-datamodels.readthedocs.io/en/latest/ngsi-ld_faq/index.html ▪ NGSI-LD is an evolution of the FIWARE NGSI v2 information model, and has been updated/improved to support linked data (entity relationships), property graphs and semantics (exploiting the capabilities offered by JSON-LD). This work has been conducted under the ETSI ISG Context Information Management initiative. ▪ Creating proper machine-readable Linked Data is fundamental to NGSI-LD. ▪ NGSI-LD Payloads are valid JSON-LD 10 { "@context": [ "https://fiware.github.io/data-models/context.jsonld", "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" ], "id": "http://dbpedia.org/resource/John_Lennon", "type": "Person", "name": {"type": "Property", "value": "John Lennon"}, "born": {"type": "Property", "value": "1940-10-09"}, "spouse": {"type": "Relationship", "object": "http://dbpedia.org/resource/Cynthia_Lennon" } }
  • 12. NGSI-LD Properties: Creating an Entity NGSI v2 11 NGSI-LD curl -iX POST 'http://localhost:1026/v2/entities' -H 'Content-Type: application/json' -d '{ "type": "Store", "id": "store001", "category": { "type": "Array", "value": ["commercial"]}, "address": { "type": "PostalAddress", "value": { "streetAddress": "Bornholmer Straße 65", "addressRegion": "Berlin", "addressLocality": "Prenzlauer Berg", "postalCode": "10439" }, "metadata": { "verified": { "type": "Boolean","value": true} } }, "location": {"type": "geo:json", "value": {"type": "Point", "coordinates": [13.3986, 52.5547]} }, "name": {"type": "Text", "value": "Bösebrücke Einkauf"} }' curl -iX POST http://localhost:1026/ngsi-ld/v1/entities -H 'Content-Type: application/ld+json' -d '{ "type": "Building", "id": "urn:ngsi-ld:Building:store001", "category": { "type": "Property", "value": ["commercial"]}, "address": { "type": "Property"," value": { "streetAddress": "Bornholmer Straße 65", "addressRegion": "Berlin", "addressLocality": "Prenzlauer Berg", "postalCode": "10439" }, "verified": { "type": "Property", "value": true } }, "location": { "type": "GeoProperty", "value": { "type": "Point", "coordinates": [13.3986, 52.5547]} }, "name": { "type": "Property", "value": "Bösebrücke Einkauf" }, "@context": [ "https://fiware.github.io/data-models/context.jsonld", "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld" ] }'
  • 13. NGSI-LD Properties: Data Model NGSI v2 ▪ Entities ▪ Attributes ▪ MetaData 12 NGSI-LD ▪ Entities ▪ Properties ▪ Relationships ▪ Values plus … plus … etc... The NGSI LD data model is more complex; the definitions of use are more rigid which lead to a navigable knowledge graph. ▪ Properties of Properties ▪ Properties of Relationships ▪ Relationships of Properties ▪ Relationships of Relationships . ▪ Properties of Properties of Properties ▪ Relationships of Properties of Properties ▪ Properties of Properties of Relationships ▪ Relationships of Properties of Relationships ▪ Properties of Relationships of Properties ▪ Relationships of Relationships of Properties ▪ Properties of Relationships of Relationships ▪ Relationships of Relationships of Relationships
  • 14. NGSI-LD Properties: Data Model 13 The Entity Example Notes Has an id urn:ngsi-ld:Building:store001 URI/URN. id must be unique. Has a type. https://uri.fiware.org/ns/ data-models#Building ● Fully qualified URI of a well defined data model ● Short-hand strings for types, mapped to fully qualified URIs through the JSON-LD @context. Has a series of properties name, address, category etc. This can be expanded into http://schema.org/address, which is known as a fully qualified name (FQN). Has a series of properties-of-properties a verified field for the address This is the equivalent of NGSI v2 metadata Has a series of relationships managedBy The object corresponds to the URI/URN of another data entity. Equivalent of NGSI v2 refXXX Has a series of properties-of-relationships managedBy.since Holds additional information about a relationship. This is the equivalent of metadata about a refXXX property Has a series of relationships-of-relationships managedBy.subordinateTo holds the URI/URN of another relationship.
  • 15. NGSI-LD Properties: Reading Entity Data NGSI-LD ▪ Response is just a JSON payload plus an @context ▪ @context can be passed either in the Link header or the payload body: ▪ Accept: application/ld+json to include the @context as a JSON attribute ▪ Accept: application/json returns plain old JSON objects - @context is passed as a Link header ▪ Just a minute what has happened to category? 14 curl -G -X GET 'http://localhost:1026/ngsi-ld/v1/entities' -H 'Link: <https://fiware.github.io/data-models/context.jsonld>; rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"' -H 'Accept: application/ld+json' -d 'type=Building' -d 'options=keyValues' [ { "@context": "https://fiware.github.io/data-models/context.jsonld", "id": "urn:ngsi-ld:Building:store001", "type": "Building", "address": { "streetAddress": "Bornholmer Straße 65", "addressRegion": "Berlin", "addressLocality": "Prenzlauer Berg", "postalCode": "10439" }, "name": "Bösebrücke Einkauf", "category": [ "https://uri.fiware.org/ns/data-models#commercial" ], "location": { "type": "Point", "coordinates": [13.3986, 52.5547] } } ]
  • 16. NGSI-LD Properties: What to call a location? ▪ location ▪ locatedAt ▪ geocoordinate ▪ geocoordinates ▪ place ▪ ubicación ▪ standort ▪ 置き場所 15 With NGSI-LD core @context a location is always https://uri.etsi.org/ngsi-ld/location NGSI-LD core @context "@context": { "ngsi-ld": "https://uri.etsi.org/ngsi-ld/", "id": "@id", "type": "@type", "value": "https://uri.etsi.org/ngsi-ld/hasValue", "object": { "@id": "https://uri.etsi.org/ngsi-ld/hasObject", "@type": "@id" }, "Property": "https://uri.etsi.org/ngsi-ld/Property" "Relationship": "https://uri.etsi.org/ngsi-ld/Relationship", ... etc. "unitCode": "https://uri.etsi.org/ngsi-ld/unitCode", "location": "https://uri.etsi.org/ngsi-ld/location", ... etc. }
  • 17. NGSI-LD Properties: @vocab and Enumerated Values ▪ An “address” is: https://schema.org/address ▪ A “category” is: https://uri.fiware.org/ns/data-models#category ▪ A category is an enum which takes a set of values such as: https://uri.fiware.org/ns/data-models#commercial https://uri.fiware.org/ns/data-models#office https://uri.fiware.org/ns/data-models#retail https://uri.fiware.org/ns/data-models#residential enum is in progress. 16 FIWARE Data Models @context "@context": { "type": "@type", "id": "@id", "schema": "https://schema.org/", "fiware": "https://uri.fiware.org/ns/data-models#", ... etc. "address": "schema:address", "category": { "@id" :"fiware:category", "@type": "@vocab" }, "commercial": "fiware:commercial", "office": "fiware:office", "retail": "fiware:retail", "residential": "fiware:residential", ... etc. } With NGSI-LD Data Models, attributes and enums are well-defined in a computer-readable fashion
  • 18. Useful links JSON-LD ▪ Website: https://json-ld.org/ ▪ Linked Data Video: https://www.youtube.com/watch?v=vioCbTo3C-4 ▪ JSON-LD Video: https://www.youtube.com/watch?v=4x_xzT5eF5Q NGSI-LD ▪ ETSI Specification: https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/01.03.01_60/gs_cim009v010301p.pdf ▪ NGSI-LD Video: https://www.youtube.com/watch?v=rZ13IyLpAtA ▪ Tutorials: https://ngsi-ld-tutorials.readthedocs.io/ Smart Data Models ▪ Website: http://smartdatamodels.org/ ▪ Smart Cities Data Models Video: https://www.youtube.com/watch?v=dfMo0HnaIUQ 17