W3C home > Mailing lists > Public > public-sws-ig@w3.org > November 2004

Re: Relation between OWL and OWL-S

From: David Martin <martin@AI.SRI.COM>
Date: Wed, 24 Nov 2004 00:11:49 -0800
Message-ID: <41A44245.3050003@ai.sri.com>
To: daniela.claro@eseo.fr
CC: public-sws-ig@w3.org

Getting back to Daniela's original quesions, there are some 
straightfoward answers -

Daniela CLARO wrote:

> Hi all, 
>  I would like to know what is actually the relation between OWL-S and OWL?

OWL-S is an ontology represented in (the language) OWL.  This ontology 
contains a bunch of class and property definitions.

A description of a particular service in OWL-S is (by and large) a set 
of instances of the OWL-S classes and properties.

> How do I represent this relation in OWL-S? 

You don't have to do anything.  The relation between OWL and OWL-S is 
already captured in the OWL-S declarations (in Service.owl, Process.owl, 
Profile.owl, and the other ontology files).  It's captured by all the 
declarations that say, for example, that "AtomicProcess is an OWL 
class', "hasInput is an OWL property", and so forth.

> I will be more clear...for example, suppose that I have a service called
> AirplaneCompany that searches for a ticket beased on some input parameters
> and it belongs to a service composition called Travel. 
> - How can I do automatic discovery in this case? 

I won't try to answer that here, but there are some papers here:
and elsewhere that talk about discovery.  In general, discovery and 
matchmaking can take advantage of description-logic techniques like 
subsumption, but also in general we've found that *pure* subsumption 
doesn't do well enough; various modifications and extensions to it may 
be needed.

> I've read that the
> automatic discovery in OWL-S is based on its input and outputs parameters,
> so we can make a distinction between the services. 
> But actually, how can I say that my AirplaneCompany service is a class in
> OWL model?

Well, an OWL-S "service" is something that accomplishes a specific 
request, like "ReserveTicket", so AirplaneCompany is more likely to be a 
name for a collection of services rather than a service.  So I will 
answer using the name ReserveTicket.

Actually an ReserveTicket service would be an *instance* of the Service 
class (which is defined in Service.owl).

  Where Can I put this relation in OWL-S?

You simply make an OWL declaration that says "ReserveTicket is an 
instance of owl-s:Service".  In other declarations you will also declare 
something like "ReserveTicketProfile is an instance of 
"owl-s-profile:Profile" and "ReserveTicketProcess is an instance of 

You can see examples of this here:


  And also, where can I say
> that AirplaneCompany is the same service that AircraftCompany, as we do in
> OWL using equivalenceClass like:
> <owl:Class rdf:ID="Aircraft">
>     <owl:equivalentClass rdf:resource="urn:eg#AirPlane"/>
> These relations exist? Or in OWL-S we can not say that? 

Yes, you can say things like that, but since an OWL-S service is an 
*instance*, you would use the OWL property sameIndividualAs, rather than 

Received on Wednesday, 24 November 2004 10:41:20 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:54:14 UTC