SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Session 11 - Data modeling with NGSI, NGSI-LD
Fernando LĂłpez, Cloud & Platform Senior Expert
fernando.lopez@fiware.org
@flopezaguilar
FIWARE Foundation, e.V.
Learning Goals
1
● What is a Information Model?
● Which types of representation of Information Model are used in FIWARE?
● What are the differents between NGSIv2 and NGSI-LD?
● Where can I get details about Data Models in use?
Information Model -
2
Attributes
‱ Name
‱ Type
‱ Value
Entity
‱ EntityId
‱ EntityType
1 n
“has”
Metadata
‱ Name
‱ Type
‱ Value1 n
“has”
OMA NGSI Information Model
Information Model (as UML) -
3
Property Graph
Information Model
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.
4
{
"@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"
}
Linked Data: NGSIv2 to NGSI-LD
From: https://fiware-datamodels.readthedocs.io/en/latest/ngsi-ld_faq/index.html
â–Ș NGSI-LD is an evolution of the FIWARE NGSIv2 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
5
{
"@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" }
}
Classical JSON Representation (a.k.a. NGSIv2). )
6
{
"id": "urn:ngsi-ld:OffStreetParking:Downtown1",
"type": "OffStreetParking",
"availableSpotNumber": {
"type": "Property", "value": 121,
"metadata" : {
"timestamp": {
"type" : "DateTime”, "value" : "2017-07-29T12:00:04Z"
},
"reliability": {
"type" : "Property", "value" : 0.7
},
"providedBy": {
"type" : "Relationship", "value" : "urn:ngsi-ld:Camera:C1"
}
}
},
"location": {
"type": "geo:json",
"value": {
"type": "Point", "coordinates": [-8.5, 41.2]
}
}
}
JSON-LD (RDF friendly) representation (a.k.a. NGSI-LD )
7
{
"id": "urn:ngsi-ld:OffStreetParking:Downtown1",
"type": "OffStreetParking",
"availableSpotNumber": {
"type": "Property", "value": 121,
"observedAt": "2017-07-29T12:05:02Z",
"reliability": {
"type": "Property", "value": 0.7
},
"providedBy": {
"type": "Relationship", "object": "urn:ngsi-ld:Camera:C1"
}
},
"location": {
"type": "GeoProperty",
"value": {
"type": "Point", "coordinates": [-8.5, 41.2]
}
},
"@context": [
"https://uri.etsi.org/ngsi-ld/v1/",
"https://schema.lab.fiware.org/ld/context/"
]
}
Simplified representation (Key:Value)
8
{
"id": "urn:ngsi-ld:OffStreetParking:Downtown1",
"type": "OffStreetParking",
"name": "Downtown One",
"availableSpotNumber": 121,
"totalSpotNumber": 200,
"location": {
"type": "Point",
"coordinates": [-8.5, 41.2]
},
"@context": [
"https://uri.etsi.org/ngsi-ld/v1/",
"https://schema.lab.fiware.org/ld/context/"
]
}
Equivalent in
NGSI-LD and
NGSIv2
NGSI-LD: Evolution not Revolution
NGSI v2
â–Ș Well defined REST API for context data
using JSON payloads.
GET, POST and other HTTP verbs do
the things you expect
â–Ș CRUD operations -
/v2/entities endpoint
â–Ș Augment your context data -
/v2/registrations endpoint
â–Ș Push context data to other services -
/v2/subscriptions endpoint
9
NGSI-LD
â–Ș Well defined REST API for context data
using JSON and JSON-LD payloads.
GET, POST and other HTTP verbs do the
things you expect
â–Ș CRUD operations - /ngsi-
ld/v1/entities endpoint
â–Ș Augment your context data - /ngsi-
ld/v1/registrations endpoint
â–Ș Push context data to other services - /ngsi-
ld/v1/subscriptions endpoint
NGSI-LD Properties: Creating an Entity
NGSI v2
10
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: 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 - I
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: Data Model - II
14
The Properties Example Notes
Have a value "BösebrĂŒcke Einkauf”
[13.3986, 52.5547]
12
"2017-07-29T12:01:32Z"
An NGSI value could be:
● Single value (Number, String, boolean, DateTime).
● Null is not allowed in NGSI-LD and not recommended.
● Complex (Array, Structured Value)
NGSI-LD Properties: Data Model – III
15
Cross-domain Example Notes
Might has a location "location": {"type": "geo:json",
"value": {"type": "Point", "coordinates": [13.3986, 52.5547]}
},
Geospatial location, encoded as GeoJSON.
Might has an observedAt "observedAt": "2017-07-29T12:05:02Z" Observation timestamp, encoded as ISO8601,
timestamp in NGSIv2 (Optional).
Might has a createdAt ”createdAt": "2017-07-29T12:05:02Z", Creation timestamp (of entity, attribute), dateCreated in
NGSIv2 (System generated).
Might has a modifiedAt ”modifiedAt": "2017-07-29T12:05:02Z", Update timestamp (of entity, attribute), dateModified in
NGSIv2 (System generated).
Might has a unitCode A94 (g/mol)
E01 (N/cmÂČ)
MBR (mbar)
Units of measurement, encoded as mandated by
UN/CEFACT.
Note: The UN/CEFACT Common Code C62 stands for
"no unit".
FIWARE Data Models
â–Ș Landing page: https://schema.fiware.org
â–Ș Open source project that has developed multiple data models
‱ https://github.com/FIWARE/dataModels
‱ Mainly for the Smart City domain but also some for the Smart Agrifood domain
‱ Specifications are crafted using markdown + JSON Schema
‱ Example Weather observed data model
□ https://github.com/Fiware/dataModels/blob/master/specs/Weather/WeatherObserved/doc/spec.md
□ https://fiware.github.io/dataModels/specs/Weather/WeatherObserved/schema.json
â–Ș Data Models Guidelines (how to develop new Data Models)
‱ https://github.com/Fiware/dataModels/blob/master/specs/guidelines.md
‱ Pull Request – Review Lifecycle.
16
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?
17
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
â–Ș çœźăć Žæ‰€
18
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
19
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
NGSI-LD Relationships: Traversing Edge Nodes
From: https://www.w3.org/TR/json-ld/#dfn-graph
A JSON-LD document serializes a dataset which is a collection of graphs
A graph is a labeled directed graph, i.e., a set of nodes connected by edges.
In NGSI-LD:
â–Ș Node = NGSI Entity
â–Ș Edge = A relationship attribute linking two NGSI Entities
Therefore NGSI Linked Data relies on three separate definitions:
1. A definition that a particular attribute within an NGSI entity really represents a link
2. A machine readable definition of that link in the Data Model (i.e. the @context)
3. A machine readable definition of the set of all types of links available (the @graph)
20
Creating proper machine-readable Linked Data is fundamental to NGSI-LD.
NGSI-LD Relationships: 1. Creating Entities
Relationship Links within an NGSI Entity are formally defined using:
"type": "Relationship" OR "@type": "https://uri.etsi.org/ngsi-ld/Relationship"
The attribute of the linked entity is an object rather than a value
21
curl -X POST 
http://localhost:1026/ngsi-ld/v1/entities/urn:ngsi-ld:Shelf:unit001/attrs 
-H 'Content-Type: application/ld+json' 
-H 'fiware-servicepath: /' 
-d '{
"stocks": { "type": "Relationship","object": "urn:ngsi-ld:Product:001"},
"numberOfItems": {"type": "Property","value": 50},
"locatedIn" : {
"type": "Relationship", "object": "urn:ngsi-ld:Building:store001",
"requestedBy": {"type": "Relationship","object": "urn:ngsi-ld:Person:bob-the-manager"},
"installedBy": {"type": "Relationship","object": "urn:ngsi-ld:Person:employee001"},
"statusOfWork": {"type": "Property","value": "completed"}
},
"@context": "https://fiware.github.io/tutorials.Step-by-Step/tutorials-context.jsonld"
}'
NGSI-LD Relationships: 2. Machine Readable Data Models
Relationship links within the @context are formally defined using: "@type": "@id"
22
FIWARE Data Models @context
"@context": {
"tutorial": "https://fiware.github.io/tutorials.Step-by-Step/schema/",
"Product": "tutorial:Product",
"Shelf": "tutorial:Shelf",
...etc
"installedBy": {
"@id": "tutorial:installedBy",
"@type": "@id"
},
"requestedBy": {
"@id": "tutorial:requestedBy",
"@type": "@id"
},
...etc
NGSI-LD Relationships: 3. Machine Readable Links
23
FIWARE Data Models @graph
"@graph": [
{
"@id": "tutorial:Product",
"@type": "rdfs:Class",
"rdfs:comment": [
{"@language": "en", "@value": "Product is sold in a Store."},
{"@language": "ja", "@value": "èŁœć“ăŻă‚čトケでèČ©ćŁČă•ă‚ŒăŠă„ă‚‹ç‰©"}],
"rdfs:label": [{"@language": "en", "@value": "Product"}, {"@language": "ja", "@value": "èŁœć“"}],
"rdfs:subClassOf": {"@id": "http://schema.org/Thing"}
},

 etc
{
"@id": "tutorial:requestedBy",
"@type": "https://uri.etsi.org/ngsi-ld/Relationship",
"schema:domainIncludes": [{"@id": "tutorial:Shelf"}, {"@id": "tutorial:StockOrder"}],
"schema:rangeIncludes": [{"@id": "schema:Person"}],
"rdfs:comment": [
{"@language": "en","@value": "Object requested by person."},
{"@language": "ja","@value": "äșșăŒèŠæ±‚ă—ăŸă‚Șブゾェクト"}],
"rdfs:label": [{"@language": "en", "@value": "requested by"},{"@language": "ja", "@value": "芁求者"}]
},
]
Context Data as Linked Data - How does it help?
Linking Disparate Data
Sources
â–Ș Which crimes in which area are
not related to Jack?
â–Ș Does Jack only deal in
Cannabis?
â–Ș How is Jack related to
Raymond?
â–Ș Which other police officers
should Inspector Devy contact?
24
Context Data as Linked Data - How does it help?
25
Rich Text Snippets
Standard schema.org/Product data model
marked up as JSON-LD on the web. Interpreted by
third parties. Search Engine can display product rating
on screen. System “knows” if a product is out of stock.
NGSI-LD Supermarket Tutorial
Third party ARV could “know” when a shelf needs filling and
retrieve goods from the warehouse.
No need to reprogram for new customers if data follows the
fiware.org/ns/data-models, or the JSON-LD can be
converted to do so.
Summary: Terms
26
● JSON, JavaScript Object Notation is an open-standard file format that uses human-readable text to
transmit data objects consisting of attribute–value pairs and array data types.
● JSON-LD, JSON-LD, is a method of encoding Linked Data using JSON.
● NGSIv2, version 2 of the Open Mobile Alliance (OMA) Next Generation Service Interfaces (NGSI).
● NGSI-LD, the ETSI definition of a standard API for Context Information Management based in Linked
Data.
● UN/CEFACT is the United Nations Centre for Trade Facilitation and Electronic Business.
Summary: Terms
27
● ISO8691, Data elements and interchange formats – Information interchange – Representation of
dates and times is an international standard covering the exchange of date- and time-related data.
● GeoJSON is an open standard format designed for representing simple geographical features, along
with their non-spatial attributes. It is based on the JavaScript Object Notatio
● FQN, a fully qualified name (FQN) is an unambiguous name that specifies which object, function, or
variable a call refers to without regard to the context of the call.
● URI is a string of characters that unambiguously identifies a particular resource.
● URN is a URI that uses the urn scheme.
Common UN/CEFACT values
28
UN/CEFACT
Common
Code
Unit of
Measurement
28 kg/mÂČ
2N dB
4H ”m
4K mA
4P N/m
A24 cd/mÂČ
A86 GHz
A94 g/mol
B22 kA
B32 kg ‱ m2
B43 kJ/(kg.K)
B49 k℩
B61 lm/W
BAR bar
C16 mm/s
UN/CEFACT
Common
Code
Unit of
Measurement
C24 mPa.s
C26 ms
C45 nm
C62 1
C65 Pa.s
C91 1/K
C94 min-1
CDL cd
CEL °C
CMQ cmÂł
CMT cm
D33 T
D52 W/K
D74 kg/mol
DAY d
UN/CEFACT
Common
Code
Unit of
Measurement
DD °
E01 N/cmÂČ
E32 l/h
FAR F
GM g/mÂČ
GRM g
HTZ Hz
HUR h
KEL K
KGM kg
KGS kg/s
KHZ kHz
KL kg/m
KMQ kg/mÂł
KVT kV
UN/CEFACT
Common
Code
Unit of
Measurement
KWT kW
L2 l/min
LTR l
LUM lm
LUX lx
MBR mbar
MHZ MHz
MIN min
MMK mmÂČ
MMQ mmÂł
MMT mm
MPA MPa
MQH m3/h
MQS mÂł/s
MTK mÂČ
UN/CEFACT
Common
Code
Unit of
Measurement
MTQ mÂł
MTR m
MTS m/s
NEW N
NU N ‱ m
NU N.m
OHM ℩
P1 %
PAL Pa
SEC s
VLT V
WTT W
References
29
● FIWARE Catalogue
o https://www.fiware.org/developers/catalogue
● NGSI-LD FAQ
o https://github.com/FIWARE/dataModels/blob/master/specs/ngsi-ld_faq.md
● NGSI-LD HowTo
o https://github.com/FIWARE/dataModels/blob/master/specs/ngsi-ld_howto.md
References
30
● ETSI NGSI-LD Specification (October 2019)
o https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/01.02.01_60/gs_cim009v010201p.pdf
o https://docbox.etsi.org/isg/cim/open/Presentation_for_WoT_Plenary_Meeting_Lyon__TPAC_.pdf
● FIWARE NGSIv2 Specification
o http://fiware.github.io/specifications/ngsiv2/stable/
Question & Answer
31
fiware-tech-help@lists.fiware.org
3
2
http://fiware.org
Follow @FIWARE on Twitter
3
3

Weitere Àhnliche Inhalte

Was ist angesagt?

FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy
FIWARE
 
FIWARE Training: FIWARE Training: i4Trust Marketplace
FIWARE Training: FIWARE Training: i4Trust MarketplaceFIWARE Training: FIWARE Training: i4Trust Marketplace
FIWARE Training: FIWARE Training: i4Trust Marketplace
FIWARE
 
FIWARE Training: API Umbrella
FIWARE Training: API UmbrellaFIWARE Training: API Umbrella
FIWARE Training: API Umbrella
FIWARE
 

Was ist angesagt? (20)

Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
 
NGSI ă«ă‚ˆă‚‹ăƒ‡ăƒŒă‚żăƒ»ăƒąăƒ‡ăƒȘング - FIWARE WednesdayWebinars
NGSI ă«ă‚ˆă‚‹ăƒ‡ăƒŒă‚żăƒ»ăƒąăƒ‡ăƒȘング - FIWARE WednesdayWebinarsNGSI ă«ă‚ˆă‚‹ăƒ‡ăƒŒă‚żăƒ»ăƒąăƒ‡ăƒȘング - FIWARE WednesdayWebinars
NGSI ă«ă‚ˆă‚‹ăƒ‡ăƒŒă‚żăƒ»ăƒąăƒ‡ăƒȘング - FIWARE WednesdayWebinars
 
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in ProductionKong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
Kong, Keyrock, Keycloak, i4Trust - Options to Secure FIWARE in Production
 
FIWARE Training: IoT and Legacy
FIWARE Training: IoT and LegacyFIWARE Training: IoT and Legacy
FIWARE Training: IoT and Legacy
 
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoCreating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
 
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers ProgramSession 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program
 
FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH CometFIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Comet
 
FIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LDFIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LD
 
FIWARE Global Summit - NGSI-LD: Modelling, Linking and Utilizing Context Info...
FIWARE Global Summit - NGSI-LD: Modelling, Linking and Utilizing Context Info...FIWARE Global Summit - NGSI-LD: Modelling, Linking and Utilizing Context Info...
FIWARE Global Summit - NGSI-LD: Modelling, Linking and Utilizing Context Info...
 
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
 
Session 4 - Bringing the pieces together - Detailed review of a reference ex...
Session 4 -  Bringing the pieces together - Detailed review of a reference ex...Session 4 -  Bringing the pieces together - Detailed review of a reference ex...
Session 4 - Bringing the pieces together - Detailed review of a reference ex...
 
FIWARE Training: NGSI-LD Introduction
FIWARE Training: NGSI-LD IntroductionFIWARE Training: NGSI-LD Introduction
FIWARE Training: NGSI-LD Introduction
 
FIWARE Training: FIWARE Training: i4Trust Marketplace
FIWARE Training: FIWARE Training: i4Trust MarketplaceFIWARE Training: FIWARE Training: i4Trust Marketplace
FIWARE Training: FIWARE Training: i4Trust Marketplace
 
Session 3 - i4Trust components for Identity Management and Access Control i4T...
Session 3 - i4Trust components for Identity Management and Access Control i4T...Session 3 - i4Trust components for Identity Management and Access Control i4T...
Session 3 - i4Trust components for Identity Management and Access Control i4T...
 
Session 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers ProgramSession 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers Program
 
FIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large ScaleFIWARE NGSI: Managing Context Information at Large Scale
FIWARE NGSI: Managing Context Information at Large Scale
 
Orion Context Broker 20220526
Orion Context Broker 20220526Orion Context Broker 20220526
Orion Context Broker 20220526
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and Hydra
 
FIWARE Orion Context Broker コンテキă‚čăƒˆæƒ…ć ±çźĄç† (Orion 3.7.0ćŻŸćżœ)
FIWARE Orion Context Broker コンテキă‚čăƒˆæƒ…ć ±çźĄç† (Orion 3.7.0ćŻŸćżœ)FIWARE Orion Context Broker コンテキă‚čăƒˆæƒ…ć ±çźĄç† (Orion 3.7.0ćŻŸćżœ)
FIWARE Orion Context Broker コンテキă‚čăƒˆæƒ…ć ±çźĄç† (Orion 3.7.0ćŻŸćżœ)
 
FIWARE Training: API Umbrella
FIWARE Training: API UmbrellaFIWARE Training: API Umbrella
FIWARE Training: API Umbrella
 

Ähnlich wie Data Modeling with NGSI, NGSI-LD

Json
JsonJson
Json
soumya
 

Ähnlich wie Data Modeling with NGSI, NGSI-LD (20)

FIWARE Global Summit - Hands-On NGSI-LD
FIWARE Global Summit - Hands-On NGSI-LDFIWARE Global Summit - Hands-On NGSI-LD
FIWARE Global Summit - Hands-On NGSI-LD
 
NGSI-LD Introduction
NGSI-LD IntroductionNGSI-LD Introduction
NGSI-LD Introduction
 
JSON-LD and NGSI-LD
JSON-LD and NGSI-LDJSON-LD and NGSI-LD
JSON-LD and NGSI-LD
 
Searching Relational Data with Elasticsearch
Searching Relational Data with ElasticsearchSearching Relational Data with Elasticsearch
Searching Relational Data with Elasticsearch
 
FIWARE Wednesday Webinars - How to Design DataModels
FIWARE Wednesday Webinars - How to Design DataModelsFIWARE Wednesday Webinars - How to Design DataModels
FIWARE Wednesday Webinars - How to Design DataModels
 
Advanced Json
Advanced JsonAdvanced Json
Advanced Json
 
HyperGraphQL
HyperGraphQLHyperGraphQL
HyperGraphQL
 
Introducing Azure DocumentDB - NoSQL, No Problem
Introducing Azure DocumentDB - NoSQL, No ProblemIntroducing Azure DocumentDB - NoSQL, No Problem
Introducing Azure DocumentDB - NoSQL, No Problem
 
IFLA LIDASIG Open Session 2017: Introduction to Linked Data
IFLA LIDASIG Open Session 2017: Introduction to Linked DataIFLA LIDASIG Open Session 2017: Introduction to Linked Data
IFLA LIDASIG Open Session 2017: Introduction to Linked Data
 
Hands on JSON
Hands on JSONHands on JSON
Hands on JSON
 
Test Trend Analysis : Towards robust, reliable and timely tests
Test Trend Analysis : Towards robust, reliable and timely testsTest Trend Analysis : Towards robust, reliable and timely tests
Test Trend Analysis : Towards robust, reliable and timely tests
 
A Real-World Implementation of Linked Data
A Real-World Implementation of Linked DataA Real-World Implementation of Linked Data
A Real-World Implementation of Linked Data
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know NGSI-v...
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
 
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
Orion Context Broker NGSI-v2 Overview for Developers That Already Know Ngsi-v...
 
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
 
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
 
Json
JsonJson
Json
 
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
Orion Context Broker NGSIv2 Overview for Developers That Already Know NGSIv1 ...
 

Mehr von Fernando Lopez Aguilar

Mehr von Fernando Lopez Aguilar (20)

Introduction to FIWARE technology
Introduction to FIWARE  technologyIntroduction to FIWARE  technology
Introduction to FIWARE technology
 
DW2020 Data Models - FIWARE Platform
DW2020 Data Models - FIWARE PlatformDW2020 Data Models - FIWARE Platform
DW2020 Data Models - FIWARE Platform
 
FIWARE and Smart Data Models
FIWARE and Smart Data ModelsFIWARE and Smart Data Models
FIWARE and Smart Data Models
 
How to deploy a smart city platform?
How to deploy a smart city platform?How to deploy a smart city platform?
How to deploy a smart city platform?
 
Building the Smart City Platform on FIWARE Lab
Building the Smart City Platform on FIWARE LabBuilding the Smart City Platform on FIWARE Lab
Building the Smart City Platform on FIWARE Lab
 
FIWARE and Robotics
FIWARE and RoboticsFIWARE and Robotics
FIWARE and Robotics
 
Big Data and Machine Learning with FIWARE
Big Data and Machine Learning with FIWAREBig Data and Machine Learning with FIWARE
Big Data and Machine Learning with FIWARE
 
Operational Dashboards with FIWARE WireCloud
Operational Dashboards with FIWARE WireCloudOperational Dashboards with FIWARE WireCloud
Operational Dashboards with FIWARE WireCloud
 
FIWARE Identity Management and Access Control
FIWARE Identity Management and Access ControlFIWARE Identity Management and Access Control
FIWARE Identity Management and Access Control
 
Data persistency (draco, cygnus, sth comet, quantum leap)
Data persistency (draco, cygnus, sth comet, quantum leap)Data persistency (draco, cygnus, sth comet, quantum leap)
Data persistency (draco, cygnus, sth comet, quantum leap)
 
How to debug IoT Agents
How to debug IoT AgentsHow to debug IoT Agents
How to debug IoT Agents
 
Core Context Management
Core Context ManagementCore Context Management
Core Context Management
 
What is an IoT Agent
What is an IoT AgentWhat is an IoT Agent
What is an IoT Agent
 
FIWARE Overview
FIWARE OverviewFIWARE Overview
FIWARE Overview
 
Overview of the FIWARE Ecosystem
Overview of the FIWARE EcosystemOverview of the FIWARE Ecosystem
Overview of the FIWARE Ecosystem
 
Cloud and Big Data in the agriculture sector
Cloud and Big Data in the agriculture sectorCloud and Big Data in the agriculture sector
Cloud and Big Data in the agriculture sector
 
Berlin OpenStack Summit'18
Berlin OpenStack Summit'18Berlin OpenStack Summit'18
Berlin OpenStack Summit'18
 
Context Information Management in IoT enabled smart systems - the basics
Context Information Management in IoT enabled smart systems - the basicsContext Information Management in IoT enabled smart systems - the basics
Context Information Management in IoT enabled smart systems - the basics
 
FIWARE IoT Introduction 1
FIWARE IoT Introduction 1FIWARE IoT Introduction 1
FIWARE IoT Introduction 1
 
Introduction to FIWARE IoT
Introduction to FIWARE IoTIntroduction to FIWARE IoT
Introduction to FIWARE IoT
 

KĂŒrzlich hochgeladen

Call Girls Service Chandigarh Lucky ❀ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❀ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❀ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❀ 7710465962 Independent Call Girls In C...
Sheetaleventcompany
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
SUHANI PANDEY
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
sexy call girls service in goa
 
â‚č5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
â‚č5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...â‚č5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
â‚č5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
Diya Sharma
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
singhpriety023
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 đŸ«Š Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 đŸ«Š Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 đŸ«Š Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 đŸ«Š Vanshika Verma More Our Se...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
SUHANI PANDEY
 
Low Sexy Call Girls In Mohali 9053900678 đŸ„”Have Save And Good Place đŸ„”
Low Sexy Call Girls In Mohali 9053900678 đŸ„”Have Save And Good Place đŸ„”Low Sexy Call Girls In Mohali 9053900678 đŸ„”Have Save And Good Place đŸ„”
Low Sexy Call Girls In Mohali 9053900678 đŸ„”Have Save And Good Place đŸ„”
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 

KĂŒrzlich hochgeladen (20)

Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Call Girls Service Chandigarh Lucky ❀ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❀ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❀ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❀ 7710465962 Independent Call Girls In C...
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
â‚č5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
â‚č5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...â‚č5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
â‚č5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >àŒ’8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >àŒ’8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >àŒ’8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >àŒ’8448380779 Escort Service
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 đŸ«Š Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 đŸ«Š Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 đŸ«Š Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 đŸ«Š Vanshika Verma More Our Se...
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Low Sexy Call Girls In Mohali 9053900678 đŸ„”Have Save And Good Place đŸ„”
Low Sexy Call Girls In Mohali 9053900678 đŸ„”Have Save And Good Place đŸ„”Low Sexy Call Girls In Mohali 9053900678 đŸ„”Have Save And Good Place đŸ„”
Low Sexy Call Girls In Mohali 9053900678 đŸ„”Have Save And Good Place đŸ„”
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 

Data Modeling with NGSI, NGSI-LD

  • 1. Session 11 - Data modeling with NGSI, NGSI-LD Fernando LĂłpez, Cloud & Platform Senior Expert fernando.lopez@fiware.org @flopezaguilar FIWARE Foundation, e.V.
  • 2. Learning Goals 1 ● What is a Information Model? ● Which types of representation of Information Model are used in FIWARE? ● What are the differents between NGSIv2 and NGSI-LD? ● Where can I get details about Data Models in use?
  • 3. Information Model - 2 Attributes ‱ Name ‱ Type ‱ Value Entity ‱ EntityId ‱ EntityType 1 n “has” Metadata ‱ Name ‱ Type ‱ Value1 n “has” OMA NGSI Information Model
  • 4. Information Model (as UML) - 3 Property Graph Information Model
  • 5. 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. 4 { "@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" }
  • 6. Linked Data: NGSIv2 to NGSI-LD From: https://fiware-datamodels.readthedocs.io/en/latest/ngsi-ld_faq/index.html â–Ș NGSI-LD is an evolution of the FIWARE NGSIv2 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 5 { "@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" } }
  • 7. Classical JSON Representation (a.k.a. NGSIv2). ) 6 { "id": "urn:ngsi-ld:OffStreetParking:Downtown1", "type": "OffStreetParking", "availableSpotNumber": { "type": "Property", "value": 121, "metadata" : { "timestamp": { "type" : "DateTime”, "value" : "2017-07-29T12:00:04Z" }, "reliability": { "type" : "Property", "value" : 0.7 }, "providedBy": { "type" : "Relationship", "value" : "urn:ngsi-ld:Camera:C1" } } }, "location": { "type": "geo:json", "value": { "type": "Point", "coordinates": [-8.5, 41.2] } } }
  • 8. JSON-LD (RDF friendly) representation (a.k.a. NGSI-LD ) 7 { "id": "urn:ngsi-ld:OffStreetParking:Downtown1", "type": "OffStreetParking", "availableSpotNumber": { "type": "Property", "value": 121, "observedAt": "2017-07-29T12:05:02Z", "reliability": { "type": "Property", "value": 0.7 }, "providedBy": { "type": "Relationship", "object": "urn:ngsi-ld:Camera:C1" } }, "location": { "type": "GeoProperty", "value": { "type": "Point", "coordinates": [-8.5, 41.2] } }, "@context": [ "https://uri.etsi.org/ngsi-ld/v1/", "https://schema.lab.fiware.org/ld/context/" ] }
  • 9. Simplified representation (Key:Value) 8 { "id": "urn:ngsi-ld:OffStreetParking:Downtown1", "type": "OffStreetParking", "name": "Downtown One", "availableSpotNumber": 121, "totalSpotNumber": 200, "location": { "type": "Point", "coordinates": [-8.5, 41.2] }, "@context": [ "https://uri.etsi.org/ngsi-ld/v1/", "https://schema.lab.fiware.org/ld/context/" ] } Equivalent in NGSI-LD and NGSIv2
  • 10. NGSI-LD: Evolution not Revolution NGSI v2 â–Ș Well defined REST API for context data using JSON payloads. GET, POST and other HTTP verbs do the things you expect â–Ș CRUD operations - /v2/entities endpoint â–Ș Augment your context data - /v2/registrations endpoint â–Ș Push context data to other services - /v2/subscriptions endpoint 9 NGSI-LD â–Ș Well defined REST API for context data using JSON and JSON-LD payloads. GET, POST and other HTTP verbs do the things you expect â–Ș CRUD operations - /ngsi- ld/v1/entities endpoint â–Ș Augment your context data - /ngsi- ld/v1/registrations endpoint â–Ș Push context data to other services - /ngsi- ld/v1/subscriptions endpoint
  • 11. NGSI-LD Properties: Creating an Entity NGSI v2 10 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" ] }'
  • 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 - I 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: Data Model - II 14 The Properties Example Notes Have a value "BösebrĂŒcke Einkauf” [13.3986, 52.5547] 12 "2017-07-29T12:01:32Z" An NGSI value could be: ● Single value (Number, String, boolean, DateTime). ● Null is not allowed in NGSI-LD and not recommended. ● Complex (Array, Structured Value)
  • 16. NGSI-LD Properties: Data Model – III 15 Cross-domain Example Notes Might has a location "location": {"type": "geo:json", "value": {"type": "Point", "coordinates": [13.3986, 52.5547]} }, Geospatial location, encoded as GeoJSON. Might has an observedAt "observedAt": "2017-07-29T12:05:02Z" Observation timestamp, encoded as ISO8601, timestamp in NGSIv2 (Optional). Might has a createdAt ”createdAt": "2017-07-29T12:05:02Z", Creation timestamp (of entity, attribute), dateCreated in NGSIv2 (System generated). Might has a modifiedAt ”modifiedAt": "2017-07-29T12:05:02Z", Update timestamp (of entity, attribute), dateModified in NGSIv2 (System generated). Might has a unitCode A94 (g/mol) E01 (N/cmÂČ) MBR (mbar) Units of measurement, encoded as mandated by UN/CEFACT. Note: The UN/CEFACT Common Code C62 stands for "no unit".
  • 17. FIWARE Data Models â–Ș Landing page: https://schema.fiware.org â–Ș Open source project that has developed multiple data models ‱ https://github.com/FIWARE/dataModels ‱ Mainly for the Smart City domain but also some for the Smart Agrifood domain ‱ Specifications are crafted using markdown + JSON Schema ‱ Example Weather observed data model □ https://github.com/Fiware/dataModels/blob/master/specs/Weather/WeatherObserved/doc/spec.md □ https://fiware.github.io/dataModels/specs/Weather/WeatherObserved/schema.json â–Ș Data Models Guidelines (how to develop new Data Models) ‱ https://github.com/Fiware/dataModels/blob/master/specs/guidelines.md ‱ Pull Request – Review Lifecycle. 16
  • 18. 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? 17 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] } } ]
  • 19. NGSI-LD Properties: What to call a location? â–Ș location â–Ș locatedAt â–Ș geocoordinate â–Ș geocoordinates â–Ș place â–Ș ubicaciĂłn â–Ș standort â–Ș çœźăć Žæ‰€ 18 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. }
  • 20. 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 19 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
  • 21. NGSI-LD Relationships: Traversing Edge Nodes From: https://www.w3.org/TR/json-ld/#dfn-graph A JSON-LD document serializes a dataset which is a collection of graphs A graph is a labeled directed graph, i.e., a set of nodes connected by edges. In NGSI-LD: â–Ș Node = NGSI Entity â–Ș Edge = A relationship attribute linking two NGSI Entities Therefore NGSI Linked Data relies on three separate definitions: 1. A definition that a particular attribute within an NGSI entity really represents a link 2. A machine readable definition of that link in the Data Model (i.e. the @context) 3. A machine readable definition of the set of all types of links available (the @graph) 20 Creating proper machine-readable Linked Data is fundamental to NGSI-LD.
  • 22. NGSI-LD Relationships: 1. Creating Entities Relationship Links within an NGSI Entity are formally defined using: "type": "Relationship" OR "@type": "https://uri.etsi.org/ngsi-ld/Relationship" The attribute of the linked entity is an object rather than a value 21 curl -X POST http://localhost:1026/ngsi-ld/v1/entities/urn:ngsi-ld:Shelf:unit001/attrs -H 'Content-Type: application/ld+json' -H 'fiware-servicepath: /' -d '{ "stocks": { "type": "Relationship","object": "urn:ngsi-ld:Product:001"}, "numberOfItems": {"type": "Property","value": 50}, "locatedIn" : { "type": "Relationship", "object": "urn:ngsi-ld:Building:store001", "requestedBy": {"type": "Relationship","object": "urn:ngsi-ld:Person:bob-the-manager"}, "installedBy": {"type": "Relationship","object": "urn:ngsi-ld:Person:employee001"}, "statusOfWork": {"type": "Property","value": "completed"} }, "@context": "https://fiware.github.io/tutorials.Step-by-Step/tutorials-context.jsonld" }'
  • 23. NGSI-LD Relationships: 2. Machine Readable Data Models Relationship links within the @context are formally defined using: "@type": "@id" 22 FIWARE Data Models @context "@context": { "tutorial": "https://fiware.github.io/tutorials.Step-by-Step/schema/", "Product": "tutorial:Product", "Shelf": "tutorial:Shelf", ...etc "installedBy": { "@id": "tutorial:installedBy", "@type": "@id" }, "requestedBy": { "@id": "tutorial:requestedBy", "@type": "@id" }, ...etc
  • 24. NGSI-LD Relationships: 3. Machine Readable Links 23 FIWARE Data Models @graph "@graph": [ { "@id": "tutorial:Product", "@type": "rdfs:Class", "rdfs:comment": [ {"@language": "en", "@value": "Product is sold in a Store."}, {"@language": "ja", "@value": "èŁœć“ăŻă‚čトケでèČ©ćŁČă•ă‚ŒăŠă„ă‚‹ç‰©"}], "rdfs:label": [{"@language": "en", "@value": "Product"}, {"@language": "ja", "@value": "èŁœć“"}], "rdfs:subClassOf": {"@id": "http://schema.org/Thing"} }, 
 etc { "@id": "tutorial:requestedBy", "@type": "https://uri.etsi.org/ngsi-ld/Relationship", "schema:domainIncludes": [{"@id": "tutorial:Shelf"}, {"@id": "tutorial:StockOrder"}], "schema:rangeIncludes": [{"@id": "schema:Person"}], "rdfs:comment": [ {"@language": "en","@value": "Object requested by person."}, {"@language": "ja","@value": "äșșăŒèŠæ±‚ă—ăŸă‚Șブゾェクト"}], "rdfs:label": [{"@language": "en", "@value": "requested by"},{"@language": "ja", "@value": "芁求者"}] }, ]
  • 25. Context Data as Linked Data - How does it help? Linking Disparate Data Sources â–Ș Which crimes in which area are not related to Jack? â–Ș Does Jack only deal in Cannabis? â–Ș How is Jack related to Raymond? â–Ș Which other police officers should Inspector Devy contact? 24
  • 26. Context Data as Linked Data - How does it help? 25 Rich Text Snippets Standard schema.org/Product data model marked up as JSON-LD on the web. Interpreted by third parties. Search Engine can display product rating on screen. System “knows” if a product is out of stock. NGSI-LD Supermarket Tutorial Third party ARV could “know” when a shelf needs filling and retrieve goods from the warehouse. No need to reprogram for new customers if data follows the fiware.org/ns/data-models, or the JSON-LD can be converted to do so.
  • 27. Summary: Terms 26 ● JSON, JavaScript Object Notation is an open-standard file format that uses human-readable text to transmit data objects consisting of attribute–value pairs and array data types. ● JSON-LD, JSON-LD, is a method of encoding Linked Data using JSON. ● NGSIv2, version 2 of the Open Mobile Alliance (OMA) Next Generation Service Interfaces (NGSI). ● NGSI-LD, the ETSI definition of a standard API for Context Information Management based in Linked Data. ● UN/CEFACT is the United Nations Centre for Trade Facilitation and Electronic Business.
  • 28. Summary: Terms 27 ● ISO8691, Data elements and interchange formats – Information interchange – Representation of dates and times is an international standard covering the exchange of date- and time-related data. ● GeoJSON is an open standard format designed for representing simple geographical features, along with their non-spatial attributes. It is based on the JavaScript Object Notatio ● FQN, a fully qualified name (FQN) is an unambiguous name that specifies which object, function, or variable a call refers to without regard to the context of the call. ● URI is a string of characters that unambiguously identifies a particular resource. ● URN is a URI that uses the urn scheme.
  • 29. Common UN/CEFACT values 28 UN/CEFACT Common Code Unit of Measurement 28 kg/mÂČ 2N dB 4H ”m 4K mA 4P N/m A24 cd/mÂČ A86 GHz A94 g/mol B22 kA B32 kg ‱ m2 B43 kJ/(kg.K) B49 k℩ B61 lm/W BAR bar C16 mm/s UN/CEFACT Common Code Unit of Measurement C24 mPa.s C26 ms C45 nm C62 1 C65 Pa.s C91 1/K C94 min-1 CDL cd CEL °C CMQ cmÂł CMT cm D33 T D52 W/K D74 kg/mol DAY d UN/CEFACT Common Code Unit of Measurement DD ° E01 N/cmÂČ E32 l/h FAR F GM g/mÂČ GRM g HTZ Hz HUR h KEL K KGM kg KGS kg/s KHZ kHz KL kg/m KMQ kg/mÂł KVT kV UN/CEFACT Common Code Unit of Measurement KWT kW L2 l/min LTR l LUM lm LUX lx MBR mbar MHZ MHz MIN min MMK mmÂČ MMQ mmÂł MMT mm MPA MPa MQH m3/h MQS mÂł/s MTK mÂČ UN/CEFACT Common Code Unit of Measurement MTQ mÂł MTR m MTS m/s NEW N NU N ‱ m NU N.m OHM ℩ P1 % PAL Pa SEC s VLT V WTT W
  • 30. References 29 ● FIWARE Catalogue o https://www.fiware.org/developers/catalogue ● NGSI-LD FAQ o https://github.com/FIWARE/dataModels/blob/master/specs/ngsi-ld_faq.md ● NGSI-LD HowTo o https://github.com/FIWARE/dataModels/blob/master/specs/ngsi-ld_howto.md
  • 31. References 30 ● ETSI NGSI-LD Specification (October 2019) o https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/01.02.01_60/gs_cim009v010201p.pdf o https://docbox.etsi.org/isg/cim/open/Presentation_for_WoT_Plenary_Meeting_Lyon__TPAC_.pdf ● FIWARE NGSIv2 Specification o http://fiware.github.io/specifications/ngsiv2/stable/
  • 34. 3 3