Standards for Semantic Mashups

42
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

description

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)

Transcript of Standards for Semantic Mashups

Page 1: Standards for Semantic Mashups

Review of semantic enablement techniques used in geospatial and semantic standards for legacy and opportunistic mashupsLaurent Lefort, Australian Ontology Workshop 2009

Standards for Semantic Sensor Mashups

Page 2: Standards for Semantic 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

Page 3: Standards for Semantic Mashups

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?

Page 4: Standards for Semantic 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-enabledreference 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?

Page 5: Standards for Semantic 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

Page 6: Standards for Semantic Mashups

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

Page 7: Standards for Semantic Mashups

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)

Page 8: Standards for Semantic Mashups

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

Page 9: Standards for Semantic Mashups

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)

Page 10: Standards for Semantic Mashups

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

Page 11: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

Semantic enablement: where?

Page 12: Standards for Semantic Mashups

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

42 3 3

1

1

1

XML HTML

Page 13: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

A possible use case with all types of mashupsbundled 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

Page 14: Standards for Semantic Mashups

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

Page 15: Standards for Semantic Mashups

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

Mash

ups

Legacy Resources

(XML, Database, Web services)

Tim Berners-Lee, Cracks and MortarW3C TPAC 2007

Page 16: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

Meshup standard “value pyramid”vs. new “Cracks and Mortar”

Ontology

of objectsVirtual

RDF

data

XML

SchemaExisting

SQL DB

SQL

Schema

Lifting

script

XSLT or Xquery

HTML

pages

Ontology

of objectsVirtual

RDF

data

Ontology

of objects Virtual

RDF

data

RDB-RDF

Mapping

RDFa

markup

Existing

XMLGRDDL

markup

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)

Page 17: Standards for Semantic Mashups

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.

Page 18: Standards for Semantic Mashups

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 SOAPfulweb services with SAWSDL

• 3. Annotate RESTfulweb 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

SAWSDLhRESTs

RDFa

Lifting operations

1

2

3

4

Page 19: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

Semantically-enabled XML resources and XLink

HTTP + HTML + SVG + DOM + JS + RDF + OWL + SPARQL

Ontology

of objectsVirtual

RDF

data

XML

Schema

Lifting

script

XSLT or Xquery Existing

XMLGRDDL

markup

Lifting service

SparQL

~1

Page 20: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

Variants of XLink usage

Existing

XML

XLink

markup

Existing

XML

(instances)

Existing

XML

XLink

markup

Existing

XML

(types)

Existing

XML

XLink

markup

Existing

RDF

(instances)

Existing

XML

XLink

markup

Existing

OWL

(types)

Xlink href

or URNs for

ontologies

(class or

property)

Xlink href

or 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

Page 21: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

XLink and RDF

rdfs:commentText describing the association or the target resource

xlink:title

rdf:about of object property linking domain element to range resource

Role or purpose of the target resource in relation to the present resource, given as a URI

xlink:arcrole

rdf:about of class of range resource

Nature of the target resource, given as a URI

xlink:role

rdf:about of range resource

Identifier of the resource which is the target of the association, given as a URI

xlink:href

Intended RDFDescriptionAttribute

Page 22: Standards for Semantic Mashups

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: <myPropertyxlink: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): <myPropertyxlink: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

Page 23: Standards for Semantic Mashups

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)

Page 24: Standards for Semantic Mashups

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:Quantitydefinition="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

Page 25: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

Semantically-enabled web pages (RDFa)

HTTP + HTML (RDFa) + DOM + JS + RDF + OWL + SPARQL

HTML

pages

Ontology

of objectsVirtual

RDF

data

RDFa

markup

RDFa service

SparQL

4

Page 26: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

Variants of RDFa usage comparable to XLink

Page 27: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

XLink – RDFa comparison

content or element contentRange value

datatyperoleDatatype property type

propertyDatatype property

typeofroleRange class

href or resourcehrefRange instance

revInverse object property

relarc roleObject property

typeofDomain class

about or srcDomain instance

RDFaXlinkRDF mapping

Page 28: Standards for Semantic Mashups

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

Page 29: Standards for Semantic Mashups

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

Page 30: Standards for Semantic Mashups

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-

formats

markup

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

Page 31: Standards for Semantic Mashups

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-RDFa

markup

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

Page 32: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

hRESTs-microformat vs. hRESTs-RDFa

content or element content

Range value

datatypeDatatype property type

propertyDatatype property

typeofhrefrdf:about of range class

href or resourceRange instance

rev Inverse object property

relref=”model”Object property

typeofclass (closed list)Domain class

about id (URL-prefixed)Domain instance

hRESTs-RDFahRESTs-microformatRDF mapping

Page 33: Standards for Semantic Mashups

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)

Page 34: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

Semantically-enabled SOAPful web services

HTTP + HTML + SVG + DOM + JS + RDF + OWL + SPARQL

WSDL

XML

Schema

Dynamic

XML

SAWSDL

markup

Lifting

script

WSDL Web service

RDF

description

of serviceXSLT 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

Page 35: Standards for Semantic Mashups

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 mashups

Page 36: Standards for Semantic Mashups

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

Page 37: Standards for Semantic Mashups

CSIRO. Standards for Semantic Sensor Mashups

Extend Unicorn to build a complete top-down validatormashup 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)

Page 38: Standards for Semantic Mashups

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)

Page 39: Standards for Semantic Mashups

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 existingstandards

• Mashups requires new validation approaches• Which may also be based on mashups (Unicorn-like)

Page 40: Standards for Semantic Mashups

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

Page 41: Standards for Semantic Mashups

Backup slides

Page 42: Standards for Semantic Mashups

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).