180 likes | 360 Views
A Semantically Enabled Service Architecture for Mashups over Streaming and Stored Data. Alasdair J G Gray University of Manchester Extended Semantic Web Conference 2011. Overview of the Talk. Motivation: Estuarine Flooding Semantic Sensor Web – SemSorWeb Requirements Architecture
E N D
A Semantically Enabled Service Architecture for Mashups over Streaming and Stored Data Alasdair J G Gray University of Manchester Extended Semantic Web Conference 2011
Overview of the Talk • Motivation: Estuarine Flooding • Semantic Sensor Web – SemSorWeb • Requirements • Architecture • Semantic property documents • Demo application: sample mashup Semantic service architecture for mashups – A. J. G. Gray
Motivation: Estuarine Flooding The Solent • Strait separating the Isle of Wight from English mainland • Busy shipping channel and ports • Complex tidal and wave patterns • Two high tides Semantic service architecture for mashups – A. J. G. Gray
The Solent Images: http://www.wikipedia.com/ Semantic service architecture for mashups – A. J. G. Gray
Estuarine Flooding • Financial implications • Damage • Loss of business • Personal factors • Emotional impact • Flood prediction • Locations • Severity • Requires correlating • Sea-state data • Weather forecasts • Details of sea defences • Response Planning • Evacuation routes • Personnel deployment • … • Requires more data • Traffic reports • Shipping • … Image: http://www.metro.co.uk/ Semantic service architecture for mashups – A. J. G. Gray
Flood Detection and Response Wave, Wind, Tide Real-time sensor data “Detect overtopping events in the Solent region” sea-level > sea-defence • Sea-level: sensors • Defence heights: databases “Provide contextual information” • Web feeds • Other sources: maps, models Meteorological forecasts Flood defences data(database) Other sources: Maps, models, … Semantic service architecture for mashups – A. J. G. Gray
Sensor Web Requirements “Provide flood risk details of overtopping events in the Solent region with high wind speed observations” “Provide flood risk details of overtopping events in the Solent region with high wind speed observations” “Provide flood risk details of overtopping events in the Solent region with high wind speed observations” “Provide flood risk details of overtopping events in the Solent region with high wind speed observations” “Provide flood risk details of overtopping events in the Solent region with high wind speed observations” “Provide flood risk details of overtopping events in the Solent region with high wind speed observations” • Accurate characterisation of conditions that define an event • Correlation of data of differing modalities • Integrating data from heterogeneous data models • Discovery of relevant data sources • Presentation and control of information Semantic service architecture for mashups – A. J. G. Gray
SemSorWeb Architecture Interfaces • Service Metadata • Registration • Discovery • Integration • Query • Data Access • Subscription • Notification Applications Application Services Semantic Registry Semantic Integrator Data Source Semantic Property Document Connectivity Bridge Concrete Resource
Reconcile Terminology Upper DOLCE UltraLite SWEET SSG4Env infrastructure SSN Service Schema External FOAF OrdnanceSurvey Flood domain Role AdditionalRegions CoastalDefences Semantic service architecture for mashups – A. J. G. Gray
Sea-State Sensor Data: Channel Coastal Observatory 43 sensors deployed around UK coast • Measuring • Tides (7) • Waves (24) • Weather conditions (12) • On and off shore • Bespoke hardware • Fixed functionality • Fixed data rate • Central data centre Semantic service architecture for mashups – A. J. G. Gray
Publishing CCO Sensor Data • Service Description • Streaming data service • Dataset Description • Spatiotemporal data coverage • Thematic data coverage • Tide height • Dataset schema description • envdata_sndownpier_tide (ts:int, Observed:float, Tz:float, Hs:float, HMax:float, Tp:float) <service:WebServicerdf:about="#cco-ws”> <rdfs:label>Channel coastal observatory streaming data service</rdfs:label> <service:hasInterfacerdf:resource="service:ssg4ePullStream"/> <service:hasDatasetrdf:resource="#envdata_SandownPier_Tide"/> <service:hasDatasetrdf:resource="#envdata_SandownPier_Met"/> </service:WebService> <sweet:Datasetrdf:about="#envdata_SandownPier_Tide"> <rdfs:label>envdata_SandownPier_Tide</rdfs:label> <service:coversRegionrdf:resource="&AdditionalRegions;SandownPierLocation"/> <time:hasTemporalExtentrdf:datatype="®istry;TemporalInterval”>[2005, NOW]</time:hasTemporalExtent>; <service:includesFeatureTyperdf:resource="&CoastalDefences;Sea"/> <service:includesPropertyTyperdf:resource="&CoastalDefences;TideHeight"/> <service:includesPropertyTyperdf:resource="&CoastalDefences;WaveHeight"/> <service:hasSchemardf:resource="#envdata_SandownPier_Tide_Schema"/> </sweet:Dataset> <schema:Streamrdf:about="#envdata_SandownPier_Tide_Schema"> <schema:extent-name>envdata_SandownPier_Tide</schema:extent-name> <schema:hasAttributerdf:resource="#HMax"/> <schema:hasAttributerdf:resource="#Tp"/> </schema:Stream> <schema:Attributerdf:about="#HMax"> <schema:attribute-name>HMax</schema:attribute-name> Semantic service architecture for mashups – A. J. G. Gray
Flood Web Application“Smashing it all together” Severe Weather Alert! Gale force winds, Boscombe Bay
User Login: Locate Relevant Data • User logs in selecting: • Role • Region • Task • Values parameterise registry lookups
Initial Display Inform user of potential overtopping events. Pose query to integrated data source. Semantic service architecture for mashups – A. J. G. Gray
Integrating Sensed and Stored Data CCO-Stored CCO-WS Integrator DQP Web Application Application Services GET http://…/geojson?interval=xxx&resource=yyy&query=zzz GET URL GET URL SPARQLExecuteFactory(integrator, query) GenericQueryFactory(snee, pull, query) URL EPR EPR SQLExecute(cco, query) WebRowSet GetStreamItem(snee:pull:<stream>, <pos>) GetStreamItem(snee:pull:<stream>, <pos>) GetStreamItem(cco:<stream>, <pos>) GetStreamItem(cco:<stream>, <pos>) GetStreamItem(cco:<stream>, <pos>) GetStreamItem(int:<stream>, <pos>) GetStreamItem(int:<stream>, <pos>) WebRowSet WebRowSet WebRowSet WebRowSet WebRowSet SPARQLResultSet SPARQLResultSet JSON JSON
Sensor Data Semantic service architecture for mashups – A. J. G. Gray
Conclusions: Requirements revisited • Accurate characterisation of conditions that define an event • Declarative queries • Correlation of data of differing modalities • Query evaluation over streaming and stored • Integrating data from heterogeneous data models • Ontology-based access to streaming and stored data • Discovery of relevant data sources • Semantic registry • Presentation and control of information • Application services to support, e.g. smash-ups Semantic service architecture for mashups – A. J. G. Gray
Acknowledgements • For more information: http://www.semsorgrid4env.eu/ • Demo application: http://www.semsorgrid4env.eu/services/dynamic-demo Semantic service architecture for mashups – A. J. G. Gray