W3C home > Mailing lists > Public > www-ws@w3.org > November 2001

RE: DAML-S 0.6: use of classes vs instances

From: Dickinson, Ian J <Ian_Dickinson@hp.com>
Date: Wed, 28 Nov 2001 15:55:15 -0000
Message-ID: <5E13A1874524D411A876006008CD059F15CA3E@0-mail-1.hpl.hp.com>
To: "'Drew McDermott'" <drew.mcdermott@yale.edu>
Cc: www-ws@w3c.org
Thanks for your reply.  It has helped me sharpen a vague concern I had about
the use of names in DAML-S into an actual question :-)

> From: Drew McDermott [mailto:drew.mcdermott@yale.edu]
>  The other [question -ijd] is,
> how (or where) are actual services described.  This is more a job for
> the Service and Profile parts of DAML-S.  Here are the basic
> declarations: 
>   <rdfs:Class rdf:ID="Service">
>     <rdfs:label>Service</rdfs:label>
>     <rdfs:comment>Top Level Service</rdfs:comment>
>   </rdfs:Class>
>   <rdfs:Class rdf:ID="ServiceProvider">
>     <rdfs:label>ServiceProvider</rdfs:label> 
>     <rdfs:subClassOf rdf:resource="#Actor" /> 
>     <rdfs:comment>
>       ServiceProvider provides general contract details such 
> as address, fax etc.
>     </rdfs:comment>
>   </rdfs:Class>
> You would instantiate a particular Service by writing
>    <daml-s:Service ID="CokesForNickels"/>
This seems somewhat inconsistent with the examples, and the discussion in
the June archive [1]. From those sources, I would have expected you to write
something like:

<daml:Class ID="CokesForNickels">
   <rdfs:subClassOf rdf:resource="&damls;#Service" />

According to the rationale document that David referenced in his reply,
services are classes and an instantiation of that service is an interaction.
So, I instantiate a CokesForNickels instance, give it an input nickel and
expect an output coke.  Given that,  what I don't understand is how I
differentiate between the following three things: 
* the concept or specification of machines (services) 
  that give cokes for nickels, 
* the coke-vending machine here on the top floor of 
  our lab (as opposed to the one on the middle floor), and
* the act of getting a coke from the top floor coke machine.

I guess, naively, I was anticipating a data model in which coke machines
were DAML classes, a given coke machine was an instance (with a URI to
distinguish the top floor machine from the middle floor) and each
interaction was an instance of a grounding.  But the service ontology as
written doesn't seem to allow me to distinguish all three of these cases.

Does that make sense?   How does DAML-S distinguish types of services from
identified individual services?


[1] http://lists.w3.org/Archives/Public/www-ws/2001Jun/0001.html

Ian J. Dickinson    HP Labs, Bristol, UK    mailto:Ian_Dickinson@hp.com
Received on Wednesday, 28 November 2001 10:55:42 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:37:07 UTC