SlideShare a Scribd company logo
Building SemanticSensorWebs and ApplicationsQuerying Streaming Data through OntologiesJean-Paul CalbimonteUniversidad Politécnica de MadridESWC TutorialHeraklion, 29 May 2011
OutlineIntroduction
Sensor Streaming Data
Ontology-based data access
Mappingstreams to RDF
SPARQL-Stream queries
SemanticIntegrator
Hands-onStreaming Data AccessSensor Data StreamsContinuously appended data
Potentially infinite
Time-stamped tuples
Continuous queries
Changes of values over time
Latest used in queriesIntegration issuesHeterogeneous source
Knowledge about schemas and content
Interoperability, Interpretation
Reuse and discovery3
Motivation4Enabling  Ontology-based Access to Streaming Data SourcesExpose sensor data as observations in terms of an Ontology
Achieve logical transparency in access to data.
Hide to the user where and how data are stored.
Present to the user a conceptual view of the data.
Use a semantically rich formalism for the conceptual view.
Need to provide solution for:
Establish mappings between ontological models and streaming data source schemas
Access streaming data sources through queries over ontology modelsOntology-based Streaming Data Access5Enabling  Ontology-based Access to Streaming Data SourcesQueryTranslationSPARQLSreamalgebra(S1 S2 Sm) Sensor Network (S1)SPARQLStream(O1 O2On) q’Relational DB (S2)Distributed Query ProcessingStream-to-OntologymappingsClientStream Engine (S3)RDF Store (Sm)DataTranslationtriplestuplesOntology-based Streaming Data Access Service
SPARQLStream6Enabling  Ontology-based Access to Streaming Data SourcesExample:“provide me with the wind speed observations over the last minute in the Solent Region ” ......( <si-1,pi-1, oi-1>, ti-1 ),( <si,  pi,  oi>,   ti  ),( <si+1,pi+1, oi+1>, ti+1),......RDF-StreamSTREAM <http://www.semsorgrid4env.eu/ccometeo.srdf>cd:Observation......( <ssg4e:Obs1,rdf:type, cd:Observation>, ti ),( <ssg4e:Obs1,cd:observationResult,”34.5”>,   ti  ),( <ssg4e:Obs2,rdf:type, cd:Observation>, ti+1),( <ssg4e:Obs2,cd:observationResult,”20.3”>,   ti+1  ),......cd:observationResultxsd:double
SPARQLStream7Enabling  Ontology-based Access to Streaming Data SourcesExample:“provide me with the wind speed observations over the last minute in the Solent Region ” PREFIX cd: <http://www.semsorgrid4env.eu/ontologies/CoastalDefences.owl#>PREFIX sb: <http://www.w3.org/2009/SSN-XG/Ontologies/SensorBasis.owl#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT  ?waveheight ?wavetsFROM NAMED STREAM<http://www.semsorgrid4env.eu/waves.srdf> [ NOW – 1 MINUTE TO NOW – 0 MINUTES ]  WHERE {  ?WaveObs a cd:Observation; cd:observationResult ?waveheight; cd:observationResultTime ?wavets;cd:observedProperty ?waveProperty;cd:featureOfInterest ?waveFeature.    ?waveFeature a cd:Feature;cd:locatedInRegioncd:SouthEastEnglandCCO. ?waveProperty a cd:WaveHeight.  }cd:Observationcd:observationResultcd:observedPropertyxsd:doublecd:Propertycd:featureOfInterestcd:Featurecd:locatedInRegioncd:Region
R2RMLW3C RDB2RDF working group
Standardize RDB2RDF mappings:BoscombeWaveHeight a rr:TriplesMapClass;rr:tableName "envdata_boscombe";rr:subjectMap [ rr:template          "http://semsorgrid4env.eu/ns#WaveHeight/CCO/{DateTime}";rr:classssn:ObservationValue; rr:graphssg:waves.srdf ];rr:predicateObjectMap [ rr:predicateMap [ rr:predicatessn:hasQuantityValue];rr:objectMap[ rr:column "Hs" ] ];        .   <http://semsorgrid4env.eu/ns#/WaveHeight/CCO/2011-05-20:20:00 > a  ssn:ObservationValue<http://semsorgrid4env.eu/ns#/WaveHeight/CCO/2011-05-20:20:00 > ssn:hasQuantityValue" 4.5"
Query TranslationQueries: SELECT ?y WHERE{ ?x a cd:Observation;     cd:observationResult ?y. }SELECT ?yFROM STREAM < STREAM <http://www.semsorgrid4env.eu/waves.srdf> [ NOW – 1 MINUTE TO NOW MINUTES ]>WHERE{ ?x a cd:Observation;     cd:observationResult ?y. }
Query Translation10Mappings: queryalgebra expressionoversourcescd:Observationenvdata_milfordDatetime: longHs : floatLon: floatLat: floatcd:observationResultxsd:doubleDatetimeHsenvdata_milford
Query Translation11envdata_boscombeDatetime: longHs : floatLon: floatLat: floatUcd:Observationenvdata_milfordDatetime: longHs : floatLon: floatLat: floatcd:observationResultDateTimeHsUenvdata_hornseaxsd:doubleDatetime: longHs : floatLon: floatLat: floatUenvdata_westbayDatetime: longHs : floatLon: floatLat: floatDateTimeHsDateTimeHsDateTimeHsDateTimeHsenvdata_boscombeenvdata_milfordenvdata_hornseaenvdata_westbay
Query Translationvenvdata_westbayFeaturevenvdata_chesillocatedInRegionvenvdata_milfordObservationhasObservationResultR2RMappingvenvdata_hornseaStreamsOntologiesobservedPropertyenvdata_boscombeRegionxsd:floatTimestamp: longHs : floatLon: floatLat: floatWaveHeightPropertyPREFIX cd: <http://www.semsorgrid4env.eu/ontologies/CoastalDefences.owl#>PREFIX sb: <http://www.w3.org/2009/SSN-XG/Ontologies/SensorBasis.owl#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT  ?waveheight ?wavetsFROM NAMED STREAM <http://www.semsorgrid4env/waves.srdf>   WHERE {  ?WaveObs a cd:Observation; cd:observationResult ?waveheight; cd:observationResultTime ?wavets;cd:observedProperty ?waveProperty;cd:featureOfInterest ?waveFeature.    ?waveFeature a cd:Feature;cd:locatedInRegioncd:SouthEastEnglandCCO. ?waveProperty a cd:WaveHeight.  }(SELECT timestamp,Hs FROM envdata_boscombe) UNION (SELECT timestamp,Hs FROM envdata_hornsea) UNION (SELECT timestamp,Hs FROM envdata_milford) UNION (SELECT timestamp,Hs FROM envdata_chesil) UNION (SELECT timestamp,Hs FROM envdata_perranporth) UNION (SELECT timestamp,Hs FROM envdata_westbay) UNION (SELECT timestamp,Hs FROM envdata_pevenseybay)SNEEqlSPARQLSTR
SemanticIntegrator in SemSorGrid4Env13
Semantic Integrator IQSR2RmappingsrepositoryIntegration Query ServiceIQSTranslatorIntegrationInterfaceSNEE-WSCCO-WSClientQueryInterfacePullInterfaceaddSourceIntegrateAs (DataResourceAddressList, R2R document)DataResourceAddress(SNEEql)addQuerySPARQLQueryFactory (DataResourceName, SPARQLSream )DataResourceAddressgetResultSetGetStreamNewestItem(DataResourceName )repeatDataSet
Hands-on 15Integrating and Querying streaming data through Ontologies

More Related Content

PPTX
Semantic Sensor Networks and Linked Stream Data
PPTX
Semantic (Social) Sensor Networks
PDF
Overview of the W3C Semantic Sensor Network (SSN) ontology
PPTX
Ingredients for Semantic Sensor Networks
PPTX
Semantic Sensor Network Ontology: Description et usage
PDF
From Sensor Data to Triples: Information Flow in Semantic Sensor Networks
PDF
Introduction to Biological Network Analysis and Visualization with Cytoscape ...
PDF
Ph. D. Final Dissertation SLides
Semantic Sensor Networks and Linked Stream Data
Semantic (Social) Sensor Networks
Overview of the W3C Semantic Sensor Network (SSN) ontology
Ingredients for Semantic Sensor Networks
Semantic Sensor Network Ontology: Description et usage
From Sensor Data to Triples: Information Flow in Semantic Sensor Networks
Introduction to Biological Network Analysis and Visualization with Cytoscape ...
Ph. D. Final Dissertation SLides

What's hot (20)

PPTX
Discovery Engines for Big Data: Accelerating Discovery in Basic Energy Sciences
PDF
The Status of ML Algorithms for Structure-property Relationships Using Matb...
PDF
Dario izzo - Machine Learning methods and space engineering
PDF
Workshop: Introduction to Cytoscape at UT-KBRIN Bioinformatics Summit 2014 (4...
PDF
TMS workshop on machine learning in materials science: Intro to deep learning...
PDF
Data mining weka
PPT
Semantics in Sensor Networks
PDF
Drug Repurposing using Deep Learning on Knowledge Graphs
PPTX
Ontology of a temperature sensor
PDF
Efficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with Cloud
PDF
Cytoscape Tutorial Session 1 at UT-KBRIN Bioinformatics Summit 2014 (4/11/2014)
PPTX
Generating Linked Data in Real-time from Sensor Data Streams
PPTX
Graph Centric Analysis of Road Network Patterns for CBD’s of Metropolitan Cit...
PDF
TermProject_cp33252_alw278_aa44757
PPTX
Network Visualization and Analysis with Cytoscape
PDF
Brema tarigan 09030581721015
PDF
Iaetsd survey on big data analytics for sdn (software defined networks)
PDF
Materials Informatics and Python
PPT
Semantic Support for Complex Ecosystem Research Environments
PDF
dkNET Webinar "Pancreatlas™: Mapping the Human Pancreas in Health and Disease...
Discovery Engines for Big Data: Accelerating Discovery in Basic Energy Sciences
The Status of ML Algorithms for Structure-property Relationships Using Matb...
Dario izzo - Machine Learning methods and space engineering
Workshop: Introduction to Cytoscape at UT-KBRIN Bioinformatics Summit 2014 (4...
TMS workshop on machine learning in materials science: Intro to deep learning...
Data mining weka
Semantics in Sensor Networks
Drug Repurposing using Deep Learning on Knowledge Graphs
Ontology of a temperature sensor
Efficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with Cloud
Cytoscape Tutorial Session 1 at UT-KBRIN Bioinformatics Summit 2014 (4/11/2014)
Generating Linked Data in Real-time from Sensor Data Streams
Graph Centric Analysis of Road Network Patterns for CBD’s of Metropolitan Cit...
TermProject_cp33252_alw278_aa44757
Network Visualization and Analysis with Cytoscape
Brema tarigan 09030581721015
Iaetsd survey on big data analytics for sdn (software defined networks)
Materials Informatics and Python
Semantic Support for Complex Ecosystem Research Environments
dkNET Webinar "Pancreatlas™: Mapping the Human Pancreas in Health and Disease...
Ad

Viewers also liked (6)

PDF
Kerry Taylor - Semantics & sensors
PPTX
Tutorial ESWC2011 Building Semantic Sensor Web - 01 - Introduction
PDF
FiCloud2016 lov4iot extended
PPTX
Social Semantic (Sensor) Web
PPTX
W3C Semantic Sensor Networks: Ontologies, Applications, and Future Directions
PPT
Semantic technologies for the Internet of Things
Kerry Taylor - Semantics & sensors
Tutorial ESWC2011 Building Semantic Sensor Web - 01 - Introduction
FiCloud2016 lov4iot extended
Social Semantic (Sensor) Web
W3C Semantic Sensor Networks: Ontologies, Applications, and Future Directions
Semantic technologies for the Internet of Things
Ad

Similar to Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_streaming_data (20)

PPT
Multimedia Data Navigation and the Semantic Web (SemTech 2006)
ODP
SPARQLing Services
PPT
Open Analytics Environment
PDF
Code GPU with CUDA - Identifying performance limiters
PPTX
PPT
Faceted Search – the 120 Million Documents Story
PPT
RESTFul IDEAS
ODP
PPT
Searching the Now
ODP
Slug: A Semantic Web Crawler
PPSX
Beyond the Record : OCLC & the Future of MARC
PPT
The Rhizomer Semantic Content Management System
PDF
Devinsampa nginx-scripting
PDF
Nginx Scripting - Extending Nginx Functionalities with Lua
PPTX
Introduction to SDshare
PDF
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
PDF
Microservices With Spring Boot and Spring Cloud Netflix
PPT
PPT
Swertz Molgenis Bosc2009
PDF
Visualize open data with Plone - eea.daviz PLOG 2013
Multimedia Data Navigation and the Semantic Web (SemTech 2006)
SPARQLing Services
Open Analytics Environment
Code GPU with CUDA - Identifying performance limiters
Faceted Search – the 120 Million Documents Story
RESTFul IDEAS
Searching the Now
Slug: A Semantic Web Crawler
Beyond the Record : OCLC & the Future of MARC
The Rhizomer Semantic Content Management System
Devinsampa nginx-scripting
Nginx Scripting - Extending Nginx Functionalities with Lua
Introduction to SDshare
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
Microservices With Spring Boot and Spring Cloud Netflix
Swertz Molgenis Bosc2009
Visualize open data with Plone - eea.daviz PLOG 2013

More from Jean-Paul Calbimonte (20)

PDF
Towards Collaborative Creativity in Persuasive Multi-agent Systems
PDF
A Platform for Difficulty Assessment and Recommendation of Hiking Trails
PDF
Stream reasoning agents
PPTX
Decentralized Management of Patient Profiles and Trajectories through Semanti...
PDF
Personal Data Privacy Semantics in Multi-Agent Systems Interactions
PPTX
RDF data validation 2017 SHACL
PPTX
SanTour: Personalized Recommendation of Hiking Trails to Health Pro files
PPTX
Multi-agent interactions on the Web through Linked Data Notifications
PPTX
The MedRed Ontology for Representing Clinical Data Acquisition Metadata
PPTX
Linked Data Notifications for RDF Streams
PPTX
Fundamentos de Scala (Scala Basics) (español) Catecbol
PPTX
Connecting Stream Reasoners on the Web
PPTX
RDF Stream Processing Tutorial: RSP implementations
PPTX
Query Rewriting in RDF Stream Processing
PPTX
Toward Semantic Sensor Data Archives on the Web
PPTX
Detection of hypoglycemic events through wearable sensors
PPTX
RDF Stream Processing and the role of Semantics
PPTX
The Schema Editor of OpenIoT for Semantic Sensor Networks
PPTX
Scala Programming for Semantic Web Developers ESWC Semdev2015
PPTX
Streams of RDF Events Derive2015
Towards Collaborative Creativity in Persuasive Multi-agent Systems
A Platform for Difficulty Assessment and Recommendation of Hiking Trails
Stream reasoning agents
Decentralized Management of Patient Profiles and Trajectories through Semanti...
Personal Data Privacy Semantics in Multi-Agent Systems Interactions
RDF data validation 2017 SHACL
SanTour: Personalized Recommendation of Hiking Trails to Health Pro files
Multi-agent interactions on the Web through Linked Data Notifications
The MedRed Ontology for Representing Clinical Data Acquisition Metadata
Linked Data Notifications for RDF Streams
Fundamentos de Scala (Scala Basics) (español) Catecbol
Connecting Stream Reasoners on the Web
RDF Stream Processing Tutorial: RSP implementations
Query Rewriting in RDF Stream Processing
Toward Semantic Sensor Data Archives on the Web
Detection of hypoglycemic events through wearable sensors
RDF Stream Processing and the role of Semantics
The Schema Editor of OpenIoT for Semantic Sensor Networks
Scala Programming for Semantic Web Developers ESWC Semdev2015
Streams of RDF Events Derive2015

Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_streaming_data

  • 1. Building SemanticSensorWebs and ApplicationsQuerying Streaming Data through OntologiesJean-Paul CalbimonteUniversidad Politécnica de MadridESWC TutorialHeraklion, 29 May 2011
  • 8. Hands-onStreaming Data AccessSensor Data StreamsContinuously appended data
  • 12. Changes of values over time
  • 13. Latest used in queriesIntegration issuesHeterogeneous source
  • 17. Motivation4Enabling Ontology-based Access to Streaming Data SourcesExpose sensor data as observations in terms of an Ontology
  • 18. Achieve logical transparency in access to data.
  • 19. Hide to the user where and how data are stored.
  • 20. Present to the user a conceptual view of the data.
  • 21. Use a semantically rich formalism for the conceptual view.
  • 22. Need to provide solution for:
  • 23. Establish mappings between ontological models and streaming data source schemas
  • 24. Access streaming data sources through queries over ontology modelsOntology-based Streaming Data Access5Enabling Ontology-based Access to Streaming Data SourcesQueryTranslationSPARQLSreamalgebra(S1 S2 Sm) Sensor Network (S1)SPARQLStream(O1 O2On) q’Relational DB (S2)Distributed Query ProcessingStream-to-OntologymappingsClientStream Engine (S3)RDF Store (Sm)DataTranslationtriplestuplesOntology-based Streaming Data Access Service
  • 25. SPARQLStream6Enabling Ontology-based Access to Streaming Data SourcesExample:“provide me with the wind speed observations over the last minute in the Solent Region ” ......( <si-1,pi-1, oi-1>, ti-1 ),( <si, pi, oi>, ti ),( <si+1,pi+1, oi+1>, ti+1),......RDF-StreamSTREAM <http://www.semsorgrid4env.eu/ccometeo.srdf>cd:Observation......( <ssg4e:Obs1,rdf:type, cd:Observation>, ti ),( <ssg4e:Obs1,cd:observationResult,”34.5”>, ti ),( <ssg4e:Obs2,rdf:type, cd:Observation>, ti+1),( <ssg4e:Obs2,cd:observationResult,”20.3”>, ti+1 ),......cd:observationResultxsd:double
  • 26. SPARQLStream7Enabling Ontology-based Access to Streaming Data SourcesExample:“provide me with the wind speed observations over the last minute in the Solent Region ” PREFIX cd: <http://www.semsorgrid4env.eu/ontologies/CoastalDefences.owl#>PREFIX sb: <http://www.w3.org/2009/SSN-XG/Ontologies/SensorBasis.owl#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?waveheight ?wavetsFROM NAMED STREAM<http://www.semsorgrid4env.eu/waves.srdf> [ NOW – 1 MINUTE TO NOW – 0 MINUTES ] WHERE { ?WaveObs a cd:Observation; cd:observationResult ?waveheight; cd:observationResultTime ?wavets;cd:observedProperty ?waveProperty;cd:featureOfInterest ?waveFeature. ?waveFeature a cd:Feature;cd:locatedInRegioncd:SouthEastEnglandCCO. ?waveProperty a cd:WaveHeight. }cd:Observationcd:observationResultcd:observedPropertyxsd:doublecd:Propertycd:featureOfInterestcd:Featurecd:locatedInRegioncd:Region
  • 28. Standardize RDB2RDF mappings:BoscombeWaveHeight a rr:TriplesMapClass;rr:tableName "envdata_boscombe";rr:subjectMap [ rr:template "http://semsorgrid4env.eu/ns#WaveHeight/CCO/{DateTime}";rr:classssn:ObservationValue; rr:graphssg:waves.srdf ];rr:predicateObjectMap [ rr:predicateMap [ rr:predicatessn:hasQuantityValue];rr:objectMap[ rr:column "Hs" ] ]; . <http://semsorgrid4env.eu/ns#/WaveHeight/CCO/2011-05-20:20:00 > a ssn:ObservationValue<http://semsorgrid4env.eu/ns#/WaveHeight/CCO/2011-05-20:20:00 > ssn:hasQuantityValue" 4.5"
  • 29. Query TranslationQueries: SELECT ?y WHERE{ ?x a cd:Observation; cd:observationResult ?y. }SELECT ?yFROM STREAM < STREAM <http://www.semsorgrid4env.eu/waves.srdf> [ NOW – 1 MINUTE TO NOW MINUTES ]>WHERE{ ?x a cd:Observation; cd:observationResult ?y. }
  • 30. Query Translation10Mappings: queryalgebra expressionoversourcescd:Observationenvdata_milfordDatetime: longHs : floatLon: floatLat: floatcd:observationResultxsd:doubleDatetimeHsenvdata_milford
  • 31. Query Translation11envdata_boscombeDatetime: longHs : floatLon: floatLat: floatUcd:Observationenvdata_milfordDatetime: longHs : floatLon: floatLat: floatcd:observationResultDateTimeHsUenvdata_hornseaxsd:doubleDatetime: longHs : floatLon: floatLat: floatUenvdata_westbayDatetime: longHs : floatLon: floatLat: floatDateTimeHsDateTimeHsDateTimeHsDateTimeHsenvdata_boscombeenvdata_milfordenvdata_hornseaenvdata_westbay
  • 32. Query Translationvenvdata_westbayFeaturevenvdata_chesillocatedInRegionvenvdata_milfordObservationhasObservationResultR2RMappingvenvdata_hornseaStreamsOntologiesobservedPropertyenvdata_boscombeRegionxsd:floatTimestamp: longHs : floatLon: floatLat: floatWaveHeightPropertyPREFIX cd: <http://www.semsorgrid4env.eu/ontologies/CoastalDefences.owl#>PREFIX sb: <http://www.w3.org/2009/SSN-XG/Ontologies/SensorBasis.owl#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?waveheight ?wavetsFROM NAMED STREAM <http://www.semsorgrid4env/waves.srdf> WHERE { ?WaveObs a cd:Observation; cd:observationResult ?waveheight; cd:observationResultTime ?wavets;cd:observedProperty ?waveProperty;cd:featureOfInterest ?waveFeature. ?waveFeature a cd:Feature;cd:locatedInRegioncd:SouthEastEnglandCCO. ?waveProperty a cd:WaveHeight. }(SELECT timestamp,Hs FROM envdata_boscombe) UNION (SELECT timestamp,Hs FROM envdata_hornsea) UNION (SELECT timestamp,Hs FROM envdata_milford) UNION (SELECT timestamp,Hs FROM envdata_chesil) UNION (SELECT timestamp,Hs FROM envdata_perranporth) UNION (SELECT timestamp,Hs FROM envdata_westbay) UNION (SELECT timestamp,Hs FROM envdata_pevenseybay)SNEEqlSPARQLSTR
  • 34. Semantic Integrator IQSR2RmappingsrepositoryIntegration Query ServiceIQSTranslatorIntegrationInterfaceSNEE-WSCCO-WSClientQueryInterfacePullInterfaceaddSourceIntegrateAs (DataResourceAddressList, R2R document)DataResourceAddress(SNEEql)addQuerySPARQLQueryFactory (DataResourceName, SPARQLSream )DataResourceAddressgetResultSetGetStreamNewestItem(DataResourceName )repeatDataSet
  • 35. Hands-on 15Integrating and Querying streaming data through Ontologies
  • 36. Use the SemSorGrid4Env Integration and Query Service (IQS)
  • 37. Create an integrated resource from existing streams
  • 38. Create a mapping document in R2RML
  • 41. Write SPARQL-Stream queries over an ontology
  • 42. Launch continuous queries (create a pull data resource)
  • 43. Pull data periodically from a resourceDemoEnvironmentLocallyinstalled IQS:
  • 46. Access the service through a Java console client:
  • 51. Simulatedthrough a Java tuplegenerator:
  • 54. Launch the Java console client:>cd /home/developer/iqs/iqs-client>java -cptarget/classes:target/dependency/* eu.semsorgrid4env.service.iqs.client.IntegrationServiceClientConnect to IQS:-connect http://localhost:9090/iqs-ws
  • 56. CCO
  • 57. WaveNet<streamname="envdata_boscombe" type="push"> <columnname="timestamp"> <type class="timestamp"/> </column> <columnname="stream_name"> <type class ="string"/> </column> <columnname="Hs"> <type class ="float"/> </column> <columnname="Tsea"> <type class ="float"/> </column> <columnname="Lat"> <type class ="float"/> </column> <columnname="Lon"> <type class ="float"/> </column> </stream>
  • 59. iqs/iqs-client/mappingSimple.ttl:boscombeWaveObsMapping a rr:TriplesMapClass;rr:SQLQuery ""; rr:subjectMap [ rr:template "http://semsorgrid4env.eu/ns#Obs/WaveHeight/boscombe/{timestamp}";rr:classssn:Observation; rr:graphssg:waves.srdf];rr:tableName "envdata_boscombe";<http://semsorgrid4env.eu/ns#Obs/WaveHeight/bosocmbe/2011-05-20:20:00 > a ssn:Observation
  • 60. Integrating the sourcesIntegrationInterfaceIQSClientIntegrateAs (DataResourceAddressList, R2R document)DataResourceAddressIntegrate configuration:iqs/iqs-client/integrate.propertiesintegrated.resource.name = obsResourceintegrated.resource.mapping = mappingSimple.ttlintegrated.resource.list = http://webgis1.geodata.soton.ac.uk:8080/CCO/services/PullStream?wsdl,http://webgis1.geodata.soton.ac.uk:8080/WaveNet/services/PullStream?wsdlIntegrate:-integrateintegrate.properties
  • 66. Querying the new ResourceQueryInterfaceIQSClientSPARQLQueryFactory (DataResourceName, SPARQLStream )DataResourceAddressSamplequeryiqs/iqs-client/querySimple.sparqlSELECT ?obsWHERE { ?obs a ssn:Observation;}Launchcontinuousquery-queryquerySimple.sparqlobsResource
  • 67. Pulling DataPullInterfaceIQSClientGetStreamNewestItem(DataResourceName )repeatDataSetPulling data from the new resource-pull obsResource1<?xml version="1.0" encoding="UTF-8" standalone="yes"?><sparqlxmlns="http://www.w3.org/2007/SPARQL/results#"> <head> <variable name="obs"/> </head> <results> <result> <bindingname="obs"> <uri>http://semsorgrid4env.eu/ns#Obs/WaveHeight/boscombe/1306497537858</uri> </binding>…..List pull resources-lp
  • 68. TuplegeneratorLaunch the Tuplegenerator:>cd /home/developer/iqs/demo-client> java -cptarget/classes:target/dependency/* es.upm.fi.dia.oeg.integrator.client.TupleGenerator
  • 69. More on MappingsAddingpredicates to the Observation:boscombeWaveObsMapping a rr:TriplesMapClass;rr:SQLQuery ""; rr:subjectMap [ rr:template "http://semsorgrid4env.eu/ns#Obs/WaveHeight/boscombe/{timestamp}";rr:classssn:Observation; rr:graphssg:waves.srdf];rr:tableName "envdata_boscombe";rr:predicateObjectMap [rr:predicateMap [ rr:predicatessn:observationResult ]; rr:objectMap [ rr:column "Hs" ]], [rr:predicateMap [ rr:predicatessn:observationResultTime ]; rr:objectMap [ rr:column "timestamp" ]], [rr:predicateMap [ rr:predicatessn:observedProperty ]; rr:objectMap [ rr:objectcd:WaveHeight ]];.
  • 70. CreateanotherIntegratedresourceIntegrate configuration, change resourcename:iqs/iqs-client/integrate.propertiesintegrated.resource.name = waveResourceintegrated.resource.mapping = mappingSimple.ttlintegrated.resource.list = http://webgis1.geodata.soton.ac.uk:8080/CCO/services/PullStream?wsdl,http://webgis1.geodata.soton.ac.uk:8080/WaveNet/services/PullStream?wsdlIntegrate:-integrateintegrate.properties
  • 71. A more complex SPARQL querySamplequeryiqs/iqs-client/queryDemo.sparqlSELECT ?obs ?waveHeight ?wavetimeWHERE { ?obs a ssn:Observation;ssn:observationResult ?waveHeight; ssn:observedPropertycd:WaveHeight; ssn:observationResultTime ?wavetime. FILTER (?waveHeight > 0.2)}Launchcontinuousquery-queryqueryDemo.sparqlwaveResourcePull data-pull waveResource1
  • 74. The WaveNet Source: poolebaywave data::poolebayWaveObsMapping a rr:TriplesMapClass;rr:SQLQuery ""; rr:subjectMap [ rr:template "http://semsorgrid4env.eu/ns#Obs/WaveHeight/poolebay/{timestamp}";rr:classssn:Observation; rr:graphssg:waves.srdf];rr:tableName "envdata_wavenet_poolebay";rr:predicateObjectMap [ rr:predicateMap [ rr:predicatessn:observationResult ]; rr:objectMap [ rr:column "Hs" ]], [ rr:predicateMap [ rr:predicatessn:observationResultTime ]; rr:objectMap [ rr:column "timestamp" ]], [ rr:predicateMap [ rr:predicatessn:observedProperty ]; rr:objectMap [ rr:objectcd:WaveHeight ]];.
  • 76. Can query observations fromboth CCO and WaveNet
  • 78. Mappingother Sources, otherPropertiesSeatemperature observations::boscombeTseaObsMapping a rr:TriplesMapClass;rr:SQLQuery ""; rr:subjectMap [ rr:template "http://semsorgrid4env.eu/ns#Obs/Temperature/boscombe/{timestamp}";rr:classssn:Observation; rr:graphssg:waves.srdf];rr:tableName "envdata_boscombe";rr:predicateObjectMap [ rr:predicateMap [ rr:predicatessn:observationResult ]; rr:objectMap [ rr:column "Tsea" ]], [ rr:predicateMap [ rr:predicatessn:observationResultTime ]; rr:objectMap [ rr:column "timestamp" ]], [ rr:predicateMap [ rr:predicatessn:observedProperty ]; rr:objectMap [ rr:objectcd:SeaTemperature ]];.
  • 79. Modify the Query: GetTemperatureSamplequerySELECT ?obs ?value ?time WHERE { ?obs a ssn:Observation;ssn:observationResult ?value; ssn:observedPropertycd:SeaTemperature; ssn:observationResultTime ?time. FILTER (?value > 0.2)}Launchcontinuousquery-queryqueryDemo.sparqlnewResourcePull data-pull newResource2
  • 80. Refining the output: RDF Observations ssn:isProducedByssn:SensorOutputssn:Sensorssn:observedByssn:observationResultssn:hasValuessn:Observationssn:ObservationValuessn:observesssn:featureOfInterestquantityValuessn:observedPropertyssn:FeatureOfInterestxsd:datatypessn:Propertyssn:hasProperty
  • 81. ConstructQueriesSamplequeryCONSTRUCT { ?obs a ssn:Observation;ssn:observationResult [ a ssn:SensorOutput; ssn:hasValue [ a ssn:ObservationValue; ssg:hasQuantityValue ?waveHeight ]];ssn:observedPropertycd:WaveHeight; ssn:observationResultTime ?wavetime.}WHERE { ?obs a ssn:Observation;ssn:observationResult ?waveHeight; ssn:observedPropertycd:WaveHeight; ssn:observationResultTime ?wavetime. FILTER (?waveHeight > 0.9)}
  • 82. Pull RDF ObservationsPull data-pull newResource5<rdf:Descriptionrdf:about="http://semsorgrid4env.eu/ns#Obs/WaveHeight/boscombe/1306624735493-1916241349527545207"> <j.1:observationResultTime>1306624735493</j.1:observationResultTime> <j.1:observedPropertyrdf:resource="http://www.semsorgrid4env.eu/ontologies/CoastalDefences.owl#WaveHeight"/> <j.1:observationResultrdf:nodeID="A2"/> <rdf:typerdf:resource="http://purl.oclc.org/NET/ssnx/ssn#Observation"/> </rdf:Description> <rdf:Descriptionrdf:nodeID="A2"> <j.1:hasValuerdf:nodeID="A1"/> <rdf:typerdf:resource="http://purl.oclc.org/NET/ssnx/ssn#SensorOutput"/> </rdf:Description> <rdf:Descriptionrdf:nodeID="A1"> <j.0:hasQuantityValue>0.9518465</j.0:hasQuantityValue> <rdf:typerdf:resource=http://purl.oclc.org/NET/ssnx/ssn#ObservationValue/> </rdf:Description>
  • 83. Ontology-based Streaming Data QueryingSPARQL interface for Sensor data
  • 84. User queries over the SSN Ontology
  • 86. User unaware of underlying source schema details
  • 87. Query translation mechanism and delegation of query execution to streaming data processor
  • 88. Integrated virtual sources available for higher tier applications

Editor's Notes

  • #10: q(x)\\leftarrow Observation(x) \\wedge observationResult(x,y)\\\\q(\\vec{x})\\leftarrow \\phi(\\vec{x},\\vec{y}))\\mathit{\\Psi \\leadsto \\Phi}
  • #11: (Observation(x) \\wedge \\\\observationResult(x,y))[t_i,t_f,\\delta]\\\\