A Semantically Enabled Service Architecture for Mashups over Streaming and Stored Data
Alasdair J G GrayUniversity of Manchester
Extended Semantic Web Conference 2011
Semantic service architecture for mashups – A. J. G. Gray 2
Overview of the Talk• Motivation: Estuarine Flooding• Semantic Sensor Web – SemSorWeb
– Requirements– Architecture
• Semantic property documents• Demo application: sample mashup
June 2011
3Semantic service architecture for mashups – A. J. G. Gray
Motivation: Estuarine FloodingThe Solent• Strait separating the Isle of Wight from English
mainland• Busy shipping channel and ports• Complex tidal and wave patterns
– Two high tides
June 2011
Semantic service architecture for mashups – A. J. G. Gray 4
The Solent
June 2011
Images: http://www.wikipedia.com/
Semantic service architecture for mashups – A. J. G. Gray 5
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– …
June 2011Image: http://www.metro.co.uk/
Semantic service architecture for mashups – A. J. G. Gray 6
Flood defences data (database)
Meteorological forecasts
Flood Detection and Response“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
June 2011
Real-time sensor data
Wave,Wind,Tide
Other sources:Maps, models, …
Semantic service architecture for mashups – A. J. G. Gray 7
1. Accurate characterisation of conditions that define an event
2. Correlation of data of differing modalities3. Integrating data from heterogeneous data
models4. Discovery of relevant data sources5. Presentation and control of information
June 2011
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”
8
ApplicationServices
Semantic Registry
Semantic Integrator
Data Source
Connectivity Bridge
Applications
Concrete Resource
SemSorWeb ArchitectureInterfaces• Service Metadata• Registration• Discovery• Integration• Query• Data Access• Subscription• Notification
June 2011
Semantic Property
Document
Semantic service architecture for mashups – A. J. G. Gray 9
Reconcile Terminology
SSN
SWEET
Service
Coastal Defences
Ordnance Survey
Additional Regions
Role
DOLCE UltraLite
Schema
FOAF
Upper
External
SSG4Env infrastructure
Flood domain
June 2011
Semantic service architecture for mashups – A. J. G. Gray 10
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
June 2011
Semantic service architecture for mashups – A. J. G. Gray 11
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:WebService rdf:about="#cco-ws”> <rdfs:label>Channel coastal observatory streaming data service</rdfs:label> <service:hasInterface rdf:resource="service:ssg4ePullStream"/> <service:hasDataset rdf:resource="#envdata_SandownPier_Tide"/> <service:hasDataset rdf:resource="#envdata_SandownPier_Met"/></service:WebService><sweet:Dataset rdf:about="#envdata_SandownPier_Tide"> <rdfs:label>envdata_SandownPier_Tide</rdfs:label> <service:coversRegion rdf:resource="&AdditionalRegions;SandownPierLocation"/> <time:hasTemporalExtent rdf:datatype="®istry;TemporalInterval”>[2005, NOW]</time:hasTemporalExtent>; <service:includesFeatureType rdf:resource="&CoastalDefences;Sea"/> <service:includesPropertyType rdf:resource="&CoastalDefences;TideHeight"/> <service:includesPropertyType rdf:resource="&CoastalDefences;WaveHeight"/> <service:hasSchema rdf:resource="#envdata_SandownPier_Tide_Schema"/></sweet:Dataset><schema:Stream rdf:about="#envdata_SandownPier_Tide_Schema"> <schema:extent-name>envdata_SandownPier_Tide</schema:extent-name> <schema:hasAttribute rdf:resource="#HMax"/> <schema:hasAttribute rdf:resource="#Tp"/></schema:Stream><schema:Attribute rdf:about="#HMax"> <schema:attribute-name>HMax</schema:attribute-name>
June 2011
14
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
Semantic service architecture for mashups – A. J. G. Gray 17
Initial Display
June 2011
Inform user of potential overtopping events.
Pose query to integrated data source.
Integrating Sensed and Stored DataWeb
ApplicationApplication
Services Integrator DQP CCO-WS CCO-StoredGET http://…/geojson?interval=xxx&resource=yyy&query=zzz
SPARQLExecuteFactory(integrator, query)
GenericQueryFactory(snee, pull, query)EPR
EPR
URL
JSON
GET URL
SPARQLResultSet
GetStreamItem(int:<stream>, <pos>)
WebRowSet
SQLExecute(cco, query)
GetStreamItem(cco:<stream>, <pos>)
WebRowSet
GetStreamItem(snee:pull:<stream>, <pos>)
WebRowSetGetStreamItem(cco:<stream>, <pos>)
WebRowSet
GetStreamItem(snee:pull:<stream>, <pos>)
WebRowSet
GetStreamItem(cco:<stream>, <pos>)
WebRowSetJSON
GET URL
SPARQLResultSet
GetStreamItem(int:<stream>, <pos>)
Semantic service architecture for mashups – A. J. G. Gray 19
Sensor Data
June 2011
Semantic service architecture for mashups – A. J. G. Gray 20
Conclusions: Requirements revisited
1. Accurate characterisation of conditions that define an event– Declarative queries
2. Correlation of data of differing modalities– Query evaluation over streaming and stored
3. Integrating data from heterogeneous data models– Ontology-based access to streaming and stored data
4. Discovery of relevant data sources– Semantic registry
5. Presentation and control of information– Application services to support, e.g. smash-ups
June 2011
Semantic service architecture for mashups – A. J. G. Gray 21
Acknowledgements• For more information:
http://www.semsorgrid4env.eu/• Demo application:
http://www.semsorgrid4env.eu/services/dynamic-demo
June 2011