The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
Advanced Search
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

Cover Stories
Articles & Papers
Press Releases

XML Query

XML Applications
General Apps
Government Apps
Academic Apps

Technology and Society
Tech Topics
Related Standards
Created: August 28, 2007.
News: Cover StoriesPrevious News ItemNext News Item

W3C Publishes Semantic Annotations for WSDL and XML Schema Recommendation.


The World Wide Web Consortium announced the publication of the Semantic Annotations for WSDL and XML Schema specification as a W3C Recommendation, together with a Usage Guide document, an Implementation Report, and a Test Suite. The specification was produced by members of the W3C Semantic Annotations for WSDL (SAWSDL) Working Group. The Usage Guide presents examples illustrating how to associate semantic annotations with a Web service; these annotations can be used for classifying, discovering, matching, composing, and invoking Web services.

The Recommendation builds upon technology described in W3C Member Submission W3C Web Service Semantics — WSDL-S, contributed to W3C by the University of Georgia Research Foundation and International Business Machines Corporation, published 07-November-2005.

Semantic Annotations for WSDL and XML Schema defines how to add semantic annotations to various parts of a WSDL document such as input and output message structures, interfaces and operations. Specifically, it defines 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.

A semantic annotation in this context is "additional information that identifies or defines a concept in a semantic model in order to describe part of that document. In SAWSDL, semantic annotations are XML attributes added to a WSDL or associated XML Schema document, at the XML element they describe. Semantic annotations are of two kinds: explicit identifiers of concepts, or identifiers of mappings from WSDL to concepts or vice versa. A concept must be identifiable by URIs. A concept can be, for example, a classifier in some language, a predicate logic relation, the value of the property of an ontology instance, some object instance or set of related instances, an axiom, etc."

The specification defines how semantic annotation is accomplished using references to semantic models, e.g., ontologies. A semantic model "is a set of machine-interpretable representations used to model an area of knowledge or some part of the world, including software. Examples of such models are ontologies that embody some community agreement, logic-based representations, etc. Depending upon the framework or language used for modelling, different terminologies exist for denoting the building blocks of semantic models.

Semantic Annotations for WSDL and XML Schema (SAWSDL) does not specify a language for representing the semantic models. Instead it provides mechanisms by which concepts from the semantic models, typically defined outside the WSDL document, can be referenced from within WSDL and XML Schema components using annotations.

SAWSDL annotation mechanisms include:

  • SAWSDL Model Reference: the extension attribute 'modelReference' may be used with every element within WSDL and XML schema; the value of the 'modelReference' attribute is a set of zero or more URIs, separated by whitespaces, that identify concepts in a semantic model, where each URI is a pointer to a concept in a semantic model and is intended to provide semantic information about the WSDL or XML Schema component being annotated.

  • SAWSDL Schema Mapping: schema mapping annotations address post-discovery issues in using a Web service, relating the instance data defined by an XML Schema document with some semantic data defined by a semantic model; extension attributes 'liftingSchemaMapping' and 'loweringSchemaMapping' are used.

  • Embedding Semantic Models: the SAWSDL semantic annotation mechanism does not rely on any particular semantic modeling language: tt only requires that the semantic concepts defined in it be identifiable via URI references, where the URIs typically refer to concepts in a semantic model that is external to the WSDL document. However, the URIs can also refer to elements within the WSDL document if semantic information is included in the document via WSDL extension elements.

  • External Annotations: annotations typically are specified as attributes in the annotated WSDL and XML Schema documents, but some scenarios call for annotating documents externally; the SAWSDL document defines two approaches in which the semantic annotations can be applied externally: XSLT pre-processing, and using RDF.

Conceptually, WSDL 2.0 has the following components to represent service descriptions: Element Declaration, Type Definition, Interface, Binding and Service. Of these, the first three, namely Element Declaration, Type Definition and Interface deal with the abstract definition of a service while the latter two deal with service implementation. The SAWSDL specification focuses on semantically annotating the abstract definition of a service to enable dynamic discovery, composition and invocation of services...

