SlideShare a Scribd company logo
1 of 18
Download to read offline
'HPRQVWUDWLRQ 
:HEEDVHGYLVXDOLVDWLRQDQG 
PRQLWRULQJRIVPDUWPHWHUVXVLQJ 
4(/6 
0D[LP.ROFKLQ, Dmitry Mouromtsev, Sergey Arustamov 
Laboratory ISST @ ITMO University, St.Petersburg, Russia 
7th International Workshop on Semantic Sensor Networks 2014 @ ISWC 2014, Italy
˛˵˽˿˾˻˸˳̀˰̄˼˰̈/30
❏ a small energy reseller in St. Petersburg 
with monthly consumption about ~ 500 MW 
❏ 70 smart electric meters 
❏ 4 electrical substations 
1
*ULGQHWZRUNRYHUYLHZ 
2
/30ZDQWVWR 
3 
❏ reduce electricity losses 
❏ identify misconfigurations of smart meters and 
network earlier 
❏ monitor smart meter readings in real-time
6WUHDPVRXUFHV 
4 
❏ Custom JSON model 
❏ Not integrated with background knowledge 
❏ Identifiers not globally unique
6WDWLFGDWD 
Currently at: http://lpmanalytics.tk/sparql 
❏ graph: http://192.168.134.114/SmartMetersDB/ 
All smart meters: 
PREFIX em: http://purl.org/NET/ssnext/electricmeters# . 
SELECT * { ?meter a em:ElectricMeter . } 
Example URI: http://purl.org/daafse/meters/mercury230_13534128 
5
6WUHDPLQJGDWD 
Published via a message bus (RabbitMQ) that implements AMQP protocol: 
❏ a continuous stream of RDF triples in Turtle format 
❏ amqp://lpmstreams.tk:15674 
Stream URI: 
❏ amqp://lpmstreams.tk:15674? 
exchangeName=meter_exchangeroutingKey=meter.location. 
mercury230_13534128 
6
2QWRORJLHV 
7
$UFKLWHFWXUH 
8
8,9LVXDOLVDWLRQLQUHDOWLPH 
9
8,$OHUWV 
10
([DPSOHToo high voltage value 
Notify when the voltage value on one of the phases on 
one of smart meters are higher than 220V + 5% = 231V 
11
([DPSOHToo high voltage value 
CONSTRUCT { 
?alert a http://purl.org/daafse/alerts#TooHighVoltageValue ; dul:hasEventDate ?time ; dul: 
involvesAgent ?meter . 
} FROM NAMED http://lpmanalytics.tk/sparql-graph-crud WHERE { 
GRAPH http://192.168.134.114/SmartMetersDB/ { 
?meter em:hasStream ?stream; em:complyWith ?requirement . 
?requirement em:maxVoltageValue ?maxvvalue .} 
STREAM ?stream [NOW] { 
?observation a em:PolyphaseVoltageObservation ; ssn:observationResultTime ?time ; ssn: 
observationResult ?output . 
?output a em:PolyphaseVoltageSensorOutput ; ssn:isProducedBy ?meter ; ssn:hasValue ?value . 
?value em:hasQuantityValue ?qvalue . 
} 
FILTER(?qvalue  ?maxvvalue) 
BIND(IRI(CONCAT(STR(?meter), '/alerts/', STR(?time))) AS ?alert) 
12 }
([DPSOHPower values is below zero 
Notify when the power value on one of the phases is 
below zero 
13
([DPSOHPower values is below zero 
CONSTRUCT { 
?alert a http://purl.org/daafse/alerts#PowerValueBelowZero; dul:hasEventDate ?time; dul: 
involvesAgent ?meter . 
} FROM NAMED http://lpmanalytics.tk/sparql-graph-crud WHERE { 
GRAPH http://192.168.134.114/SmartMetersDB/ { 
?meter em:hasStream ?stream; em:complyWith ?requirement . 
?requirement em:minPowerValue ?minpvalue . 
} 
STREAM ?stream [NOW] { 
?observation a em:PolyphaseVoltageObservation; ssn:observationResultTime ?time; ssn: 
observationResult ?output . 
?output ssn:isProducedBy ?meter; ssn:hasValue ?value . ?value em:hasQuantityValue ?qvalue . 
} 
FILTER(?qvalue  ?minPowerValue) 
BIND(IRI(CONCAT(STR(?meter), '/alerts/', STR(?time))) AS ?alert) 
14 }
([DPSOHDifferent voltages 
Voltage values measured by the meters at the same 
substation should be “almost the same”, e.g. ± 3%. 
15 
Unfortunately, it’s not possible to do with CQELS now.
RQFOXVLRQV 
❏ Web app that monitors and visualizes smart meter readings 
❏ Extensions for CQELS engine: BIND and remote SPARQL endpoint 
❏ RDF streams published via RabbitMQ 
Future work: 
❏ Implement missing aggregation functions in CQELS 
❏ Use one of binary RDF representations for the streams 
16 
The app is a very simple but practical example of applying RSP in Smart Grid 
domain

More Related Content

Similar to Web-based visualisation and monitoring of smart meters using CQELS

# peripheral registers .equ PWR_BASE0x40007000 .equ PWR_CR0x00 .docx
# peripheral registers  .equ PWR_BASE0x40007000    .equ PWR_CR0x00  .docx# peripheral registers  .equ PWR_BASE0x40007000    .equ PWR_CR0x00  .docx
# peripheral registers .equ PWR_BASE0x40007000 .equ PWR_CR0x00 .docx
mayank272369
 
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
Runtime Code Generation and Data Management for Heterogeneous Computing in JavaRuntime Code Generation and Data Management for Heterogeneous Computing in Java
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
Juan Fumero
 

Similar to Web-based visualisation and monitoring of smart meters using CQELS (20)

Wall climbing-robot
Wall climbing-robotWall climbing-robot
Wall climbing-robot
 
Writing SOLID C++ [gbgcpp meetup @ Zenseact]
Writing SOLID C++ [gbgcpp meetup @ Zenseact]Writing SOLID C++ [gbgcpp meetup @ Zenseact]
Writing SOLID C++ [gbgcpp meetup @ Zenseact]
 
Brosur Thunder Scientific | Model 3900 | Humidity Generator
Brosur Thunder Scientific | Model 3900 | Humidity GeneratorBrosur Thunder Scientific | Model 3900 | Humidity Generator
Brosur Thunder Scientific | Model 3900 | Humidity Generator
 
Open daylight and Openstack
Open daylight and OpenstackOpen daylight and Openstack
Open daylight and Openstack
 
Gas leakage detection system
Gas leakage detection systemGas leakage detection system
Gas leakage detection system
 
MaxBotix Code Examples
MaxBotix Code ExamplesMaxBotix Code Examples
MaxBotix Code Examples
 
# peripheral registers .equ PWR_BASE0x40007000 .equ PWR_CR0x00 .docx
# peripheral registers  .equ PWR_BASE0x40007000    .equ PWR_CR0x00  .docx# peripheral registers  .equ PWR_BASE0x40007000    .equ PWR_CR0x00  .docx
# peripheral registers .equ PWR_BASE0x40007000 .equ PWR_CR0x00 .docx
 
Vlsi es-lab-manual
Vlsi es-lab-manualVlsi es-lab-manual
Vlsi es-lab-manual
 
#include LPC17xx.h#include Lights.h#include traffic_fo.docx
#include LPC17xx.h#include Lights.h#include traffic_fo.docx#include LPC17xx.h#include Lights.h#include traffic_fo.docx
#include LPC17xx.h#include Lights.h#include traffic_fo.docx
 
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
Runtime Code Generation and Data Management for Heterogeneous Computing in JavaRuntime Code Generation and Data Management for Heterogeneous Computing in Java
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
 
Gaztea Tech Robotica 2016
Gaztea Tech Robotica 2016Gaztea Tech Robotica 2016
Gaztea Tech Robotica 2016
 
Presentation
PresentationPresentation
Presentation
 
Embedded System Practical manual (1)
Embedded System Practical manual (1)Embedded System Practical manual (1)
Embedded System Practical manual (1)
 
Using the Open Source OPC-UA Client and Server for Your IIoT Solutions | Jero...
Using the Open Source OPC-UA Client and Server for Your IIoT Solutions | Jero...Using the Open Source OPC-UA Client and Server for Your IIoT Solutions | Jero...
Using the Open Source OPC-UA Client and Server for Your IIoT Solutions | Jero...
 
How to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita GalkinHow to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita Galkin
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
 
2019-09-25 Paris Time Series Meetup - Warp 10 - Advanced Time Series Technolo...
2019-09-25 Paris Time Series Meetup - Warp 10 - Advanced Time Series Technolo...2019-09-25 Paris Time Series Meetup - Warp 10 - Advanced Time Series Technolo...
2019-09-25 Paris Time Series Meetup - Warp 10 - Advanced Time Series Technolo...
 
Analytics with Spark
Analytics with SparkAnalytics with Spark
Analytics with Spark
 
Didactum SNMP Manual
Didactum SNMP ManualDidactum SNMP Manual
Didactum SNMP Manual
 
FINISHED_CODE
FINISHED_CODEFINISHED_CODE
FINISHED_CODE
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Web-based visualisation and monitoring of smart meters using CQELS

  • 1. 'HPRQVWUDWLRQ :HEEDVHGYLVXDOLVDWLRQDQG PRQLWRULQJRIVPDUWPHWHUVXVLQJ 4(/6 0D[LP.ROFKLQ, Dmitry Mouromtsev, Sergey Arustamov Laboratory ISST @ ITMO University, St.Petersburg, Russia 7th International Workshop on Semantic Sensor Networks 2014 @ ISWC 2014, Italy
  • 3. ❏ a small energy reseller in St. Petersburg with monthly consumption about ~ 500 MW ❏ 70 smart electric meters ❏ 4 electrical substations 1
  • 5. /30ZDQWVWR 3 ❏ reduce electricity losses ❏ identify misconfigurations of smart meters and network earlier ❏ monitor smart meter readings in real-time
  • 6. 6WUHDPVRXUFHV 4 ❏ Custom JSON model ❏ Not integrated with background knowledge ❏ Identifiers not globally unique
  • 7. 6WDWLFGDWD Currently at: http://lpmanalytics.tk/sparql ❏ graph: http://192.168.134.114/SmartMetersDB/ All smart meters: PREFIX em: http://purl.org/NET/ssnext/electricmeters# . SELECT * { ?meter a em:ElectricMeter . } Example URI: http://purl.org/daafse/meters/mercury230_13534128 5
  • 8. 6WUHDPLQJGDWD Published via a message bus (RabbitMQ) that implements AMQP protocol: ❏ a continuous stream of RDF triples in Turtle format ❏ amqp://lpmstreams.tk:15674 Stream URI: ❏ amqp://lpmstreams.tk:15674? exchangeName=meter_exchangeroutingKey=meter.location. mercury230_13534128 6
  • 13. ([DPSOHToo high voltage value Notify when the voltage value on one of the phases on one of smart meters are higher than 220V + 5% = 231V 11
  • 14. ([DPSOHToo high voltage value CONSTRUCT { ?alert a http://purl.org/daafse/alerts#TooHighVoltageValue ; dul:hasEventDate ?time ; dul: involvesAgent ?meter . } FROM NAMED http://lpmanalytics.tk/sparql-graph-crud WHERE { GRAPH http://192.168.134.114/SmartMetersDB/ { ?meter em:hasStream ?stream; em:complyWith ?requirement . ?requirement em:maxVoltageValue ?maxvvalue .} STREAM ?stream [NOW] { ?observation a em:PolyphaseVoltageObservation ; ssn:observationResultTime ?time ; ssn: observationResult ?output . ?output a em:PolyphaseVoltageSensorOutput ; ssn:isProducedBy ?meter ; ssn:hasValue ?value . ?value em:hasQuantityValue ?qvalue . } FILTER(?qvalue ?maxvvalue) BIND(IRI(CONCAT(STR(?meter), '/alerts/', STR(?time))) AS ?alert) 12 }
  • 15. ([DPSOHPower values is below zero Notify when the power value on one of the phases is below zero 13
  • 16. ([DPSOHPower values is below zero CONSTRUCT { ?alert a http://purl.org/daafse/alerts#PowerValueBelowZero; dul:hasEventDate ?time; dul: involvesAgent ?meter . } FROM NAMED http://lpmanalytics.tk/sparql-graph-crud WHERE { GRAPH http://192.168.134.114/SmartMetersDB/ { ?meter em:hasStream ?stream; em:complyWith ?requirement . ?requirement em:minPowerValue ?minpvalue . } STREAM ?stream [NOW] { ?observation a em:PolyphaseVoltageObservation; ssn:observationResultTime ?time; ssn: observationResult ?output . ?output ssn:isProducedBy ?meter; ssn:hasValue ?value . ?value em:hasQuantityValue ?qvalue . } FILTER(?qvalue ?minPowerValue) BIND(IRI(CONCAT(STR(?meter), '/alerts/', STR(?time))) AS ?alert) 14 }
  • 17. ([DPSOHDifferent voltages Voltage values measured by the meters at the same substation should be “almost the same”, e.g. ± 3%. 15 Unfortunately, it’s not possible to do with CQELS now.
  • 18. RQFOXVLRQV ❏ Web app that monitors and visualizes smart meter readings ❏ Extensions for CQELS engine: BIND and remote SPARQL endpoint ❏ RDF streams published via RabbitMQ Future work: ❏ Implement missing aggregation functions in CQELS ❏ Use one of binary RDF representations for the streams 16 The app is a very simple but practical example of applying RSP in Smart Grid domain
  • 19. 7KDQNRX Source code: ❏ The web app: http://github.com/ailabitmo/DAAFSE ❏ CQELS with extensions: http://github.com/KMax/cqels 17