The Semantic Web, Semantic Web Services and more…

Service Ontologies

Posted by Aditya Thatte on December 10, 2008

Ontologies classifying and describing services are called service ontologies. The existing WSDL interface describes a service by specifying operation name, inputs required, output of the service and its target address for invocation. Human intervention is required in this loop since the current architecture only addresses the syntactical aspects of Web services and lacks choreography mechanisms.

Service ontologies supplements the WSDL interface, adding knowledge required to enable automatic discovery, invocation and composition of web services. The idea is to annotate web services, enabling the automation of the web service life cycle.

The existing conceptual models for describing services are OWL-S, WSMO, WSDL-S, SWSF, SAWSDL.

For example, the OWL-S service ontology is classified into three categories : profile, model, grounding as shown in the diagram. The service component is actually an instance of the service and is linked to the profile, model, grounding by different properties. The profile is an advertisement of what the service does i.e what the service offers in terms of functionality. It considers input, output, preconditions, effects ( IOPE ).

The input specifies the actual input required for invoking the web service, output specifies the actual output the client gets or expects. Preconditions indicates the conditions that need to be satisfied for the successful execution of the web service. The effect describes the state of the web service after its execution.

The service model describes how the service works in order to achieve its functionality. It describes atomic processes, composite processes and the message choreography involved in invoking the web service. Atomic processes are the ones, that undergo straight forward execution requiring standard input, whereas composite processes are the ones which involve combination of different services.

Service grounding illustrates as to how the service can be accessed.It describes the network protocols, data exchange formats, required to invoke the web service.

Like OWL-S, the other models also address the semantic nature of web service descriptions thereby making an effort to automate the web service life cycle.

Posted in Semantic Web | Tagged: , | Leave a Comment »

Motivation : Semantic Web Services

Posted by Aditya Thatte on December 3, 2008

The aim of the Semantic Web is to enable machines or software systems understand information (resources) on the web and apply reasoning techniques on it to achieve specific goals.Applying Semantic web technologies to the Web services architecture introduces the concept of “Semantic Web Services”.


The current Web services architecture follows the Publish, find, bind paradigm involving human (manual) intervention to a certain extent.Web services are ofcourse exposed via an interface and published in a registry. The client looks up the registry and binds to the relevant service provider and invokes the service by exchanging some messages. The following slide shows the current Web service life cycle.
Semantic Web Services (SWS), aims at enabling automatic
discovery, invocation, composition and mediation of web services, all of which are otherwise done manually as of today. Semantic Web applications can be created by using “services” from the web services architecture. At the heart of the semantic technology reside ontologies and agents who are responsible for representing knowledge and perform reasoning on that knowledge respectively.
The idea of using SWS is to automate the entire web service life cycle.

Semantic Web Services Scenario

A booking agency wants to book airplane tickets for a customer to find the best deal : A software agent acting on the behalf of the agency is provided with the details of the journey like source , destination , first class seats ,price( discount offered) etc. The software agent looksup the registry of available service providers and selects one on based on the details mentioned above.The agent visits different providers to check airfare details, using negotiation algorithms to select the best deal (service provider).Based on the best deal offered, the ticket will be booked automatically.However, the issue of trust will play a vital role in the design of such an application.
Certain assumptions that the application will have the credit card number of the customer are made, which ofcourse depends on the design of the application.
The complexity of the application will depend on the granularity of the services.Semantic Web applications are developed using composite services. The key to effective discovery, invocation and composition of services includes critical discovery mechanisms, negotiation algorithms, composition techniques.Such services are identified by service ontologies. Service ontologies equips itself with knowledge which supplements the WSDL interface. These ontologies advertise the service, describe its behavior and protocols used to access the service. Currently there are 2 standards of specifying ontology services, viz. OWL-S, WSMO.

In case of OWL-S, agents require the OWL-S specification of the service as well as the client query in the form of an OWL-S template , specifying parameters like input,output, pre-conditions and effects ( IOPE ) to enable automation of the web service life cycle.

Semantic web applications deals with complexities, at the same time making applications “smarter”, reducing human intervention. Ideal scenarios of using Semantic web services would be in the areas of B2B and B2C transactions.

Posted in Semantic Web | Tagged: | Leave a Comment »

RDF Schema (RDFS) Example

Posted by Aditya Thatte on November 16, 2008

RDF is a mechanism to describe information on the web.RDF Schema ( RDFS ) adds vocabulary to express information in the form of classes and subclasses and the relationship between them. RDF also defines properties associated with classes.

A relationship between two things / entities can be represented by a class. A list of all RDF classes and properties can be found at

Let us consider an example of RDF and RDFS layers.

Statement : Aditya Thatte stays in Pune

The schema for this statement will contain the following classes and propertiesrdf_rdfs

For the statement ” Aditya Thatte stays in Pune ” , the RDF triple is ( Aditya Thatte , stays in , Pune)