In order to annotate XML schema documents, SAWSDL provides two constructs: model reference and schema mapping. The former provides a generic link from an XML structure to a semantic model. XML Schema model reference annotations can be used, for example, to help determine if a service meets the requirements of a client. The schema mapping addresses post-discovery issues when using Web services, such as how to overcome structural mismatches between the semantic model and the service inputs and outputs.

The SAWSDL Recommendation also describes how the WSDL extensions are mapped into an RDF form compatible with the Web Services Description Language (WSDL) Version 2.0: RDF Mapping (W3C Working Draft, 23-May-2007). SAWSDL introduces the properties '{model reference}', '{lifting schema mapping}', and '{lowering schema mapping},' and describes the equivalent RDF properties.

W3C Member Organizations participating in the SAWSDL Working Group included CA, Chinese Academy of Sciences, DERI Galway at the National University of Ireland (Galway, Ireland), Fortent, IBM Corporation, ILOG S.A., Open University, Scapa Technologies Limited, University of Southampton, Telecom Italia SpA, University of Innsbruck, and Wright State University. John Miller and Amit Sheth were Invited Experts; W3C Team members included Carine Bournez (SAWSDL Working Group Team Contact) and Eric Prud'hommeaux.

Bibliographic Information

SAWSDL Overview

Excerpt from the Semantic Annotations for WSDL and XML Schema — Usage Guide:

"Web services provide a standards-based foundation for exchanging information between distributed software systems. The W3C Recommendation Web Services Description Language (WSDL) specifies a standard way to describe the interfaces of a Web Service at a syntactic level and how to invoke it. While the syntactic descriptions provide information about the structure of input and output messages of an interface and about how to invoke the service, semantics are needed to describe what a Web service actual does. These semantics, when expressed in formal languages, disambiguate the description of Web services interfaces, paving the way for automatic discovery, composition and integration of software components.

WSDL does not explicitly provide mechanisms to specify the semantics of a Web service. Semantic Annotations for WSDL and XML Schema (SAWSDL) defines mechanisms by which semantic annotations can be added to WSDL components. This usage guide is an accompanying document to SAWSDL specification. It presents examples illustrating how to associate semantic annotations with a Web service. These annotations could be used for classifying, discovering, matching, composing, and invoking Web services.

Some of the examples illustrated in this Usage Guide document use RDF and OWL Web Ontology Language for representing ontologies. Some knowledge of RDF and OWL is useful for understanding this document, but not essential.

As the set of available Web Services expands, it becomes increasingly important to have automated tools to help identify services that match a requester's requirements. Finding suitable Web services automatically depends on the facilities available for service providers to describe the capabilities of their services and for service requesters to describe their requirements in an unambiguous and ideally, machine-interpretable form. Adding semantics to represent the requirements and capabilities of Web services is essential for achieving this clarity and machine-interpretability.

Semantics play an important role in all aspects of the lifecycle of Web services. During development, a service provider can explicate the intended semantics by annotating the appropriate parts of the Web service with concepts from a richer semantic model. Since semantic models provide agreement on the terms and intended use of terms, and may provide formal and informal definitions of the entities, there will be less ambiguity in the intended semantics of the provider. During discovery, a service requestor can describe the service requirements using terms from the semantic model. Reasoning techniques can be used to find service descriptions that match the request. During composition, these annotations can be used to aggregate the functionality of multiple services to create useful service compositions. Also, semantics based schema mappings can facilitate data transformations from which mediation code can be generated to enable Web services invocation. Therefore, once represented, semantics can be leveraged by tools to automate service discovery, mediation, composition and monitoring.

The W3C Recommendation Web Services Description Language (WSDL) specifies a standard way to describe the interfaces of a Web Service at a syntactic level and how to invoke it. However, WSDL does not explicitly provide mechanisms to specify the semantics of a Web service. Semantic Annotations for WSDL and XML Schema (SAWSDL) defines mechanisms by which semantic annotations can be added to WSDL components. This usage guide is an accompanying document to SAWSDL specification. Many of the concepts in SAWSDL are based on an earlier effort WSDL-S, a W3C submission. It presents examples illustrating how to associate semantic annotations with a Web service. These annotations could be used for classifying, discovering, matching, composing, and invoking Web services.

