W3C home > Mailing lists > Public > public-sws-ig@w3.org > December 2003

Re: UDDI and semantics: CMU OWL-S/UDDI Mapping

From: Massimo Paolucci <paolucci@cs.cmu.edu>
Date: Mon, 01 Dec 2003 18:27:35 -0500
Message-ID: <3FCBCE67.2030101@cs.cmu.edu>
To: www-sws-ig <public-sws-ig@w3.org>

Paul,

sorry for my late answer.

Paul Denning wrote:

> Please explain this.
>
> I have read some of your papers, and they usually start by claiming 
> UDDI only allows keyword searching.
>
> "Because UDDI does not represent service capabilities, it is of no 
> help to search for services on the basis of what they provide".
> I have a hard time with this claim. 

As you correctly point out, UDDI's way to represent capabilities is 
based on the tModels and the categories.  These two mechanisms are 
overly generic and you can associate any property to the Web service.  
It may be a capability description as we did using DAML-S, but it may be 
any other property,  such as the location of the WSDL file or the amount 
of people that worked on a Web service.   In addition, there is no way 
to enforce a use of the TModel.   I may create a tModel called 
capability, and use it to mark the type of service that I provide,  but 
somebody else may use it to say how many items they have in stock to 
sell.   Both uses are legitimate, but they will never match.

The other problem is that the search process is just reduced to string 
matching.  Even if you assume, as you seem to do below, that there are 
standardized taxonomies (which by the way look quite similar to OWL 
ontologies), it is missing an inference mechanism that allows to decide 
when the service provided by one WS fits a request.

Using your example, 

> Why don't you feel that the categoryBag in businesses, services, and 
> tModels can't be used to answer "which web service can do X for me?"
>
> Lets say that services categorized as Y "can do X".  That is to say, a 
> taxonomy is defined where the semantics of a category Y are well 
> understood (albeit not represented formally in OWL or other ontology 
> language).
>
> Lets assume you have two services that can "do X for you", call them 
> S1 and S2.
>
> We register them in UDDI (under the same or different businesses).  We 
> add to the categoryBag of S1 and S2 a keyedReference
>
> <keyedReference tModelKey=<foo> keyValue="Y" />
>
> where <foo> is the tModelKey for a taxonomy tModel created to register 
> that taxonomy in UDDI.
>
> This is a way of expressing that S1 and S2 "can do X".
>
> if I find_service in UDDI with a <categoryBag><keyedReference 
> tModelKey=<foo> keyValue="Y" /></categoryBag>,
> would I not discover S1 and S2?
>
> This seems like the current UDDI can answer your question, and is more 
> powerful than a keyword lookup. 

Here you assume that I have to hit the exact key,  but what if there is 
a mismatch, can you resolve it?  For example,  Amazon and B&N may 
advertise as book sellers.  Suppose I look for somebody that sells me 
paperbacks.  The category bag mechanism will fail to find Amazon and 
B&N.  Yet, they both may sell me the product that I look for.  The logic 
underlying the ontology would recognize that paperback is a type of book 
and find the two providers.

> If you search UDDI for a name rather than a categoryBag, then I would 
> agree that it is essentially a keyword search.  But UDDI provides the 
> categoryBag, which to me is more powerful than a simple "keyword".
>
> The key is learning the taxonomy, for both the people who publish to 
> UDDI and the people who would search UDDI using that taxonomy.
> Same thing seems like it would apply to ontologies and any other form 
> of registry or index.  Training!
>
> UDDI products like Systinet WASP UDDI allow you to search a taxonomy 
> for keywords (e.g., keyName=%keyword%).  So if you do not know the 
> taxonomy, searching the taxonomy will help you find potential items in 
> a taxonomy, which you then use to build up a categoryBag that you use 
> to search UDDI.  (Note that you look in the taxonomy for keyName since 
> keyValue is often a number.  For example, NAICS keyValue="112111" and 
> keyName="Beef Cattle Ranching and Farming".)
>
> If by "current UDDI", you mean that the set of pre-canned taxonomies 
> (NAICS, UNSPSC, ISO3166) do not support it, I would agree.  But the 
> current UDDI lets you publish tModels for your own taxonomies, which 
> you can then use in categoryBags.  The support in UDDI products for 
> working with taxonomies can be better.  The web browser (HTML) GUI 
> provided by UBR and private UDDI registries usually do not let you 
> specify an unchecked taxonomy in a search or in publishing, so you 
> have to resort to the SOAP interface

If I understand this last bit, the mechanisms that you propose still 
suffers from the same problems I discussed above:  by asking for 
paperbacks I will not find avaialble book-sellers.
Basically, in UDDI it is very difficult to find something on the bases 
of its capabilities only because tModels and categoryBag require you an 
exact match.  One way out may be to test many different values of they 
keys hoping to find one, but that is quite painful (expecially when you 
have multiple keys to match) and it is very difficult to do automatically.

What we are trying to do at CMU (and in general with OWL-S) is to 
propose a way to add explicit semantic knowledge which can improve the 
languages and the tools that already exist.   This is basically the 
reason why we got into the trouble of basing the DAML-S matchmaker on 
top of UDDI and why OWL-S is based on WSDL.

Cheers,

--- Massimo
Received on Monday, 1 December 2003 20:37:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 16 March 2008 00:10:53 GMT