Connector Corner: Automate dynamic content and events by pushing a button
FIWARE Global Summit - Thing’in, an NGSI-LD-compatible Graph Database for System-level Representation of IoT Environments
1. An NGSI-LD compatible
graph-based platform
for contextual
system-level representation
of IoT/CPS environments
Dr. G. Privat
Senior Scientist
Orange Labs
Grenoble, France
Thing’in
FIWARE Summit
October 23, 2019 , Berlin23
2. 1.What’s Thing’in?
A social networks of things, i.e. a graph
2.What are these « things » in Thing’in?
From IoT/M2M Devices to things, from things to context entities, from
context entities to Cyber-Physical Systems
3.What’s this Thing’in graph? Why a graph? What kind of graph?
Property Graphs vs. RDF graphs
4.What kind of systems are captured by the Thing’in graph?
Multilevel Cyber-Physical System decomposition
Capturing bottom-up vs top-down systems in NGSI-LD & Thing’in
Outline
3. 1.What’s Thing’in?
2.What are these « things » in Thing’in?
3.What’s this Thing’in graph? Why a graph? What kind of graph?
4.What kind of systems are captured by the Thing’in graph?
4. Thing’in is :
• A graph database
• maintaining persistent and curated representations of IoT environments at large…
• …as a property graph , with « things » ( FIWARE entities) as its nodes
• capturing structural and semantic context as things relationships, properties and classes
• A multi-sided platform
• mediating consolidated information between:
• data providers
• other platforms
• applications
• enabler developers
Thing’in enablers Thing’in
graph & platform
IoT Applications
IoT networks &
platfoms
Other data
sources (open
data, etc)
Linked
open data
5. Thing’in is NOT:
• Just another IoT platform:
• Thing’in does not manage IoT/M2M devices and their connectivity
• Thing’in does not store raw data
• A pure « knowledge graph » à la Google:
• Thing’in is exclusively about instances of physical things
• Thing’in’s scaffolding is structural relationships between things
• Semantic graph is an overlay, « the icing on the cake »
• The Web of Things, or the web of data:
• Thing’in may be distributed ,...but not to that extent:
• Thing’in is centrally managed and curated
6. Thing’in as a complementary platform to FIWARE
sensor data sources
developers
end users
other data
providers
FIWARE
Apps
LiveObjects Other IoT Platforms:
OpenMTC, OM2M…
sensor data sources
Open
Data
Repositories
Thing’in
7. 1.What’s Thing’in?
2.What are these « things » in Thing’in?
3.What’s this Thing’in graph? Why a graph? What kind of graph?
4.What kind of systems are captured by the Thing’in graph?
8. 8
Internet of Things
Internet of Devices
Core
Internet
Actuator
Sensor
Beyond the Internet of (connected) Devices:
bringing un-connected physical things into the IoT fold
Thing
Thing
Thing
Thing
Thing
Thing
Thing
Thing
Thing
Thing
9. Digital avatars / twinsPhysical « Things »
stand for
Physical Things, digital twins
& networked-device proxies
networked
device
proxies
Sensor
Actuator
10. 10
10
{« street X » :
« hasState » : [
« Congested »
……
]
}
Information abstraction “à la FIWARE” vs. Thing’in
FIWARE “Context Entities” are implicitly thought of as “container things” or “things containers”
consolidate and jointly abstract away multiple sources of context data
relay corresponding information to applications
Thing’in captures all granularities:
atomic things & devices
containers and basic systems
composite systems & systems of systems
What’s the current
traffic density
in street “X”?
FIWARE context API
inductive-loop vehicle
detector
surveillance
cameras
driver smartphones
Notify me in case of congestion
of street “X”
11. Cyber-Physical Systems
From IoT/WoT to CPS (Cyber-Physical Systems)
opening up « black-box » Things
Internet of Devices
Actuator
Sensor
Core Internet
12. 1.What’s Thing’in?
2.What are these « things » in Thing’in?
3.What’s this Thing’in graph? Why a graph? What kind of graph?
4.What kind of systems are captured by the Thing’in graph?
13. Why graph representations?
Graphs are the most universal, versatile and adaptable way to structure information
−graphs do not enforce any other rigid a priori structuration
−they work by default under « open world » assumptions
Graphs capture multi-scale & multi-level « systems of systems » composition
Graphs build up incrementally and become richer with each added link
−self-reinforcing information percolation within the graph
Graph databases are extensively used: they scale!
14. Example of FIWARE-level
Graph model example in city environment
Street S1
congested
monitors
Inductive-loop
detector
hasState
monitors Camera
Crossing C1 Controls Traffic light L1isConnectedTo
Vehicle V1
isInside
smartphone locates
Relationships between entities capture invariant or slowly varying configuration info
Properties of entities may capture instant state information or permanent features
hasPart
lane
15. 15
A tale of two graphs: Property Graphs vs RDF…
Property Graphs (PG) = common denominator model of most graph data bases
Halfway between object data models & semantics-oriented graph models (à la RDF)
− nodes of the graph have attached properties
− just as objects have attached key-value attributes
− relationships are « first-class citizens » of the model
− they can also have properties
Differences with RDF
− strong distinction between properties with literal objects
and those with resource objects relationships
− relationships & properties are uniquely identified
when instantiated
no reification needed
Street S1
hasCoverage
congested
monitorsCamera
hasState
70%
16. 16
The NGSI-LD Information Model, as applied in Thing’in
Things /devices AND systems at all levels of nesting are all represented by nodes (vertices) of the graph
Systems are also captured as subgraphs of the overall graph
Relationships capture the structure of these systems mostly static or semi-static
– for systems that are physical networks (e.g. electrical grid, water distribution system), the graph matches
the structure of the physical network
Properties may capture:
– permanent features of a thing
– state of a system (in the sense of dynamical system theory)
All nodes and relationships are defined by reference to known classes/categories of shared ontologies
/vocabularies
NGSI-LD cross-domain ontology provides grounding for common-denominator IoT/CPS classes
The Thing’in NGSI-LD graph can be exported as an RDF graph to become part of the Linked Open
data cloud
17. Referent Physical Entities
to class)
Structural graph
Ontology graph
Semantic Referencing
Graph
ParkingLot P1
thoroughfare
street parking Lot
parking
structure
Street S1 Parking lot PL1Traffic Light TL1
refersto
refersto
18. 1.What’s Thing’in?
2.What are these « things » in Thing’in?
3.What’s this Thing’in graph? Why a graph? What kind of graph?
4.What kind of systems are captured by the Thing’in graph?
19. Thing’in as system description graph:
Capturing nested & entwined Cyber-Physical Systems
Multiple system composition levels in complex environments:
the building is inside the city, but building subsystems are not directly city subsystems
the apartment is inside the building, but home « things » are not directly building subsystems
Need for proper separation of concerns
data structuration is still paramount!
Distinguish different views of same physical « plant »
Should be used to manage privacy, security
& legal ownership issues with corresponding data
opensOnto
Street S1 Crossing C1 opensOnto
Controls
Traffic light L1
adjacentTo
hasState red
hasState
congested
monitorsCamera C2
hasCoverage
70%
BuildingA
hasPart
Apartment A
Parking
GarageG1
LiveBox B1
LED LightL1
TeddyBear
isContainedIn
hasPart
(Outdoor)
CameraC1
ElectronicGateLockEG1
AlarmA1
isContainedIn
isContainedIn
FireSensorFS1
Place PG2
hasPart
Room R1
hasPart
isContainedIn
Parking
Lot L1
1865/01/01
Place PL3
available
Y/N
Place PA1
available
Y/N
Parking
Lot L2
hasPart
Place PL2
Gate
G1
actuates
monitors
ConstructedAt
isLocatedAt
N 47° 37' 9.7536'‘
E 6° 9' 10.5726''
20. Building Structural Graph
Building
Security
System
Graph
Parking Garage Graph
Smart
City
Graph
opensOnto
Street S1 Crossing C1 opensOnto
Controls
Traffic light L1
adjacentTo
hasState red
hasState
congested
monitorsCamera C2
hasCoverage
70%
BuildingA
hasPart
Apartment A
Parking
GarageG1
LiveBox B1
LED LightL1
TeddyBear
isContai
nedIn
hasPart
(Outdoor)
CameraC1 Electronic
GateLock
EG1
AlarmA1 isContained
In
isContain
edIn
FireSensorFS1
Place PG2
hasPart
Room R1
hasPart
isContai
nedIn
Parking
Lot L1
1865/01/01
Place PL3
available
Y/N
Place
PA1
available
Y/N
Parking
Lot L2
hasPart
Place PL2
Gate
G1
actuates
monitors
ConstructedAt
Apartment Graph
Parking Management
System Graph
isLocatedAt
N 47° 37' 9.7536'‘
E 6° 9' 10.5726''
22. Referent Physical Entities
to class)
Ontology graph
Semantic Referencing
Graph
thoroughfare
street parking Lot
parking
structure
Structural graph
Street S1 Parking lot PL1Traffic Light TL1
System composition graph
Trafic management
System graph
Parking management
graph
Traffic Lights
graph
23. BuildingA
hasPart
Apartment A
Parking
GarageG1
LiveBox B1
LED LightL1
TeddyBear
isContai
nedIn
hasPart
(Outdoor)
CameraC1
Electronic
GateLock
EG1
AlarmA1 isContained
In
isContain
edIn
FireSensorFS1
Place PG2
hasPart
Room R1
hasPart
isContai
nedIn
Parking
Lot L1
ParkingAggregation
SystemS1
Graph
hasAvailabilities
1865/01/01
Building Security
System Graph
isNodeOf
Graph
Overall
Building Graph
Building Structure
Graph
isSub
GraphOf
ApartmentGraph
isNodeOf
Graph
Overall
CityGraph
isSub
GraphOf
isNodeOf
Graph
Place PL3
available
Y/N
Place
PA1
available
Y/N
Parking
Lot L2
Building
ParkingGraph
hasPart
Place PL2
Gate
G1
actuates
monitors
isNodeOf
Graph
isNodeOf
Graph
isSub
GraphOf
ParkingLot
Graph
isNodeOf
Graph
createdAt
ConstructedAt
2019/01/01
42OneM2M:
device
OneM2M:
thing
SOSA:Sensor
NGSI-LD:
graph
Sosa:
observes
SOSA:
actuation
DUL:PhysicalObject DUL:
InformationEntity
RDFS:SubClassOf
RDF:type
24. Complementary Example :
graph for sharing & interlinking information
between 3 smart city operators flat view
Retractable
Bollard B1
Surveillance
Camera A1
Parking
A
parking
space B
Alley B
Street A
hasState
gate A
hasState
hasState
hasState
hasState
Parking A
Management
System
Parking B
Management
System
Traffic Management
System
Open/closed
Empty/
Occupied
open/
closed
y%
congested
n/N available
spaces
Inductive
sensor
Barrier B
handicapped
parking space
AH1
hasState
Empty/
Occupied
EV charging
space AE1
hasState
Empty/
Occupied EV fast charger
hasPower
P watts
hasDirection
OneWay/TwoWay
hasCoverage
70%
Traffic Light TL1
25. Complementary Example :
graph for sharing & interlinking information
between 3 smart city operators viewed at the graph composition level
Retractable
Bollard B1
Surveillance
Camera A1
Parking A
parking space B
Alley B
Street A
hasState
gate A
hasState
hasState
hasState
hasState
Open/close
d
Empty/
Occupied
open/
closed
y%
congested
n/N available
spaces
Inductive
sensor
Barrier B
handicapped
parking space AH1
hasState
Empty/
Occupied
EV charging
space AE1
hasState
Empty/
Occupied EV fast charger
hasPower
P watts
hasDirection
OneWay/TwoWay
hasCoverage
7
0
%
Traffic
management
System Graph
isNodeOf
Graph
Parking A
management
System Graph
Smart City
System Graph
Parking A
management
System Graph
isNodeOf
Graph
isSub
GraphOf
Traffic-lights
control System
Graph
Traffic Light TL1
isNodeOf
Graph
isNodeOf
Graph
May Override
26. Take-home message
The Thing’in graph is a special type of NGSI-LD compatible property graph that captures
− IoT devices with their sensing and actuation relationships to their environment
− the multilevel system composition of this environment
The graph is the basis for cross-silo configuration-stage information mediation between
− IoT applications
− low-level IoT platforms
− other data sources (e.g. Open Data repositories)
Formal semantics gets overlaid to the graph
The graph is part of the linked open data cloud through RDF import/export
IoT
IoT IoT
IoT IoT IoT IoT