The sections in the Usage Guide document are organized to show how to associate semantic annotations with a WSDL document for use in service classification, discovery, matching, composition and invocation — in that order...

SAWSDL Implementation

SAWSDL is supported and used by a number of software tools, as reported in the SAWSDL [Candidate Recommendation] Implementation Report and in the listing of SAWSDL Tools, Projects and Applications:

  • Woden4SAWSDL. "The Woden4SAWSDL project is an attempt to provide an object model for WSDL 2.0 based SAWSDL documents. SAWSDL is a leading specification from W3C that governs the subject of attaching semantic references to the standard WSDL descriptions." See the unit tests.

  • WSMO4J Grounding. " wsmo4j is an API and a reference implementation for building Semantic Web Services and Semantic Business Process applications based on the Web Service Modeling Ontology and the Business Process Modeling Ontology. wsmo4j is compliant with the WSMO v1.2 and WSML 0.2 specifications. wsmo4j is available under a LGPL licence and is partially funded by the EU IST research projects DIP, SemanticGov and SUPER, as well as the FIT-IT project RW(2). See examples

  • SAWSDL4J. "The SAWSDL4J project is an attempt to provide a clean object model for SAWSDL documents. SAWSDL is a leading specification from W3C that governs the subject of attaching semantic references to standard WSDL descriptions." See unit tests.

  • Radiant. "Radiant: WSDL-S/SAWSDL Annotation Tool provides a UI for annotating existing WSDL documents into WSDL-S or SAWSDL via an OWL Ontology. Radiant comes with an ontology viewer based on the UMBC's Cobra Ontology Viewer. Publishing has been added to Radiant. We recommend jUDDI for use with the publishing feature, though other UDDI Registries may work. See description.

  • WSMO Studio. WSMO Studio. "WSMO Studio is an open source Semantic Web Service and Semantic Business Process modelling environment for the Web Service Modeling Ontology. WSMO Studio is available as a set of Eclipse plug-ins that can be further extended by third parties. WSMX (Web Service Modelling eXecution environment) is the reference implementation of WSMO. It is an execution environment for business application integration where enhanced web services are integrated for various business applications. The aim is to increase business processes automation in a very flexible manner while providing scalable integration solutions." See the W3C description.

  • BPEL4SWS. "The BPEL4SWS specification identifies the use of SAWSDL modelReference and schemaMapping for the variables definitions which can be an XML Schema type (simple or complex) and XML Schema element... This deliverable is part of the overall research project SUPER [Project IST 026850 SUPER Semantics Utilized for Process management within and between Enterprises]. Processes in SUPER will be represented using a set of five ontologies i.e. Upper Process Ontology (UPO), Business Process Modelling Ontology (BPMO), semantic Business Process Modeling Notation (sBPMN), semantic Event Driven Process Chain sEPC and sBPEL. Process Modelling Ontology and Mapping to WSMO. The Process Ontology Language defined in this deliverable represents an XML serialization of the sBPEL ontology to be executed by the SBPELEE engine. A service requester does not model in BPEL4SWS directly, but in its abstracted ontological format. A bi-directional XML to WSML Transformation Service is utilized for executing mappings between the ontological level (BPMO, sBPEL) defined in WSML and the XML Schema level..."

  • Lumina. "Lumina — Semantic Web Service Discovery is a component of the METEOR-S project which deals with all aspects of a Semantic Web Service and Process lifecycle. This project follows the WSDL-S/SAWSDL approach and provides semantic discovery, discovering web services with the required ontological concepts. It supplies a unified WSDL-S/SAWSDL to UDDI mapping structure which enables the user to discover the services based on the "operation" level. For example, the user can discover the specific operation by annotating the ontological concepts to the operation functional concepts, input variables or output variables. For convenience to the Web Service developer community, this project also supplies the traditional UDDI discovery based on: Business Entity, Business Service and TModel."

  • OWL-S from SAWSDL Perspective. "Toward Semantic Annotations of Web Services: OWL-S from the SAWSDL Perspective." — "Recently, the World Wide Web Consortium (W3C) produced a standard set of 'Semantic Annotations for WSDL and XML Schema' (SAWSDL). SAWSDL provides a standard means by which WSDL documents can be related to semantic descriptions, such as those provided by OWL-S and other Semantic Web services frameworks. We explain what OWL-S constructs are appropriate for use with the various SAWSDL annotations, and provide a rationale and guidelines for their use. In addition, we discuss some weaknesses of SAWSDL, and identify some ways in which OWL-S could evolve so as to integrate more smoothly with SAWSDL..."

  • Semantic Tools for Web Services. "A set of Eclipse plug-ins that can be installed on WebSphere Integration Developer (WID) 6.0.1 for semantic matching and composition of Web services... Semantic Web techniques are used to resolve domain-specific similarities. For example, the concepts used in a given domain (such as retail industry, health-care industry, etc.) and the relationships among them are modeled as a domain ontology. The Web services are annotated using semantic annotations from the domain ontologies in Web Services Semantics (WSDL-S) format. Then the ontological similarity of the semantic annotations associated with Web service descriptions is derived by inferring the domain ontology. Matches from the two approaches are combined to determine an overall similarity score to help assess the quality of a Web service match to a given request. In cases where single services do not match a given request, the system can compose multiple services by employing artificial intelligence (AI) planning algorithms in order to fulfill a given request. The WSDL-S mechanism for annotating Web services with semantics is based on an approach developed jointly by IBM and the University of Georgia. This approach was submitted to W3C in 2005 and is now the basis for the work of the new Semantic Annotations for WSDL (SAWSDL) Working Group..."

  • D24.2v0.1. WSMO Grounding. "The state of the art for Web service interface description is to use WSDL 2.0. It is thus important that infrastructure for Semantic Web services is able to communicate with existing Web services described with WSDL. In the context of WSMO-compliant execution environments, only Web services with a WSMO description are available for the operations of discovery, composition, invocation, etc. Therefore, it is important that a service has both WSMO and WSDL descriptions and that the link between both descriptions exists. WSMO descriptions are used for various tasks of service discovery, selection, composition, mediation etc., whereas WSDL descriptions are used for invocation of the service implementation... This document defines WSMO Grounding by presenting two independent areas of relationship between WSMO and the syntactical descriptions of a Web service: data in WSMO ontologies has to be mapped to XML data, usually described using XML Schema, and the functional and behavioral service descriptions in WSMO have to be related to the description construct present in WSDL using built-in WSMO grounding properties or using the SAWSDL specification. Using the grounding specified in this document, WSMO Web services can interoperate with currently deployed SOAP Web services and client frameworks.

  • WSMO-Lite. "WSMO-Lite: Lightweight Semantic Descriptions for Services on the Web." — "The current Web service technology brought a new potential to the Web of services. However, the success of Web services still depends on resolving three fundamental challenges, namely search, integration and mediation. In this deliverable we define an extended Web service stack enabling total or partial automation of web service provisioning process. With the goal of a maximal Web standards compliance, we describe various types of service semantics, use RDF Schema (RDFS) to define a pragmatic meaning for those descriptions, and use Semantic Annotations for WSDL and XML Schema (SAWSDL) to define a place for a semantic description in a Web service. We elaborate on the existing SAWSDL specifications and define precise rules for semantic annotations of Web services..."

  • RDF Mapping Implementation. "There is now a SAWSDL RDF mapping implementation in Java, built on top of Woden4SAWSDL.. actually, Woden has a few bugs that affect the implementation in fairly minor ways in the WSDL part of the RDF mapping... The main class is 'wsdl.Wsdl2Rdf' which takes a single parameter, the location of the source (SA)WSDL document, and prints out the RDF form in N-Triples...

Principal References

Hosted By
OASIS - Organization for the Advancement of Structured Information Standards

Sponsored By

IBM Corporation
ISIS Papyrus
Microsoft Corporation
Oracle Corporation


XML Daily Newslink
Receive daily news updates from Managing Editor, Robin Cover.

 Newsletter Subscription
 Newsletter Archives
Bottom Globe Image

Document URI:  —  Legal stuff
Robin Cover, Editor: