Description of the work done for the Semantic Markup activity of the Semantic Sensor Networks Incubator activity (at W3C).
Presentation made at the Australian Ontology Workshop, Melbourne, December 2009. The full title of the paper is: "Review of semantic enablement techniques used in geospatial and semantic standards for legacy and opportunistic mashups" (and it is available via crpit.com)
1. 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
2. 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
3. Web 2.0 & 3.0 (Sem Web) rocks
XML and WSDL don’t (anymore)
WHICH STANDARDS FOR WHICH MASHUPS?
Matt Jones
http://www.flickr.com/photos/
blackbeltjones/3150215637/
CSIRO. Standards for Semantic Sensor Mashups
4. Motivations:
W3C Semantic Sensor Network incubator group
Enable semantic service integration Enable semantic mashups
Semantic annotations Ontology-enabled
Ontology-enabled APIs reference datasets
Semanticaly-annotated Sensors and
OGC services Observations
(SOS, SPS, SAS, …) Linking Open Data
resources
OGC Services
Semantic annotations Registries &
(SOS, SPS, SAS, SES) - for OGC services? Dictionaries
Sensor and obs.
- for 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)
CSIRO. Standards for Semantic Sensor Mashups
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
12. 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.
XML HTML
1
1
3
2 3
1
4
1
CSIRO. Standards for Semantic Sensor Mashups
13. A possible use case with all types of mashups
bundled together
Geospatial mashups Web pages mashups (HTML)
Legacy Legacy OGC (XML/JSON+REST)
OGC aggregator
Geospatial mashups Geo Mashups
services (e.g. ArcGIS)
Web mashups
Composed
Model mashups Search
Legacy (XML/JSON+REST)
services services
Model
(XML+REST/ Model Mashups
WSDL) Legacy mashups pipes
(XML+REST/WSDL)
1 2 3 2 3 3 4
Semantic web page mashups
(HTML+RDFa)
RDF-ized RDF-ized
OGC OGC Semantic mashups
service Aggregator Geo Mashups
Web mashups
RDF-ized Search
Composed Semantic
Semantic mashups service pipes Model Mashups
(RDF/JSON+SPARQL)
CSIRO. Standards for Semantic Sensor Mashups
14. Meshup “value pyramid”
• Semantic mashups over Mesh
ups
HTML
• RDFa content embedded in web
pages
• Linked Open Data resources
HTML/RDFa
• XML, database and web service
resources
SPARQL protocol
• Meshup RDF
• A semantically mashable Linked Open Data resources
semantic mashup
• a mashup consuming and serving
RDF-ization (Lifting layer)
SW content,
XML
Legacy Resources
• RDFa standard is disruptive (XML, Database, Web services)
• New generation of SW apps
• New “value pyramid” top Extension of Kingsley Idehen’s pyramid:
“Getting The Linked Data Value Pyramid Layers Right (Updated)”
CSIRO. Standards for Semantic Sensor Mashups
15. Meshup standard “value pyramid” vs.
TBL’s Cracks and Mortar
Mash
ups
HTML
SPARQL protocol
Linked Open Data resources
RDF-ization (Lifting layer)
Legacy Resources
(XML, Database, Web services)
Tim Berners-Lee, Cracks and Mortar
W3C TPAC 2007
CSIRO. Standards for Semantic Sensor Mashups
16. Meshup standard “value pyramid”
vs. new “Cracks and Mortar”
Users
HTTP + HTML (RDFa) + SVG + DOM + JS + Mashable APIs
Mashup
site Mashup Mesh
site
ups
HTTP + HTML (RDFa) + SVG + DOM + JS + Mashable APIs
Mashup SparQL
site Ontology
Mashup
site
of objects Virtual HTML/RDFa
RDF
data
RDFa service
HTML
SPARQL protocol
pages
RDFa
markup
XML or JSON + HTTP + JS + Mashable APIs
Linked Open Data resources
SparQL SparQL
Ontology Virtual Ontology Virtual
of objects RDF of objects RDF
data data
RDF-ization (Lifting layer)
Lifting service
Lifting Lifting service
script RDB-RDF
XML Existing XSLT or Xquery Mapping
Schema XML
SQL Existing
Legacy Resources
GRDDL
markup Schema SQL DB (XML, Database, Web services)
CSIRO. Standards for Semantic Sensor Mashups
17. 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
18. Semantic enablement pathways using different
linking and annotation standards
• 1 Include RDF
1. Mesh Lifting
(SKOS/OWL) ups
operations
resources in XML RDFa
4
using XLink,
HTML/RDFa
• 2 Annotate SOAPful
2.
web services with SPARQL protocol
SAWSDL
• 3 Annotate RESTful
3.
web services with Linked Open Data resources
hRESTs (SA- SAWSDL
REST/MicroWSMO), hRESTs
RDF-ization (Lifting layer)
• 4 Include RDF
4. 2 3
(SKOS/OWL) XLink
resources in HTML Legacy Resources
1 (XML, Database, Web services)
using RDFa.
CSIRO. Standards for Semantic Sensor Mashups
19. Semantically-enabled XML resources and XLink
HTTP + HTML + SVG + DOM + JS
+ RDF + OWL + SPARQL
SparQL
Ontology Virtual
of objects RDF
data
Lifting service
Lifting
~1 script
XML Existing XSLT or Xquery
Schema XML
GRDDL
markup
CSIRO. Standards for Semantic Sensor Mashups
20. Variants of XLink usage
Inclusion of remote resources Model reference to ontological description
Described in GML spec. xlink Xlink @role and @arcrole
@href
Existing Existing
XML XML
XLink XLink
markup markup
Xlink href
Existing Xlink href Existing or URNs for
XML or URNs for XML ontologies
“data” (class or
(instances) (types)
(individuals) property)
Inclusion of remote semantic resources Model reference to ontological description
Xlink @href Xlink @role, @arcrole
and SWE/GML@definition and SWE/GML @definition
Existing Existing
XML XML
XLink XLink
markup markup
Existing Existing
RDF OWL
(instances) (types)
CSIRO. Standards for Semantic Sensor Mashups
21. XLink and RDF
Attribute Description Intended RDF
xlink:href Identifier of the resource rdf:about of range
which is the target of the resource
association, given as a
URI
xlink:role Nature of the target rdf:about of class of
resource, given as a URI range resource
xlink:arcrole Role or purpose of the rdf:about of object
target resource in property linking domain
relation to the present element to range
resource, given as a URI resource
xlink:title Text describing the rdfs:comment
association or the target
resource
CSIRO. Standards for Semantic Sensor Mashups
22. 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
23. 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
24. 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
25. Semantically-enabled web pages (RDFa)
HTTP + HTML (RDFa) + DOM + JS + RDF + OWL + SPARQL
SparQL
Ontology Virtual
of objects RDF
data
RDFa service
HTML
pages
RDFa
markup
4
CSIRO. Standards for Semantic Sensor Mashups
26. Variants of RDFa usage comparable to XLink
CSIRO. Standards for Semantic Sensor Mashups
27. 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
28. 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
29. 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
30. Semantically-enabled RESTful web services
(hREST-microformat)
HTTP + HTML + SVG + DOM + JS + RDF + OWL + SPARQL
Semantically-enabled service
Semantically-
enabled output
Lifting service
?
for data
RDF description
of service
Lifting Lifting
Dynamic script operation
XML and service
Ontology ontology
RESTful service of objects hard-coded
Lifting
HTML script
hRESTs-
description micro- Service
formats ontology
markup SA-REST or
CSIRO. Standards for Semantic Sensor Mashups 3 ~4 MicroWSMO XSLT or Xquery
31. Semantically-enabled RESTful web services
(hREST-RDFa)
HTTP + HTML + SVG + DOM + JS + RDF + OWL + SPARQL
Semantically-enabled service
Semantically-
enabled output
Lifting service
?
for data
RDF description
of service
Lifting
Dynamic script Lifting
XML operation
Ontology following
RESTful service of objects RDFa spec.
HTML hRESTs-
description in-RDFa Service
markup
ontology
3 ~4 SA-REST or
CSIRO. Standards for Semantic Sensor Mashups MicroWSMO XSLT or Xquery
32. 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
33. 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
34. Semantically-enabled SOAPful web services
HTTP + HTML + SVG + DOM + JS + RDF + OWL + SPARQL
Semantically-enabled service
Semantically-
enabled output
Lifting service
? RDF
for data
XSLT or Xquery description
of service
Dynamic Lifting
script Lifting service for description
XML Lifting
operation
WSDL Web service Ontology and service
of objects ontology
hard-coded
WSDL 2
SAWSDL Service Lifting
XML
markup ontology script
Schema
CSIRO. Standards for Semantic Sensor Mashups
35. 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
XML RDF HTML
Web Triple
Web pages
services stores
Ontologies SPARQL RDFa
Semantic Linked Open Mashable
Services Data web pages
Legacy mashups Opportunistic mashups
CSIRO. Standards for Semantic Sensor Mashups
36. 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
37. 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 Mesh
ups
• SPARQL* http://www.sparql.org/validator.html
• Linked Data (URIs)* http://vapour.sourceforge.net/
• Linked Open Data HTML/RDFa
• OWL http://owl.cs.manchester.ac.uk/validator/
• RDF http://www.w3.org/RDF/Validator/ SPARQL protocol
• RDF-ization
• SAWSDL, …: ? Linked Open Data resources
• GRDDL (service) http://www.w3.org/2007/08/grddl/
• XML validators
RDF-ization (Lifting layer)
• WSDL http://www.validwsdl.com/ (via Wikipedia)
• OGC valdiators
Legacy Resources
• XLink SXLink? (XML, Database, Web services)
• Full list of W3C list validators:
http://www.w3.org/QA/TheMatrix
CSIRO. Standards for Semantic Sensor Mashups
38. 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
39. 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)
CSIRO. Standards for Semantic Sensor Mashups
40. CSIRO ICT Centre
Laurent Lefort
Senior Software Engineer and W3C Office manager
Phone: +61 2 6216 7046
Email: laurent.lefort@csiro.au
Web: www.ict.csiro.au
Thank you
Contact Us
Phone: 1300 363 400 or +61 3 9545 2176
Email: enquiries@csiro.au Web: www.csiro.au
42. 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).
CSIRO. Standards for Semantic Sensor Mashups