Semantic Web Services Juanzi Li Department of Computer Science and Technology Tsinghua University March 2007
Outline • Semantic Web and Ontology • Introduction to Semantic Web Services • Semantic Web Service Markup Language • Semantic Web Service Framework • Semantic Web Service Toolkits
Web was “invented” by Tim Berners-Lee , a physicist working at CERN TBL’s original vision of the Web was much more ambitious than the reality of the existing (syntactic) Web: TBL (and others) have since been working towards realising this vision, which has become known as the Semantic Web E.g., article in May 2001 issue of Scientific American… Proposing of Semantic Web “... a goal of the Web was that, if the interaction between person and hypertext could be so intuitive that the machine-readable information space gave an accurate representation of the state of people's thoughts, interactions, and work patterns, then machine analysis could become a very powerful management tool, seeing patterns in our work and facilitating our working together through the typical problems which beset the management of large organizations.”
Definition of Semantic Web The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in co-operation. – Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001
Architecture and Standards of Semantic Web 逻辑框架层 FOL、HOL、DL、 Horn-logic、OMDoc 规则层 RuleML、HornML、DLML 9.高信度Web层 本体层 1.以谓词演算为基础的语言 KIF-based Ontolingua,CycL, Loom,Frame-Logic 2.基于XML的本体表示语言 SHOE,XOL,OML&CKML,RDFS, Riboweb,OIL,DAML+OIL,OWL 8.证据层 7.逻辑框架层 We are here! 6.规则层 5.本体层 4.元数据定义层 下四层已 经发展的 比较成熟 与完善 3.元数据表示层 2.信息表示层 1.数据格式层
Definition of Ontology • Ontology • a philosophical discipline, branch of philosophy that deal with the nature and the organisation of reality. • Science of being • Tries to answer the questions: • what is being? • what are the features common to all beings?
Definition of Ontology Ontology is a formal, explicit specification of a shared conceptualization - Gruber Conceptualization: an abstract model of phenomena in the world by having identified the relevant concepts of those phenomena. Explicit: the type of concepts used, and the constraints on their use are explicitly defined. Formal: the fact that the ontology should be machine readable. Shared: ontology should capture consensual knowledge accepted by the communities
Definition of Ontology • What is a concept? • Different communities have different notions on what a concept means: • formal concepts • concept label • terminology • frame or OO • There is m:n relationship between words and concepts • different words may refer to the same concepts • a word may refer to several concepts • Ontology languages should provide means for making this difference explicit
Main components of an Ontology • Classes • concepts of the domain or tasks, which are usually organized in taxonomies • in univ-ontology: student and professor are two classes • Relations • a type of interaction between concepts of the domain • such as: subclass-of, is-a
Main components of an Ontology • Functions • A special case of relations in which the n-th element of the relationship is unique for the n-1 preceding elements • Such as: Price-of-a-used-car can define the calculation of the price of the second-hand car on the car-model, manufacturing data and kilometers • Axioms • Model sentences that are always true • Such as: if the student attends both A and B course, then he or she must be a second year student
Main components of an Ontology • Instances • represent specific elements • such as: Student called Peter is an instance of Student class
RDF • RDF data model • Resources • A resource is a thing you talk about (can reference) • Resources have URI’s(Uniform Resource Identifiers) • RDF definitions are themselves Resources • Properties • A special kind of resources, describe relations between resources. • (subject, predicate, object)
RDF <rdf:Description rdf:about="CIT1111"> <uni:courseName>Discrete Mathematics</uni:courseName> <uni:isTaughtBy> <rdf:Description rdf:about="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> </rdf:Description> </uni:isTaughtBy> </rdf:Description>
RDF schema • Classes and properties classes: a set of objects instances: individual object property: add restrictions on objects • Class and hierarchies
RDF schema Restrictions: Courses must taught by academic staff members only Michael Maher is a professor Michael Maher is not allowed to teach courses if we know, professor is a sub class of academic staff Michael Maher is allowed to teach courses Property hierarchies
RDF schema • Some important terminologies in RDFS • rdf:type • rdfs:subClassOf • rdfs:subPropertyOf • Rdfs:domain • Rdfs:range
RDF Limitations • RDF/RDFS limitations • Local scope of properties. cows eat only plants • Disjointness of classes. Male and female • Boolean combinations of classes. (∪,∩, ～) • Cardinality restrictions, property value restriction, person and parents, teacher and courses • Special characteristics of properties • Supervise and IsSupervisedby
OWL(Web Ontology Language) • Requirements for ontology language • a well-defined syntax • a formal semantics (convenient to reason) • convenience of expression • efficient reasoning support • sufficient expressive power
OWL • OWL is built on top of RDF • OWL is for processing information on the web • OWL was designed to be interpreted by computers • OWL was not designed for being read by people • OWL is written in XML • OWL is a web standard
Origins of OWL OWL DAML OIL RDF All were influenced by RDF DAML = DARPA Agent Markup Language OIL = Ontology Inference Layer DAML+OIL OWL OWL is now a W3C Recommendation!
Layered language of OWL Logic foundation of OWL: Description Language • OWL Lite: • Classification hierarchy • Simple constraints • OWL DL: • Maximal expressiveness • While maintaining tractability • Standard formalisation • OWL Full: • Very high expressiveness • Loosing tractability • Non-standard formalisation • All syntactic freedom of RDF(self-modifying) Full DL Lite Syntactic layering Semantic layering
OWL Example: animals <?xml version="1.0"?><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:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="http://wasp.cs.vu.nl/sekt/ontology/animal"> <owl:Ontology rdf:about=“animal"/> <owl:Class rdf:ID="Eagle"> <rdfs:subClassOf><owl:Class rdf:about="#Bird"/> </rdfs:subClassOf></owl:Class><owl:Class rdf:ID="Animal"/> <owl:Class rdf:ID="Fly"><owl:disjointWith> <owl:Class rdf:about="#Penguin"/></owl:disjointWith> <rdfs:subClassOf rdf:resource="#Animal"/> </owl:Class><owl:Class rdf:ID="Bird"> <rdfs:subClassOf rdf:resource="#Fly"/> </owl:Class> <owl:Class rdf:ID="Penguin"> <rdfs:subClassOf rdf:resource="#Bird"/> <owl:disjointWith rdf:resource="#Fly"/> </owl:Class> </rdf:RDF>
Motivation of Semantic Web Service Bringing the web to its full potential Semantic Web Services Web Services UDDI, WSDL, SOAP Dynamic WWW URI, HTML, HTTP Semantic Web RDF, RDF(S), OWL Static
Semantic Web Services Semantic Web Technology + Web Service Technology • allow machine supported data interpretation • ontologies as data model automated discovery, selection, composition, and web-based execution of services = Semantic Web Services as integrated solution for realizing the vision of the next generation of the Web.
Semantic Web Services • Define exhaustive description frameworks for describing Web Services and related aspects (Web Service Description Ontologies) • Support ontologies as underlying data model to allow machine supported data interpretation (Semantic Web aspect) • Define semantically driven technologies for automation of the Web Service usage process (Web Service aspect)
Semantic Web Services Usage Process: • Publication: Make the available description of the capability of a service • Discovery: Locate different services suitable for a given task • Selection: Choose the most appropriate services among the available ones • Composition: Combine services to achieve a goal • Mediation: Solve mismatches (data, protocol, process) among the combined • Execution: Invoke services following programmatic conventions
Semantic Web Services Execution support: • Monitoring: Control the execution process • Compensation: Provide transactional support and undo or mitigate unwanted effects • Replacement: Facilitate the substitution of services by equivalent ones • Auditing: Verify that service execution occurred in the expected way
Semantic Web Services With Semantic: • Not only an interface description, but also the capability of the service. • Logic reasoning enhanced service discovery and composition. • Can be done automatically.
Markup Language Family • OWL-S • WSML • WSDL-S • …
OWL-S • Ontology • OWL-S is an OWL ontology to describe Web services • OWL-S leverages on OWL to • Support capability based discovery of Web services • Support automatic composition of Web Services • Support automatic invocation of Web services "Complete do not compete" • OWL-S does not aim to replace the Web services standards rather OWL-S attempts to provide a semantic layer • OWL-S relies on WSDL for Web service invocation (see Grounding) • OWL-s Expands UDDI for Web service discovery (OWL-S/UDDI mapping)
OWL-S • Upper Ontology • Capability specification • General features of the Service • Quality of Service • Classification in Service • taxonomies • Mapping to WSDL • communication protocol (RPC, HTTP, …) • marshalling/serialization • transformation to and from XSD to OWL • Control flow of the service • Black/Grey/Glass Box view • Protocol Specification • Abstract Messages
Service Profile Presented by a service. Represents what the service provides Two main uses: Advertisements of Web Services capabilities (non-functional properties, QoS, Description, classification, etc.) Request of Web services with a given set of capabilities OWL-S • Service Profiles • Profile does not specify use/invocation!
OWL-S • Process Model • Process Model • Describes how a service works: internal processes of the service • Specifies service interaction protocol • Specifies abstract messages: ontological type of information transmitted • Facilitates • Web service invocation • Composition of Web services • Monitoring of interaction
OWL-S • Service Grounding • Service Grounding • Provides a specification of service access information. • Service Model + Grounding give everything needed for using the service • Builds upon WSDL to define message structure and physical binding layer • Specifies: • communication protocols, transport mechanisms, communication languages, etc.
OWL-S • Some superficial comments • OWL-S itself is an OWL Ontology, • Combined with SWRL for preconditions and effects. • Inputs/Outputs subclasses of SWRL variables • Possible candidates for logicical language used: SWRL, SWRL-FOL, (KIF, DRS) • However: Dicsovery, composition approaches published so far operate purely on description logic reasoning
WSML • WSML-Core • WSML-Flight • WSML-Rule • WSML-DL • WSML-Full
WSML • Sections Section1: Global Issues Section2: The Ontologies Section3: The Goals Section4: The Mediators Section5: The Web Services
WSML • Examples(Mediator) ooMediator <<http://www.wsmo.org/2004/d3/d3.3/v0.1/owlAddressMediator.wsml>> nonFunctionalProperties…… source <<http://daml.umbc.edu/ontologies/ittalks/address>> target <<http://www.wsmo.org/ontologies/location>> mediationService <http://126.96.36.199:8080/TranslatorService/OWL2WSML/>> ggMediator <<http://www.wsmo.org/2004/d3/d3.3/v0.1/20041008/resources/ggm1.wsml>> nonFunctionalProperties…… source <<http://www.wsmo.org/2004/d3/d3.3/v0.1/20041008/resources/goal1.wsml>> target <<http://www.wsmo.org/2004/d3/d3.3/v0.1/20041008/resources/goal.wsml>>
WSML vs OWL • The relation between WSML and OWL+SWRL is still to be completely worked out: • WSML-Core is a subset of OWL Lite (DL Å Datalog) • WSML-DL is equivalent to OWL DL • WSML-Flight (refers to "F-Logic" and "Light" ;-) and extends to the LP variant of F-Logic) but for other languages the relation is still unknown.
Relation to Web Services Technology • OWL-S and WSMO map to UDDI API adding semantic annotation • OWL-S and WSMO share a default WSDL/SOAP Grounding • BPEL4WS could be mapped into WSMO orchestration and choreography • Mapping still unclear at the level of choreography/orchestration • In OWL-S, multi-party interaction is obtained through automatic composition and invocation of multiple parties • BPEL allows hardcoded representation of many Web services in the same specification. • Trade-off: OWL-S support substitution of Web services at run time, such substitution is virtually impossible in BPEL.
Semantic Web Service Framework • WSMF • METEOR-S • …