- From: Davy Vermeir <davermei@vub.ac.be>
- Date: Fri, 24 Oct 2003 10:56:04 +0200 (MET DST)
- To: www-ws@w3.org
- Cc: "'Maria Agustina Cibran'" <mcibran@vub.ac.be>, Bart Verheecke <bart.verheecke@vub.ac.be>
Hello, I'm a student at the VUB doing an apprenticeship on Semantic Web Services at the SSEL-lab at the VUB. While performing a survey on some approaches on how to describe Web Services in a semantic way, i found the DAML-s approach, but I still have some things in mind that are not very clear to me. In the documents I found on DAML-s on the website, a Web Service can be described based on the IOPE's, and they claim that this is enough for automatic web service discovery. Since "EFFECTS" here are described as physical effects, I don't understand how these IOPE's can fully describe a web service for automatic discovery. An example to make it clearer: A Concrete Service A implementing an operation to look for all available rooms in a hotel. <profile:input> <profile:ParameterDescription rdf:ID="availableHotelRoomsInput"> <profile:parameterName>availableHotelRoomsInput</profile:parameterName> <profile:restrictedTo rdf:resource="http://exampleontology#Hotel"> <profile:refersTo rdf:resource="http://notimportant"> </profile:ParameterDescription> </profile:input> <profile:output> <profile:ParameterDescription rdf:ID="availableHotelRoomsOutput"> <profile:parameterName>AvailableHotelRoomsOutput</profile:parameterName> <profile:restrictedTo rdf:resource="http://exampleontology#listOfRooms"> <profile:refersTo rdf:resource="http://notimportant"> </profile:ParameterDescription> </profile:output> A Conrete Service B that implements an operation to look for all rooms in a hotel that have a minimum amount of quality <profile:input> <profile:ParameterDescription rdf:ID="qualityHotelRoomsInput"> <profile:parameterName>qualityHotelRoomsInput</profile:parameterName> <profile:restrictedTo rdf:resource="http://exampleontology#Hotel"> <profile:refersTo rdf:resource="http://notimportant"> </profile:ParameterDescription> </profile:input> <profile:output> <profile:ParameterDescription rdf:ID="qualityHotelRoomsOutput"> <profile:parameterName>qualityHotelRoomsOutput</profile:parameterName> <profile:restrictedTo rdf:resource="http://exampleontology#listOfRooms"> <profile:refersTo rdf:resource="http://notimportant"> </profile:ParameterDescription> </profile:output> As you can see, both these services share the same semantic descriptions of the inputs and outputs of their operation. The inputs map to the "Hotel" - concept in the ontology , while the outputs map to the "listOfRooms" - concept. The operations implemented by these services have no preconditions or effects (since the retrieval of information has no physical effect). Problem: If a client would have a request for a service that has a "Hotel" as an input and a "listOfRooms" as an output both of these service could be returned as a match, while the operations implemented by these services have a totally different meaning(one is for lookin up available rooms and the other is for looking up rooms that have a certain amount of quality). Is there a way to solve this in DAML-S? Greetings, Davy Vermeir
Received on Friday, 24 October 2003 05:02:26 UTC