This  can be mapped to a schema which contains the classes ” Citizen ” and ” Country”. A Citizen “abc”

stays in a country ” X” , then “X’ also involves “abc”.

The class citizen has subclasses “Voting citizen ” and ” non voting citizen” and the country class has subclasses ” states ” which inturn has subclasses ” city ” , “town” , ” taluka” represented by the “subclassof ” property.

The rectangle represents properties, ellipses in the RDFS layer represents classes while ellipses in the RDF layer represents instances. The domain and range enforce constraints on the subject and objects of a property.

So, the above diagram suggests that the subject ( Aditya Thatte ) is a “type” of voting citizen , object (Pune) is a “type” of a city and the relationship between them is ” stays in” or “resides in” .

Thus, RDFS expresses vocabulary in the form of classes and properties.

References : Thinking on the web – H.Peter Alesso, Craig F. Smith

Posted in Semantic Web | Tagged: , | Leave a Comment »

RDF : An Introduction

Posted by Aditya Thatte on November 16, 2008

HTML is used for formatting data and representing it in the form of a web page. XML is used to describe and exchange data over different software systems. XML defines and uses metadata , since it has the ability to use ” user defined” tags.  The “user defined” tags add meaning to data , however it is only understood by humans.

For example,

  <model> Honda Civic coupe TS1 </model>

Human can understand this as ” The model of the car is Honda Civic Coupe TS1″.

Resource Description Framework extends the XML model by adding semantics (meaning), to enable machine capable ( machine interpretable ) processing. It is based on triples, also called N-3 notation ( Subject , predicate , object ).

Subject : A data resource ( person , thing ) that a statement describes . Identified by a URI.

Predicate : The property of the subject ( resource ) being described. It can be name , title , color , weight etc , and is also identified by a URI.

Object : The value of the property ( Aditya Thatte , Yamaha etc ).

A simple statement can be represented as triples in the following manner,

Statement : Aditya Thatte works in TIBCO.

The triple can be expressed as ( Aditya Thatte , works in , TIBCO ).

Subject : Aditya Thatte

Predicate : works in

Object : TIBCO


The above figure shows the graphical representation of the RDF statement. Such a graphical representation is referred to as a “Semantic net ” . For more information on RDF visit “;.

Posted in Semantic Web | Tagged: , | Leave a Comment »

OWL : Ontology example

Posted by Aditya Thatte on November 11, 2008

Ontologies describe the relationships between entities on a conceptual level. It shows the hierarchy of classes and subclasses for an object-entity , for eg ( computer ).It decribes subclass relationships , disjointness , constraints , information between objects. It provides vital information to search agents , intelligent agents , databases.
Agents use ontologies and perform powerful reasoning to represent knowledge. Ontologies are modelled using Web Ontology Language ( OWL ). OWL has different flavors varying inexpressiveness of web content.

OWL Full – Highly expressive , but no computational guarantee
OWL DL – Less expressive than OWL-Full , but efficient reasoning provided
OWL Lite – Least expressive , high reasoning support

Lets have a look at an example


Above figure illustrates an ontology for a country , show subclass relationships , the “parent” class being “country” . The classes lower in the hierarchy represent the “subclassof ” relationship.

Posted in OWL, Semantic Web | Tagged: , | Leave a Comment »

The Semantic Web : An Introduction

Posted by Aditya Thatte on November 11, 2008

The Semantic Web is an initiative aimed to build an intelligent architecture for the web. Today’s web is identified by markup languages like HTML  , XML , which is  ofcourse syntax based and understood by browsers. The browser agent understands the syntax and renders the page accordingly , but does not understand the meaning of the elements and its relationships with other elements used in the document.

For example , the statement ” Aditya Thatte works in TIBCO Software ” is interpreted by the current infrastructure as a pure HTML paragraph , <p> Aditya Thatte works in TIBCO Software</p>

The above sentence can be understood by humans but not by computers.The Semantic Web enables computers to understand data that describes data ( metadata ).
 The aim is to create web content machine-interpretable , so that software agents can access data ( resources ) from disparate sources and link data. The idea is to use existing knowledge to create new knowledge.

In contrast to the above interpretation ,  the semantic web can enable computers understand the above statement as ” Aditya Thatte “works” in TIBCO Software ” i.e the relationship between Aditya Thatte and TIBCO Software , which apparently is “works ” or in other words ” is an employee of ” .

All the above said and done , the Semantic web uses AI , logic , powerful reasoning mechanisms ,inference engines, and markup languages like Resource Description Framework (RDF) , Web Ontology Language (OWL) to create an intelligent architecture.

RDF is a standard which describes resources ( information ) on the web. OWL aims at representing related concepts using ontologies. The semantic web has various applications like semantic search , semantic Web services ( SWS ) , bioinformatics etc.
Here we shall look at how we can use the power of semantic web technologies and apply it to web services to automate the processes of discovery , invocation , composition and mediation.

Posted in Semantic Web | Tagged: , , | 1 Comment »