Review of semantic enablement techniques used in geospatial and semantic standards for legacy and opportunistic mashups Laurent Lefort, Australian Ontology Workshop 2009
Standards for Semantic Sensor Mashups
CSIRO. Standards for Semantic Sensor Mashups
Outline of the talk
• Which standards for which mashups? • Server-side/legacy or client-side/opportunistic
• Semantic-enabled?• Semantic enablement pathways
• Links and annotations
• Meshup “value pyramid”
• Review of specific standards• XLink, RDFa, SAWSDL/hRESTs
• Failure risk and validation issues• Conclusion
CSIRO. Standards for Semantic Sensor Mashups
Web 2.0 & 3.0 (Sem Web) rocks XML and WSDL don’t (anymore)
Matt Jones http://www.flickr.com/photos/blackbeltjones/3150215637/
WHICH STANDARDS FOR WHICH MASHUPS?
CSIRO. Standards for Semantic Sensor Mashups
Motivations: W3C Semantic Sensor Network incubator group
Registries & Dictionaries
Sensor and obs.
Sensors and Observations
Linking Open Data resources
OGC Services (SOS, SPS, SAS, SES)
Semanticaly-annotated OGC services
(SOS, SPS, SAS, …)
Enable semantic service integration
Semantic annotations
Ontology-enabled APIs
Ontology-enabled
reference datasets
Enable semantic mashups
To begin the formal process of producing ontologies that define the capabilities of sensors and sensor networks
To develop semantic annotations of a key language used by services based sensor networks
(especially the ones developed by the Open Geospatial Consortium)
Semantic annotations - for OGC services?- for Mashups?
CSIRO. Standards for Semantic Sensor Mashups
Server-side mashups (Web 1.0 & 2.0)
• Server-side mashups• Server-side software component accessing XML files, Databases,
SOAPful or RESTful web services
• The result is generally packaged as a web service
• For legacy resources: • Complex APIs
• Workflow engine and wrappers
• Output in XML
CSIRO. Standards for Semantic Sensor Mashups
Client-side mashups (Web 1.0 & 2.0)
• Client-side mashup: • Client-side scripts accessing mashable resources (RESTful
services mostly)
• The result is packaged into an interactive web application
• For opportunistic mashups: • Simpler APIs
• Scripting languages
• Output in HTML
CSIRO. Standards for Semantic Sensor Mashups
Server-side semantic mashups (Web 3.0)
• Server side mashup:• Semantic enablement of XML files, Databases, SOAPful or
RESTful web services (SAWSDL)
• Integration with linking open data and ontologies services through triple stores (APIs or resources)
CSIRO. Standards for Semantic Sensor Mashups
Example of semantic composition (server side)
• Composer’s Workbench• XML-RDF
• Wrap complex services using semantic annotations mapping WSDL/XML schema to DL ontology (also SQL DBs)
• New requirements: provenance XG
Cameron et al. (2009) Semantic Solutions for Integration of Federated Ocean Observations
CSIRO. Standards for Semantic Sensor Mashups
Client-side semantic mashups (Web 3.0)
• Client side mashup:• Enrichment of HTML resources with RDFa markup allowing to “lift”
the content into RDF
• Reduction of number of APIs to handle by scripts (SPARQL or equivalent)
CSIRO. Standards for Semantic Sensor Mashups
Example of semantic pipes (client side)
• Sensor masher (browser-based)• RDF-HTML (RESTful services, Javascript)
• Avoid the use of proprietary or product-specific APIs
• Leverage URI-based data integration (Linked Open Data)
• Lightweight pipes (user-defined) based on DERI Pipes
Danh Le Phuoc (2009): SensorMasher : publishing and building mashup of sensor data
CSIRO. Standards for Semantic Sensor Mashups
Semantic enablement: where?
CSIRO. Standards for Semantic Sensor Mashups
Four semantic enablement pathways: Server-side (1,2, 3) or client-side (3,4)
• 1. Include RDF (SKOS/OWL) resources in XML using XLink,• 2. Annotate SOAPful web services with SAWSDL• 3. Annotate RESTful web services with hRESTs
(SA-REST/MicroWSMO),• 4. Include RDF (SKOS/OWL) resources in HTML using RDFa.
1
4
2 33
1
1
1
XML HTML
CSIRO. Standards for Semantic Sensor Mashups
A possible use case with all types of mashups bundled together
Model Mashups
Web mashups
Search
Legacy OGC
services
Legacy OGC aggregator
(e.g. ArcGIS)
RDF-ized OGC
service
Composed services
Semantic mashups
Geospatial mashups
Model pipes
Geo Mashups
Legacy services
(XML+REST/WSDL) Legacy mashups
(XML+REST/WSDL)
Web mashups
Search
Geo Mashups
Model Mashups
Web pages mashups (HTML)Geospatial mashups (XML/JSON+REST)
Semantic pipes
RDF-ized Composed
service
RDF-ized OGC
Aggregator
Model mashups (XML/JSON+REST)
Semantic mashups (RDF/JSON+SPARQL)
Semantic web page mashups (HTML+RDFa)
1 42 32 33
CSIRO. Standards for Semantic Sensor Mashups
Meshup “value pyramid”
• Semantic mashups over• RDFa content embedded in web
pages• Linked Open Data resources• XML, database and web service
resources
• Meshup• A semantically mashable
semantic mashup• a mashup consuming and serving
SW content,
• RDFa standard is disruptive• New generation of SW apps• New “value pyramid” top
RDF-ization (Lifting layer)
Linked Open Data resources
SPARQL protocol
HTML/RDFa
Mesh ups
Legacy Resources (XML, Database, Web services)
Extension of Kingsley Idehen’s pyramid: “Getting The Linked Data Value Pyramid Layers Right (Updated)”
XML
RDF
HTML
CSIRO. Standards for Semantic Sensor Mashups
Meshup standard “value pyramid” vs. TBL’s Cracks and Mortar
RDF-ization (Lifting layer)
Linked Open Data resources
SPARQL protocol
HTML
Mashups
Legacy Resources (XML, Database, Web services)
Tim Berners-Lee, Cracks and Mortar W3C TPAC 2007
CSIRO. Standards for Semantic Sensor Mashups
Meshup standard “value pyramid”vs. new “Cracks and Mortar”
Ontology of objects
Virtual RDF data
XML Schema
Existing SQL DB
SQL Schema
Lifting script
XSLT or Xquery
HTML pages
Ontology of objects
Virtual RDF data
Ontology of objects Virtual
RDF data
RDB-RDF Mapping
RDFa markup
Existing XML
GRDDLmarkup
Lifting service
Lifting service
RDFa service
SparQL
SparQL SparQL
Users
Mashup site
Mashup site
Mashup site
Mashup site
HTTP + HTML (RDFa) + SVG + DOM + JS + Mashable APIs
XML or JSON + HTTP + JS + Mashable APIs
HTTP + HTML (RDFa) + SVG + DOM + JS + Mashable APIs
RDF-ization (Lifting layer)
Linked Open Data resources
SPARQL protocol
HTML/RDFa
Mesh ups
Legacy Resources (XML, Database, Web services)
CSIRO. Standards for Semantic Sensor Mashups
Definitions: links, annotations, lifting operations
• Links specifies the inclusion of remotely managed resources.• Mechanisms used to extend available content from any type of
resources with information sourced from remotely managed content (type or instance).
• Possible between two documents of the same type or between documents of different types.
• Semantic annotations define how to map service capabilities to semantic definitions to enable the discovery or composition of web services.
• The transition from XML-based services to RDF-based services is called a lifting operation (Farrell and Lausen 2007) and the inverse one, from RDF to XML is called a lowering operation.
CSIRO. Standards for Semantic Sensor Mashups
Semantic enablement pathways using differentlinking and annotation standards
• 1. Include RDF (SKOS/OWL) resources in XML using XLink,
• 2. Annotate SOAPful web services with SAWSDL
• 3. Annotate RESTful web services with hRESTs (SA-REST/MicroWSMO),
• 4. Include RDF (SKOS/OWL) resources in HTML using RDFa.
RDF-ization (Lifting layer)
Linked Open Data resources
SPARQL protocol
HTML/RDFa
Mesh ups
Legacy Resources (XML, Database, Web services)1
2 3
4
XLink
SAWSDL
hRESTs
RDFa
Lifting operations
1
2
3
4
CSIRO. Standards for Semantic Sensor Mashups
Semantically-enabled XML resources and XLink
HTTP + HTML + SVG + DOM + JS + RDF + OWL + SPARQL
Ontology of objects
Virtual RDF data
XML Schema
Lifting script
XSLT or Xquery Existing XML
GRDDLmarkup
Lifting service
SparQL
~1
CSIRO. Standards for Semantic Sensor Mashups
Variants of XLink usage
Existing XML
XLinkmarkup
Existing XML
(instances)
Existing XML
XLinkmarkup
Existing XML
(types)
Existing XML
XLinkmarkup
Existing RDF
(instances)
Existing XML
XLinkmarkup
Existing OWL
(types)
Xlink hrefor URNs for ontologies (class or property)
Xlink hrefor URNs for
“data” (individuals)
Inclusion of remote resources
Inclusion of remote semantic resources
Model reference to ontological descriptionDescribed in GML spec. xlink
@href
Xlink @href and SWE/GML@definition
Model reference to ontological description
Xlink @role and @arcrole
Xlink @role, @arcrole and SWE/GML @definition
CSIRO. Standards for Semantic Sensor Mashups
XLink and RDF
Attribute Description Intended RDF
xlink:href Identifier of the resource which is the target of the association, given as a URI
rdf:about of range resource
xlink:role Nature of the target resource, given as a URI
rdf:about of class of range resource
xlink:arcrole Role or purpose of the target resource in relation to the present resource, given as a URI
rdf:about of object property linking domain element to range resource
xlink:title Text describing the association or the target resource
rdfs:comment
CSIRO. Standards for Semantic Sensor Mashups
Usage of XLink in GML – related to URNs
• Conventions defined by the GML standard (Portele 2007)• Portele C. (2007): OpenGIS® Geography Markup Language (GML)
Encoding Standard version 3.2.1 OGC 07-036 Open Geospatial Consortium 2007-08-27
• Reference to an object element in the same GML document <myProperty xlink:href="#o1"/>
• Reference to an object element in a remote XML document using the gml:id value of that object: <myProperty xlink:href="http://my.big.org/test.xml#o1"/>
• Reference to an object element with a uniform resource name may be encoded as follows (a URN resolver is required): <myProperty xlink:href="urn:x-ogc:def:crs:EPSG:6.3:4326"/>
• URN: Uniform Resource Name • May or may not correspond to Semantic Web resources
• http://en.wikipedia.org/wiki/Uniform_Resource_Name
• URN is a generic resource naming mechanism: the mapping of a URN to a class, property or individual is not normalised
CSIRO. Standards for Semantic Sensor Mashups
Current XLink usage
• Sheth Semantic Sensor Markup of Data and Services SSN-XG briefing
• XLink @href pointing to individual
• Luis Bermudez Enriching SOS services with Ontologies - OOSTethys/OceansIE and MMI SSN-XG briefing
• XLink @href pointing to individual
• Janowicz et al. (2009; forthcoming): Semantic Enablement for Spatial Data Infrastructures. Transactions in GIS.
• XLink @href pointing to individual with @role pointing to sawsdl:modelReference (should be arcrole)
• Correct use of sawsdl:modelReference in XML schema but does not define the associated lifting script
• Compton et al. (2009) A Survey of the Semantic Specification of Sensors, in Proc. International Workshop on Semantic Sensor Networks SSN’09 CEUR-WS Vol. 552
• XLink @href pointing to undefined concepts (#AirTemperature)
CSIRO. Standards for Semantic Sensor Mashups
Major issues with XLink (and its usage in OGC)
• ISSUE: URNs can point to an individual, a class or a property • No guidelines on these three types of URN
• <swe:Quantity definition="urn:ogc:def:property:SBE:batteryCurrent">
• Confusion between XLink @role vs. @arcrole • Ex of a property URN (here, @arcrole should be used): <swe:field
name="Battery Current“ xlink:role="urn:ogc:def:property:powerSupply">
• Same issue with the @definition attribute
• Usage of @href (to an individual) generally correct• Because the majority of the community developing and using OGC
standard plans to use SKOS to manage vocabulary elements
CSIRO. Standards for Semantic Sensor Mashups
Semantically-enabled web pages (RDFa)
HTTP + HTML (RDFa) + DOM + JS + RDF + OWL + SPARQL
HTML pages
Ontology of objects
Virtual RDF data
RDFa markup
RDFa service
SparQL
4
CSIRO. Standards for Semantic Sensor Mashups
Variants of RDFa usage comparable to XLink
Existing HTML
RDFamarkup
Existing RDF
(instances)
Existing HTML
RDFamarkup
Existing OWL
(types)
Linkage to remote individuals Mapping to ontology classesDescribed in RDFa spec.
Example: @about Described in RDFa spec.
Example: @typeOf
Existing HTML
RDFamarkup
Existing OWL
(properties)
Mapping to ontology propertiesDescribed in RDFa spec.
Example: @property
CSIRO. Standards for Semantic Sensor Mashups
XLink – RDFa comparison
RDF mapping Xlink RDFa
Domain instance about or src
Domain class typeof
Object property arc role rel
Inverse object property rev
Range instance href href or resource
Range class role typeof
Datatype property property
Datatype property type role datatype
Range value content or element content
CSIRO. Standards for Semantic Sensor Mashups
Tentative use of RDFa instead of XLink
• Barnaghi et al. Sense and Sensíability: Semantic Data Modelling for Sensor Networks, in Proc. of the ICT Mobile Summit 2009, June 2009.
• SWE’s @definition mapped to class
• RDFa-inspired (to fix): • OWL-like attribute namespaces to clear • @about mapped to individual, • @datatype mapped to xsd type, • @resource used but without corresponding @property, • @ID used, • URI conventions?
• It is important to note that RDFa obeys to a rigorous specification which allows the development and usage of generic lifting scripts
CSIRO. Standards for Semantic Sensor Mashups
Variants of RDFa usage in relation to hRESTs
• Two possibilities to do semantic markup of HTML files• Microformats
• RDFa
CSIRO. Standards for Semantic Sensor Mashups
Semantically-enabled RESTful web services (hREST-microformat)
HTTP + HTML + SVG + DOM + JS + RDF + OWL + SPARQL
HTML description
Dynamic XML
hRESTs-micro-
formatsmarkup
Ontology of objects
Lifting script
RESTful service
Service ontology
RDF description of service
Lifting service for data
XSLT or Xquery SA-REST or MicroWSMO
?
Semantically-enabled output
Semantically-enabled service
Lifting operation
and service ontology
hard-coded
Lifting script
3 ~4
CSIRO. Standards for Semantic Sensor Mashups
Semantically-enabled RESTful web services (hREST-RDFa)
HTTP + HTML + SVG + DOM + JS + RDF + OWL + SPARQL
HTML description
Dynamic XML
hRESTs-in-RDFamarkup
Ontology of objects
Lifting script
RESTful service
Service ontology
RDF description of service
Lifting service for data
XSLT or Xquery SA-REST or MicroWSMO
?
Semantically-enabled output
Semantically-enabled service
Lifting operation following
RDFa spec.
3 ~4
CSIRO. Standards for Semantic Sensor Mashups
hRESTs-microformat vs. hRESTs-RDFa
RDF mapping hRESTs-microformat hRESTs-RDFa
Domain instance id (URL-prefixed) about
Domain class class (closed list) typeof
Object property ref=”model” rel
Inverse object property rev
Range instance href or resource
rdf:about of range class href typeof
Datatype property property
Datatype property type datatype
Range value content or element content
CSIRO. Standards for Semantic Sensor Mashups
hRESTs-RDFa preferred to hRESTs-microformat
• hRESTs-microformat forces the user to pick the service ontology and have access to the corresponding lifting script
• SAREST ontology ~ what’s used in SAWSDL• http://knoesis.wright.edu/research/srl/standards/sa-rest/
• MicroWSMO ontology: WSMO-Lite: • http://www.wsmo.org/ns/wsmo-lite/
• hRESTs-RDFa allows to specify the service ontology the mapping definitions will be lifted to
• e.g. one adapted to a specific platform • sensor networks, grid computing, …
• It should be possible to have a similar freedom of choice with SAWSDL
• It’s not the case right now (next slide)
CSIRO. Standards for Semantic Sensor Mashups
Semantically-enabled SOAPful web services
HTTP + HTML + SVG + DOM + JS + RDF + OWL + SPARQL
WSDL
XML Schema
Dynamic XML
SAWSDLmarkup
Lifting script
WSDL Web service
RDF description of service
XSLT or Xquery
Service ontology
Lifting operation
and service ontology
hard-coded
Lifting script
Lifting service for description
Ontology of objects
Lifting service for data ?
Semantically-enabled output
Semantically-enabled service
2
CSIRO. Standards for Semantic Sensor Mashups
Failure risk analysis
• Opportunistic mashups depends on external resources which may disappear or evolve without notice,
• especially mashable services and semantic resources,
• The risks of failure are greater and more diverse than in other environments.
• Question: where to start
Semantic Services
Legacy mashups
Mashable web pages
Web services
Ontologies
Triple stores
SPARQL
Linked Open Data
Web pages
RDFa
XML RDF HTML
Opportunistic mashupsSem
anti
c en
able
men
t
CSIRO. Standards for Semantic Sensor Mashups
Validator mashup framework: Unicorn (Universal Conformance Observation and Report Notation)
• Unicorn (2006-2008)• Validator Mashup project at W3C
• http://www.w3.org/QA/Tools/Unicorn/
• HTML-only• Markup Validator,
• CSS Validator,
• Link Checker
CSIRO. Standards for Semantic Sensor Mashups
Extend Unicorn to build a complete top-down validator mashup pyramid
• Mashable validators• HTML validators
• HTML + RDFa http://validator.w3.org/ • HTML http://validator.nu/
• SPARQL• SPARQL* http://www.sparql.org/validator.html • Linked Data (URIs)* http://vapour.sourceforge.net/
• Linked Open Data• OWL http://owl.cs.manchester.ac.uk/validator/• RDF http://www.w3.org/RDF/Validator/
• RDF-ization • SAWSDL, …: ?• GRDDL (service) http://www.w3.org/2007/08/grddl/
• XML validators• WSDL http://www.validwsdl.com/ (via Wikipedia)• OGC valdiators• XLink SXLink?
• Full list of W3C list validators: http://www.w3.org/QA/TheMatrix
RDF-ization (Lifting layer)
Linked Open Data resources
SPARQL protocol
HTML/RDFa
Mesh ups
Legacy Resources (XML, Database, Web services)
CSIRO. Standards for Semantic Sensor Mashups
Identification of area of future work
• Semantic annotation standards for both WSDL and REST services• Ontologies for different types of services • Lifting scripts for services • Guidelines on the part of HTML to be annotated for RESTful services
• Controlled upgrade of legacy standards: need at least better guidelines (and validation tools)
• XLink @role and @arcrole are easy to confuse• URNs mappings to individuals, class or properties should be specified
unambiguously in OGC specifications (and elsewhere?) • Develop a RDFa style for XLink may help to separate the current usage of
XLink (intra-XML) to new usages where XLink would be used in conjunction with semantic web resources
• Validators and validator mashups• Higher risk of errors with mashups• Golden opportunity to re-engineer and mash existing validators• Some missing validators especially at the lower levels (e.g. XLink, URNs)
CSIRO. Standards for Semantic Sensor Mashups
Conclusions
• Semantic mashups complete existing semantic integration approaches but don’t replace them
• Lightweight composition by end users with semantic pipes to explore opportunities
• Transition to more stable infrastructure built on top of legacy services if the proof of concept phase is successful
• Mashups require hybrid combination of XML, RDF and HTML standards
• Some standards like XLink or RDFa are adaptable at different levels of the pyramid
• Special care must be taken for the semantic upgrades of existing standards
• Mashups requires new validation approaches• Which may also be based on mashups (Unicorn-like)
Contact UsPhone: 1300 363 400 or +61 3 9545 2176
Email: [email protected] Web: www.csiro.au
Thank you
CSIRO ICT CentreLaurent LefortSenior Software Engineer and W3C Office manager
Phone: +61 2 6216 7046Email: [email protected]: www.ict.csiro.au
Backup slides
CSIRO. Standards for Semantic Sensor Mashups
Memo
• GRDDL - A markup format for Gleaning Resource Descriptions from Dialects of Languages. It is a W3C Recommendation, and enables users to obtain RDF triples out of XML documents, including XHTML. It defines the syntax to include a reference to a lifting script in a source document - the lifting script can then be used to transform the document to RDF
• Microdata - Allows nested groups of name-value pairs to be added to documents, in parallel with the existing content. A non-semantic alternatibe to RDFa
• SAWSDL - A set of extension attributes for the Web Services Description Language and XML Schema definition language that allows description of additional semantics of WSDL components. Allows the user to record the mapping of WSDL elements to concepts defined in a reference ontology and to specify the lifting scripts which can be applied to the output of a service to transform it into a RDF file using the reference ontology concepts
• hRESTs - A microformat to add additional meta-data to REST API descriptions in HTML and XHTML. Developers can directly embed meta-data from various models such an ontology, taxonomy or a tag cloud into their API descriptions. The embedded meta-data can be used to improve search (for example: perform faceted search for APIs), data mediation (in conjunction with XML annotation) as well as help in easier integration of services to create mashups.
• SA-REST and Micro-WSMO: two similar methods to semantically annotate REST services using the same microformat (hRESTs) and a different target ontology. Similar basis than SAWSDL (including the possibility to include a reference to a lifting script) but applicable to an HTML-based description of a service).