40 likes | 240 Views
OWL-S for Amazon. Amazon.com publishes a WS to browse its DB and reserve goods At the time of this experiment Amazon published only the buyer WS Interaction limited to browsing the server DB and reserving products purchase had to be done through the Web site
E N D
OWL-S for Amazon • Amazon.com publishes a WS to browse its DB and reserve goods • At the time of this experiment Amazon published only the buyer WS • Interaction limited to browsing the server DB and reserving products purchase had to be done through the Web site • OWL-S description generated from the WSDL that describes the Amazon WS + further annotation • OWL-S VM has been used to interact with Amazon to find and reserve books
Translation Problems • Translation Problem: Amazon uses only keyword searches, but each search can produce any product. • We had to restrict to the type of searches that were guaranteed to return books and CDs • Data problem: translation from the Amazon’s data structure to the ontology used to describe IO • Amazon describes all its products in the same data structure: no distinction between books and dvd players • The Grounding specification includes a mapping from the content of the Amazon’s messages to the books ontologies that we used
Process Model for Amazon.com Shop= Browse+Manage Account • Process Model allows three operations: Browse: Allows the user to look for books available at Amazon Manage Account: check content of the shopping cart, add and remove products Shop: a sequence of the previous two. First browse to find the product, the put it in the shopping basket Browse Manage Account Process Model for Amazon.com
Problem for automatic processing: Handling Choices • 3 choice points • 11 valid execution paths • Each of them has a different outcome Client should select the correct path to obtain the results it desires Find Book We solved the problem by computing the path that lead to the expected effects Find CD correct(ProcessModel,In,Out) hasProcess(Process,ProcessModel) correct(Process ,In,Out,In,Out) correct(composite(Process,List,In,Out)) executable(list,In), expectedValue(oneOf(List),Out) executable(composite(Process,List),In) executable(list,In), exepectedValue(composite(Process,List), out) expectedValue(oneOf(List)) executable(atomic(Process),In) In inputs(Process) exepectedValue(atomic(Process),Out) Out Outputs(Process)