Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Semantic Annotations for WSDL and XML Schema (SAWSDL) Becomes a W3C Recommendation

Semantic Annotations for WSDL and XML Schema (SAWSDL) Becomes a W3C Recommendation


The Semantic Annotations for WSDL and XML Schema (SAWSDL) reached recommendation status on August 28 2007, turning it into a "W3C Standard".

Although Web Service and Semantic Web standards have been developed in parallel by the W3C, there hasn't been any relation between both groups for a long time. The basic idea behind the Semantic Web is a web of data:

The Semantic Web is about two things. It is about common formats for integration and combination of data drawn from diverse sources, where on the original Web mainly concentrated on the interchange of documents. It is also about language for recording how the data relates to real world objects. That allows a person, or a machine, to start off in one database, and then move through an unending set of databases which are connected not by wires but by being about the same thing.

In the Semantic Web data is represented by semantic models. There are two main W3C Standards that are used to defined such models: Resource Description Framework (RDF) and Web Ontology Language (OWL). Whereas RDF is used to represent information and to exchange knowledge, OWL is used to define ontologies, supporting web searches and knowledge management.

SAWSDL intends to close the gap between Web Services and the Semantic Web by introducing means of referencing semantic models, defined outside the WSDL, from WSDL and XSD elements. References are specified by annotations that make use of the extensibility framework of WSDL, WSDL 2.0, and XSD. There are two main annotation mechanisms:

  • an extension attribute, named modelReference, to specify the association between a WSDL or XML Schema component and a concept in some semantic model. It is used to to annotate XML Schema type definitions, element declarations, and attribute declarations as well as WSDL interfaces, operations, and faults.
  • two extension attributes, named liftingSchemaMapping and loweringSchemaMapping, that are added to XML Schema element declarations and type definitions for specifying mappings between semantic data and XML.

The modelReference is used to directly reference a concept in a semantic model. If a component or element cannot be referenced directly, liftingSchemaMapping and loweringSchemaMapping may be used to point to data mapping transformations. Lifting allows to transform from XML to semantic data and Lowering is used to transform from semantic data to XML.

Semantic models and concepts are ideal for discovering services. Nowadays discovery is restricted to the data that is included within a WSDL or XSD artifact. When resorting to semantic models, which represent real world data such as business entities, processes and capabilities, we may define queries based on semantic information rather than "dumb" keywords and receive matches fitting the desired functionality.

There are other groups and standards, which also address the topic of "Semantic Web Services". One of these groups is the Semantic Web Services Initiative (SWSI) is an ad hoc initiative of academic and industrial researchers, whose mission is to create infrastructure that combines Semantic Web and Web Services technologies. The Semantic Web Services Framework (SWSF) is an alternative standard for specifying Web Services semantically, incorporating the Semantic Web Services Language (SWSL) and the Semantic Web Services Ontology (SWSO). SWSF provides a process-oriented model, which uses a rule-based language and an ontology of processes.

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Some sort of roadmap needed

    by Frank Cohen,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I'm feeling really stupid about now. I'm trying to think of an occasion where I would use SWSL and SWSO? They both seem like small steps between what we have now in WS-* and the computer on Star Trek Next Generation being able to answer the question "What is the nature of the universe?" In my opinion WS-* is a set of standards that glorify the request/response pairing found in HTTP. In HTTP (and the WS-*) interactions I don't have any semantical knowledge of the nature of the request or the meaning of the response. Perhaps SWSL and SWSO move us a little bit closer to semantic meaning. I am wondering then what comes after SWSL and SWSO? Perhaps a roadmap of W3C future specs is needed to eventually get a semantically valid and comprehensive answer like "The universe is a spheroid 705 meters in diameter" and to understand that a spheroid is different than a Google result set.

    In the meantime I wonder what W3C's response will be to Ajax? In my experience there is a whole lot more request/response pattern usage in Ajax apps that are now in production than SOAP. A W3C standard interface definition language for Ajax apps is very much needed!

    -Frank Cohen

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p