390 likes | 526 Views
Ontology-based Stream/Sensor Data Modeling. Presented by: Ashraf Heydari Supervisor: Dr. Kahani. Outline. Introduction & Motivation Approach Ontology Model URI Definition SPARQL Extensions Example Conclusions References. Introduction & Motivation. Sensor Networks.
E N D
Ontology-based Stream/Sensor Data Modeling Presented by: AshrafHeydari Supervisor: Dr. Kahani
Outline • Introduction & Motivation • Approach • Ontology Model • URI Definition • SPARQL Extensions • Example • Conclusions • References
Sensor Networks • Increasing availability of cheap, robust, deployable sensors as ubiquitous information sources • Dynamic and reactive, but noisy, and unstructured data streams
Different Kinds of Sensors Sensor Dataset Weather Sensors GPS Sensors Satellite Sensors Camera Sensors
The Sensor Web • Universal, web-based access to sensor data
Streaming Data (t9, a1, a2, ... , an) (t8, a1, a2, ... , an) (t7, a1, a2, ... , an) ... ... (t1, a1, a2, ... , an) ... ... • Continuously appended data • Potentially infinite • Time-stamped tuples • Continuous queries • Changes of values over time • Latest used in queries Streaming Data
A Set of Challenges in Sensor Data Management • Provisioning • Complexity of acquisition: distributed sources, data volumes • Pre-processingincoming data • Tools for data ingestion needed • Spatial/temporal • Analysis, modeling • Discovery: identify sources, metadata • Data quality: faulty data, loss, estimates • Analysis models • Republish analytic results • Workflows for data stream processing
A Set of Challenges in Sensor Data Management • Interoperability • Data aggregation/integration • Uncertainty, data quality • Noise, failures, measurement errors, confidence, trust • Distributed processing • High volume, time critical • Fault-tolerance • Load management • Stream processing features • Continuous queries • Live & historical data
A Set of Challenges in Sensor Data Management • Interoperability • Data aggregation/integration • Uncertainty, data quality • Noise, failures, measurement errors, confidence, trust • Distributed processing • High volume, time critical • Fault-tolerance • Load management • Stream processing features • Continuous queries • Live & historical data
A Semantic Perspective on These Challenges • Sensor data model representation and management • For data publication, integration and discovery • Bridging between sensor data and ontological representations for data integration • Ontologies: Observations and measurements, time series, etc. • Event models • Sensor data querying and (pre-)processing • Data heterogeneity • Data quality • New inferencecapabilitiesrequired to dealwith sensor information • User interactionwith sensor data
Semantic Sensor Web/ Linked Stream-Sensor Data (LSD) • A representation of sensor/stream data following the standards of Linked Data • Adding semantics allows the search and exploration of sensor data withoutany prior knowledge of the data source • Using the principles of Linked Data facilitates the integration of stream data to the increasingnumber of Linked Data collections
Some Examples • Meteorological data in Spain: automatic weather stations • http://aemet.linkeddata.es/ • Live sensors in Slovenia • http://sensors.ijs.si/ • Channel Coastal Observatory in Southern UK • http://webgis1.geodata.soton.ac.uk/flood.html
How to Deal with Linked Stream/Sensor Data • An ontology model • URI definition • SPARQL extensions • To handle time and tuple windows
SSN Ontologies. History • Several efforts since approx. 2005 • In 2009, a W3C incubator group was started, which has just finished • Ontology: http://purl.oclc.org/NET/ssnx/ssn • A good number of internal and external references to SSN Ontology • SSN Ontology paper submitted to Journal of Web Semantics
Overview of The SSN Ontology Modules Deployment System OperatingRestriction Process Device PlatformSite Data Skeleton MeasuringCapability ConstraintBlock
Overview of The SSN Ontologies deploymentProcesPart only Deployment System OperatingRestriction hasSubsystem only, some hasSurvivalRange only SurvivalRange DeploymentRelatedProcess hasDeployment only System OperatingRange Deployment hasOperatingRange only deployedSystem only deployedOnPlatform only Process hasInput only inDeployment only Device Input Device Process onPlatform only PlatformSite Output Platform hasOutput only, some attachedSystem only Data Skeleton implements some isProducedBy some Sensor Sensing hasValue some SensorOutput sensingMethodUsed only detects only SensingDevice observes only ObservationValue SensorInput isProxyFor only Property isPropertyOf some includesEvent some observedProperty only observationResult only hasProperty only, some observedBy only Observation FeatureOfInterest featureOfInterest only MeasuringCapability ConstraintBlock hasMeasurementCapability only forProperty only inCondition only inCondition only MeasurementCapability Condition
SSN Ontology. Sensor and Environmental Properties Skeleton Property MeasuringCapability Communication hasMeasurementProperty only MeasurementCapability MeasurementProperty Accuracy Resolution Selectivity Frequency Precision Latency DetectionLimit Drift ResponseTime Sensitivity MeasurementRange OperatingRestriction EnergyRestriction hasOperatingProperty only OperatingProperty OperatingRange EnvironmentalOperatingProperty MaintenanceSchedule OperatingPowerRange hasSurvivalProperty only SurvivalRange SurvivalProperty EnvironmentalSurvivalProperty SystemLifetime BatteryLifetime
A Usage Example Upper DOLCE UltraLite SWEET SSG4Env infrastructure SSN Schema Service External FOAF OrdnanceSurvey Flood domain Role CoastalDefences AdditionalRegions
How to Deal with Linked Stream/Sensor Data • An ontology model • URI definition • SPARQL extensions • To handle time and tuple windows
URI Definition • No clear practices yet • We have to identify… • Sensors • Features of interest • Properties • Observations • Debate between being observation or sensor-centric • Observation-centric seems to be the winner
How to Deal with Linked Stream/Sensor Data • An ontology model • URI definition • SPARQL extensions • To handle time and tuple windows
... ... ( <si-1,pi-1, oi-1>, ti-1 ), ( <si, pi, oi>, ti ), ( <si+1,pi+1, oi+1>, ti+1), ... ... SPARQLStream • RDF-Stream Example: “provide me with the wind speed observations over the last minute in the Solent Region ” STREAM <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:observationResult xsd:double
SPARQLStream Example: “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 ?windspeed ?windts FROM STREAM <http://www.semsorgrid4env.eu/ccometeo.srdf> [ NOW – 1 MINUTE TO NOW – 0 MINUTES ] WHERE { ?WindObs a cd:Observation; cd:observationResult ?windspeed; cd:observationResultTime ?windts; cd:observedProperty ?windProperty; cd:featureOfInterest ?windFeature. ?windFeature a cd:Feature; cd:locatedInRegioncd:SolentCCO. ?windProperty a cd:WindSpeed. } cd:Observation cd:observationResult cd:observedProperty xsd:double cd:Property cd:featureOfInterest cd:Feature cd:locatedInRegion cd:Region
Queries to Sensor/Stream Data SNEEql RSTREAM SELECT id, speed, direction FROM wind[NOW]; Streaming SPARQL PREFIX fire: <http://www.semsorgrid4env.eu/ontologies/fireDetection#> SELECT ?sensor ?speed ?direction FROM STREAM <http://…/SensorReadings.rdf> WINDOW RANGE 1 MS SLIDE 1 MS WHERE { ?sensor a fire:WindSensor; fire:hasMeasurements ?WindSpeed, ?WindDirection. ?WindSpeed a fire:WindSpeedMeasurement; fire:hasSpeedValue ?speed; fire:hasTimestampValue ?wsTime. ?WindDirection a fire:WindDirectionMeasurement; fire:hasDirectionValue ?direction; fire:hasTimestampValue ?dirTime. FILTER (?wsTime == ?dirTime) } C-SPARQL REGISTER QUERY WindSpeedAndDirection AS PREFIX fire: <http://www.semsorgrid4env.eu/ontologies/fireDetection#> SELECT ?sensor ?speed ?direction FROM STREAM <http://…/SensorReadings.rdf> [RANGE 1 MSEC SLIDE 1 MSEC] WHERE { …
SPARQL-STR v1 SELECT ?waveheight FROM STREAM <www.ssg4env.eu/SensorReadings.srdf> [FROM NOW -10 MINUTES TO NOW STEP 1 MINUTE] WHERE { ?WaveObs a sea:WaveHeightObservation; sea:hasValue ?waveheight; } SELECT measuredFROM wavesamples [NOW -10 MIN] conceptmap-def WaveHeightMeasurement virtualStream <http://ssg4env.eu/Readings.srdf> uri-as concat('ssg4env:WaveSM_', wavesamples.sensorid,wavesamples.ts) attributemap-defhasValue operation constant has-columnwavesamples.measured dbrelationmap-def isProducedBy toConcept Sensor joins-via condition equals has-column sensors.sensorid has-columnwavesamples.sensorid conceptmap-def Sensor uri-as concat('ssg4env:Sensor_',sensors.sensorid) attributemap-def hasSensorid operation constant has-column sensors.sensorid Query translation SNEEql SPARQLStream Query Processing Stream-to-Ontology mappings Client Sensor Network Data translation [tuples] [triples] S2O Mappings
SPARQL-STR v2 GSN Query translation SNEEql, GSN API Sensor Network (S1) SPARQLStream Relational DB (S2) Query Evaluator Stream-to-Ontology Mappings (R2RML) Client Stream Engine (S3) RDF Store (Sm) Data translation [tuples] [triples] Ontology-based Streaming Data Access Service
SwissEx • Global Sensor Networks, deployment for SwissEx. • Distributed environment: GSN Davos, GSN Zurich, etc. • In each site, a number of sensors available • Each one with different schema • Metadata stored in wiki • Federated metadata management
Getting things done • Transformed wiki metadata to SSN instances in RDF • Generated R2RML mappings for all sensors • Implementation of Ontology-based querying over GSN • Fronting GSN with SPARQL-Stream queries • Numbers: • 28 Deployments • Aprox. 50 sensors in each deployment • More than 1500 sensors • Live updates. Low frequency • Access to all metadata/not all data
Sensor Metadata station location sensors model properties
Sensor Data: Observations • GSN (Global Sensor Networks) is a database software middleware designed to facilitate the deployment and programming of sensor networks. • The software takes data (either directly from a sensor or from a CSV file), enters it into a database and provides a web-based query interface. • It is completely generalised and able to handle sensors of all types.
Conclusions • Sensor data is yet another good source of data with some special properties • Everything that we do with our relational datasets or other data sources can be done with sensor data • Adding semantics allows the search and exploration of sensor data without any prior knowledge of the data source • Using the principles of Linked Data facilitates the integration of stream data to the increasing number of Linked Data collections
References • Semantic Sensor Network XG Final Report, W3C Incubator Group Report 28 June 2011, http://www.w3.org/2005/Incubator/ssn/XGR-ssn-20110628/ • K. Janowicz and M. Compton The Stimulus-Sensor-Observation Ontology Design Pattern and its Integration into the Semantic Sensor Network Ontology. In The 3rd International workshop on Semantic Sensor Networks 2010 (SSN10) in conjunction with the 9th International Semantic Web Conference (ISWC 2010), 2010. • P. Barnaghi, S. Meissner and M. Presser Sense and sensability: Semantic data modelling for sensor networks. In Proceedings of the ICT Mobile Summit 2009, pp. 1-9, 2009. • M. Compton, C. Henson, H. Neuhaus, L. Lefort and A. Sheth A Survey of the Semantic Specification of Sensors. In Proceedings of the 2nd International Workshop on Semantic Sensor Networks (SSN09) at ISWC 2009, pp. 17-32, 2009. • M. Compton, H. Neuhaus, K. Taylor and K. Tran Reasoning about Sensors and Compositions. In Proceedings of the 2nd International Workshop on Semantic Sensor Networks (SSN09) at ISWC 2009, pp. 33-48, 2009. • P. Barnaghi and M. Presser Publishing Linked Sensor Data. In The 3rd International workshop on Semantic Sensor Networks 2010 (SSN10) in conjunction with the 9th International Semantic Web Conference (ISWC 2010), 2010. • A. Gray, J. Sadler, O. Kit, K. Kyzirakos, M. Karpathiotakis, J. Calbimonte, K. Page, R. Garc´ıa-Castro, A. Frazer, I. Galpin, A. Fernandes, N. Paton, M. Koubarakis, D. De Roure, K. Martinez, A. G´omez-P´erez. A Semantic Sensor Web for Environmental Decision Support Applications.In Sensors 11, no. 9, 2011. • R. GarcÃa Castro, C. Hill and O. Corcho Sensor network ontology suite v2. Deliverable D4.3v2, SemSorGrid4Env SemSorGrid4Env: Semantic Sensor Grids for Rapid Application Development for Environmental Management, 2011. • H. Neuhaus , M. Compton The Semantic Sensor Network Ontology: A Generic Language to Describe Sensor Assets. In AGILE Workshop Challenges in Geospatial Data Harmonisation, 2009. • D.F.Barbieri, D.Braga, S.Ceri, E.Della Valle, M.Grossniklaus Querying RDF Streams with C-SPARQL . In SIGMOD Record, 2010. • D.F.Barbieri, D.Braga, S.Ceri, E.Della Valle, M.GrossniklausC-SPARQL: SPARQL for continuous querying. In: WWW '09, 2009. • A. Salehi, M. Riahi, S. Michel, and K. Aberer. GSN, Middleware for Streaming World (Best Demo Award). NCCR-MICS, NCCR-MICS/CL4, 2009.