1 / 20

Semantic Web Services

Semantic Web Services. Jun. 2003. Presentation: Y.G. Ha. Preface. The original paper “ Semantic Web Services ” Proposes the markup of Web services in DAML which enables a wide variety of agent technologies for automated Web services

august
Download Presentation

Semantic Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Semantic Web Services Jun. 2003. Presentation: Y.G. Ha

  2. Preface • The original paper “Semantic Web Services” • Proposes the markup of Web services in DAML which enables a wide variety of agent technologies for automated Web services • Written by Sheila A. McIlraith, Tran Cao Son and Honglei Zeng (Stanford Univ.) • Appeared in IEEE Intelligent Systems, Mar. 2001.

  3. Preface (Cont’d) • The original paper is out of date … • The markup is being standardized as DAML-S today (currently v0.9b) • Sheila McIlraith is one of the authors of DAML-S • DAML: DARPA Agent Markup Language • DAML-S: DAML Services

  4. Contents • Web ontology • Semantic Web services • Focused on DAML-S • The challenge

  5. This paper Web Ontology Languages 1992 1998 1999 2000 2001 2002 2003 Combine vocabularies OIL Define vocabularies Revision XML RDF RDFS DAML (DAML+OIL) OWL Extend vocabularies DAML-ONT SGML OWL-S For Web services DAML-S Extend HTML tags for semantic description HTML SHOE

  6. Web Ontology • Ontology • A knowledge representation • Concepts • Relationships: is-a, is-part-of, … • Representation scheme • Frames, semantic network, logic programs, … • Web ontology • Ontology of Web resources • Semantic markup to annotate Web resources • Web ontology languages • Classes = Concepts • Properties = Relations • RDF-based • DAML+OIL (DARPA) • OWL (W3C)

  7. A DAML Ontology Example <daml:DatatypeProperty rdf:ID="age"> <rdf:type rdf:resource="http://www.daml.org/2001/03/daml+oil#UniqueProperty"/> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger"/> </daml:DatatypeProperty> … <daml:Class rdf:ID="Person"> <rdfs:subClassOf rdf:resource="#Animal"/> <rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#hasFather"/> <daml:toClass rdf:resource="#Male"/> </daml:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#shoesize"/> <daml:minCardinality>1</daml:minCardinality> </daml:Restriction> </rdfs:subClassOf> </daml:Class> … <Male rdf:ID=“Cain"> <rdfs:label>Cain</rdfs:label> <rdfs:comment>Cain is a person.</rdfs:comment> <age><xsd:integer rdf:value="13"/></age> <shoesize><xsd:decimal rdf:value="9.5"/></shoesize> <hasFather rdf:resource=“#Adam”/> </Male> … </rdf:RDF> <rdf:RDF xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:daml="http://www.daml.org/2001/03/daml+oil#" xmlns:xsd ="http://www.w3.org/2000/10/XMLSchema#" > <daml:Ontology rdf:about=""> <daml:versionInfo>$Id: daml+oil-ex.daml,v 1.9 $</daml:versionInfo> <rdfs:comment> An example ontology, with data types taken from XML Schema </rdfs:comment> </daml:Ontology> <daml:Class rdf:ID="Animal"> <rdfs:label>Animal</rdfs:label> </daml:Class> <daml:Class rdf:ID="Male"> <rdfs:subClassOf rdf:resource="#Person"/> </daml:Class> <daml:Class rdf:ID="Female"> <rdfs:subClassOf rdf:resource="#Person"/> <daml:disjointWith rdf:resource="#Male"/> </daml:Class> ... <daml:DatatypeProperty rdf:ID="shoesize"> <rdf:type rdf:resource="http://www.daml.org/2001/03/daml+oil#UniqueProperty"/> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#decimal"/> </daml:DatatypeProperty>

  8. Semantic Web • Today’s Web • HTML-based • Tags for presentation layout • For human interpretation • Search HTML pages for a given keyword according to presentation layout • Semantic Web • Ontology-based • Annotate Web documents based on Web ontologies • Agent understandable semantics • Using AI technology: reasoning about Web ontologies

  9. Web Service Ontology • Ontology of Web services • Define markup for describing Web services • Is a Web ontology • Domain-independent ontology (upper ontology) • DAML-S • Markup for service profile: What the service does (IOPEs) • Markup for service modeling: How it works (process, param., sequence, …) • Markup for service grounding: How to access it (protocol, messages, …) • Domain-specific ontology • Based on upper ontology • Domain-dependent knowledge on services • Service class “BookSelling” • Subclass of “E_Commerce” which is subclass of “Profile” in DAML-S • Its detailed profile properties, process modeling and grounding information is also described in DAML-S markup

  10. A BookSelling Service daml:Class service:ServiceProfile profile:Profile profileHierarchy:Information_Service profileHierarchy:E_Commerce profileHierarchy:BookSelling profileHierarchy:AirlineTicketing congoProfile:Profile_Congo_BookBuying_Service

  11. A BookSelling Service Profile <profile:input> <profile:ParameterDescription rdf:ID="BookTitle"> <profile:parameterName>bookTitle</profile:parameterName> <profile:restrictedTo rdf:resource="http://www.w3.org/2001/XMLSchema.xsd#string" /> <profile:refersTo rdf:resource="http://www.daml.org/services/daml-s/0.9/CongoProcess.daml#bookName" /> </profile:ParameterDescription> </profile:input> … <profile:output> <profile:ParameterDescription rdf:ID="EReceipt"> <profile:parameterName>EReceipt</profile:parameterName> <profile:restrictedTo rdf:resource="http://www.daml.org/services/daml-s/0.9/CongoProcess.daml#EReceipt" /> <profile:refersTo rdf:resource="http://www.daml.org/services/daml-s/0.9/CongoProcess.daml#congoBuyReceipt" /> </profile:ParameterDescription> </profile:output> … <profile:precondition> <profile:ParameterDescription rdf:ID="AcctExists"> <profile:parameterName>AcctExists</profile:parameterName> <profile:restrictedTo rdf:resource="http://www.daml.org/services/daml-s/0.9/CongoProcess.daml#AcctExists" /> <profile:refersTo rdf:resource="http://www.daml.org/services/daml-s/0.9/CongoProcess.daml#congoBuyAcctExistsPrecondition" /> </profile:ParameterDescription> </profile:precondition> … <profile:effect> <profile:ParameterDescription rdf:ID="BuyEffectType"> <profile:parameterName>BuyEffectType</profile:parameterName> <profile:restrictedTo rdf:resource="http://www.daml.org/services/daml-s/0.9/CongoProcess.daml#BuyEffectType" /> <profile:refersTo rdf:resource="http://www.daml.org/services/daml-s/0.9/CongoProcess.daml#congoBuyEffect" /> </profile:ParameterDescription> </profile:effect> </profileHierarchy:BookSelling> </rdf:RDF> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:daml="http://www.daml.org/2001/03/daml+oil#" xmlns:service="http://www.daml.org/services/daml-s/0.9/Service.daml#" xmlns:process="http://www.daml.org/services/daml-s/0.9/Process.daml#" xmlns:profile="http://www.daml.org/services/daml-s/0.9/Profile.daml#" xmlns:profileHierarchy="http://www.daml.org/services/daml-s/0.9/ProfileHierarchy.daml#" xmlns:xsd="http://www.w3.org/2001/XMLSchema.xsd#" xmlns:congoService="http://www.daml.org/services/daml-s/0.9/CongoService.daml#" xmlns:congoProcess="http://www.daml.org/services/daml-s/0.9/CongoProcess.daml#“ xmlns="http://www.daml.org/services/daml-s/0.9/CongoProfile.daml#"> <daml:Ontology rdf:about=""> <daml:versionInfo>$Id: CongoProfile.daml,v 1.21 $</daml:versionInfo> <rdfs:comment>DAML-S Coalition: CongoBuy Example for DAML-S release 0.9</rdfs:comment> </daml:Ontology> <profileHierarchy:BookSelling rdf:ID="Profile_Congo_BookBuying_Service"> <service:presentedBy rdf:resource="http://www.daml.org/services/daml-s/0.9/CongoService.daml#ExpressCongoBuyService" /> <profile:serviceName>Congo_BookBuying_Agent</profile:serviceName> <profile:textDescription>This agentified service provides the opportunity to browse a book selling site and buy books there</profile:textDescription> <profile:contactInformation> <profile:Actor rdf:ID="CongoBuy_contacts"> <profile:name>ExpressCongoBuy</profile:name> <profile:phone>412 268 8780</profile:phone> <profile:email>Bravo@Bravoair.com</profile:email> <profile:physicalAddress>somewhere 2, OnWeb, Montana 52321, USA</profile:physicalAddress> <profile:webURL>http://www.daml.org/services/daml-s/0.9/ExpressCongoBuy.html</profile:webURL> </profile:Actor> </profile:contactInformation> …

  12. Semantic Web Service • Today’s Web service • Communication-level description of how it is being sent (messages and protocols using XML) • Focused on improving service discovery and execution • Standards like UDDI, SOAP, WSDL and ebXML • Microsoft .NET, SUN ONE, … • Semantic Web service • Semantic-level description of what is being sent based on Web service ontology: richer level of description • More sophisticated interactions and reasoning at the agent or application level • Automated Web services including automatic service composition and interoperation

  13. Semantic Web Service Framework Upper ontology like DAML-S Distributed KB of services Domain-specific ontologies Reason about Web services

  14. Automatic Service Discovery • Locating Web services providing a particular service with requested properties • “Find a service that sells airline tickets between San Francisco and Toronto and that accepts payment by Diner’s Club credit card” • Today’s Web service • The user must perform this task by using search engine and navigating discovered sites • Semantic Web service • Necessary information is specified as semantic markup • An agent or ontology-enabled search engine does the task • DAML-S markup for service discovery • profile:serviceName, profile:textDescription, profile:serviceCategory, profile:webURL, profile:physicalAddress, profile:input, profile:output, profile:precondition, profile:effect, …

  15. Automatic Service Execution • Automatically invoking an identified Web service • “Buy me an airline ticket from www.acmetravel.com on UAL Flight 1234 from San Francisco to Toronto on 3 March” • Today’s Web service • The user must go to the Web site, fill out a form and click a button to execute the service • Or might send an http request directly to the service URL with the appropriate parameters encoded • Semantic Web service • The markup tells the agent what input is necessary, what information will be returned, and how to execute • DAML-S markup for service execution • process:input, process:output, process:precondition, process:effect, process:Iterate, process:Sequence, process:If-Then-Else, …

  16. Automatic Service Composition • Automatic selection, composition, and interoperation of appropriate Web services to perform a task • Given a high-level description of the task’s objective • “Make the travel arrangements for my IJCAI 2001 conference trip” • Today’s Web service • The user must select the Web services, manually specify the composition, and provide the input at choice points • Semantic Web service • The information necessary to select, compose and respond to services is encoded at the service Web sites as semantic markup • An agent manipulates this markup together with a specification of the task’s objectives and user’s preferences, to achieve the task automatically • DAML-S markup for service composition • process:AtomicProcess, process:SimpleProcess, process:CompositeProcess, process:input, process:output, process:precondition, process:effect, process:whileProcess, process:Sequence, process:Parallel, process:If-Then-Else, …

  17. Ontology Is Not Enough • How to represent constraints or preferences • Constraints are in forms of rules • Such as “Teenager(?X)  AgeOf(?X) ≥ 10 ∧ AgeOf(?X) < 20” • DAML(OWL) is based on DL(Description Logic) • DL is suitable to represent network of concepts but not rules • Need rules layer on top of ontology • Rules provide more compelling syntax and further expressive power for non-classification oriented information (eg. service process modeling) • Tradeoff: expressive power vs. tractability

  18. DAML-Rules • Markup for rules • Based on DAML • Formerly known as DAML-L • Based on another logic system • HL (Horn Logic) • Current status • RuleML as point of departure? • Still on discussion …

  19. Automatic Service Discovery Automatic Service Execution Automatic Service Composition Agents Domain-specific Service Ontology DAML-S DAML-Rules Semantic Web Service Stack Wrapping Up DAML+OIL RDF + RDF Schema Semantic Web Stack XML + NS + XML Schema Unicode URI

  20. References • DAML family • http://www.daml.org/2001/03/daml+oil-index.html • http://www.daml.org/services/ • http://www.daml.org/rules/ • Web ontology & semantic Web • http://www.w3.org/2001/sw/ • http://www.w3.org/2001/sw/WebOnt/ • Web services • http://www.w3.org/2002/ws/ • http://www.ebxml.org • http://www.uddi.org • RuleML initiative • http://www.ruleml.org

More Related