applying semantics in soa – owl, wsdl-s. 指導教授:吳秀陽 報告人:陳建博 學號:...
TRANSCRIPT
Applying Semantics in SOA – OWL , WSDL-S
. 指導教授:吳秀陽 報告人:陳建博 學號:69621501
2
Outline
1. Introduction
2. OWL Synopsis
3. OWL Description
4. Example
5. WSDL-S
6. Conclusion
3
1. Introduction – Why Semantics Need in SOA?
1) The main challenge of service discovery in SOA is using
automated means to accurately discover services with
minimal user involvement.
2) This requires explicating the semantics of both the
services provider and requester.
3) They will facilitate the automation of Web service tasks
including automated Web service discovery, execution,
interoperation, composition and monitoring.
4) We need some simple, common, and standard semantic
language to achieve such automation.
4
1. Introduction - What is OWL (Web Ontology Language)?
1) OWL is intended to be used to define domain-specific
related knowledge in Web Ontologies.
2) An Ontology is a formal, explicit specifications of a
shared conceptualization. [Grub:93]
3) OWL can be used to explicitly represent the meaning of
terms in vocabularies and the relationships between those
terms.
4) OWL had became a W3C formal Recommendation for Web
ontologies.
5
1. Introduction – The Evolution of OWL
XML(S) → RDF(S) → DAML+OIL → OWL
1) XML/XML Schema (eXtensible Markup Language)
→ XML documents and also extends XML with datatypes.
2) RDF/RDF Schema (Resource Description Framework)
→RDF with a semantics for generalization-hierarchies of such
properties and classes.
3) DAML(DARPA Agent Markup Language) + OIL (Ontology
Inference Layer) (replaced by OWL)
→ more sophisticated RDF(S) + inference system.
4) OWL (Web Ontology Language)
→ W3C standard, ontology language.
6
2. OWL Synopsis – OWL Species
1) OWL Lite
supports those users primarily needing a classification
hierarchy and simple constraints so it expludes
enumerated classes, arbitrary cardinality, and so on.
2) OWL DL (Description Logic)
supports those users who want the maximum expressiveness,
retain computational completeness and decidability, but
can be used only under certain restrictions.
3) OWL Full
for users who want maximum expressiveness and the
syntactic freedom of RDF with no computational guarantees.
7
2. OWL Synopsis - OWL Species (cont.)
4) Each of these sublanguages is an extension of its
simpler predecessor, both in legally expressed and
validly concluded.
Every legal OWL Lite ontology is a legal OWL DL ontology.
Every legal OWL DL ontology is a legal OWL Full ontology.
Every valid OWL Lite conclusion is a valid OWL DL
conclusion.
Every valid OWL DL conclusion is a valid OWL Full
conclusion.
8
2. OWL Synopsis – OWL Lite
1) OWL Lite Synopsis
Schema Features• Class (Thing, Nothing) • rdfs:subClassOf • rdf:Property • rdfs:subPropertyOf • rdfs:domain • rdfs:range • Individual
(In) Equality• equivalentClass • equivalentProperty • sameAs • differentFrom • AllDifferent • distinctMembers
9
2. OWL Synopsis – OWL Lite (cont.)
Property Characteristics • ObjectProperty • DatatypeProperty • inverseOf • TransitiveProperty • SymmetricProperty • FunctionalProperty • InverseFunctionalProperty
Property Restrictions • Restriction • onProperty • allValuesFrom • someValuesFrom
Restricted Cardinality• minCardinality (only 0 or 1) • maxCardinality (only 0 or 1) • cardinality (only 0 or 1)
Header Information • Ontology • imports
10
2. OWL Synopsis – OWL Lite (cont.)
Class Intersection• intersectionOf
Datatypes• xsd datatypes
Versioning• versionInfo• priorVersion• DeprecatedPropety• DeprecatedClass• incompatibleWith
Annotation Properties• rdfs:label• rdfs:comment• rdfs:seeAlso• rdfs:isDefinedBy• AnotationProperty• OntologyProperty
11
2. OWL Synopsis – OWL DL and Full
Class Axioms• oneOf, dataRange • disjointWith • equivalentClass
rdfs:subClassOf
Arbitrary Cardinality: • minCardinality • maxCardinality • cardinality
Boolean Combinations of Class Expressions
• unionOf • complementOf • intersectionOf
Filler Information: • hasValue
12
3. OWL Description – OWL Lite RDF Schema features
1) Class,subClass
A class defines a group of individuals that belong together because they share some properties class.(Thing, Nothing)
2) individual
Individuals are instances of classes, and properties may be used to relate one individual to another.
3) rdf:Property, rdfs:subProperty
Properties can be used to state relationships between individuals or from individuals to data values.
4) rdfs:domain, rdfs:range
A domain of a property limits the individuals to which the property can be applied. The range of a property limits the individuals that the property may have as its value.
13
3. OWL Description – OWL Lite Equality and Inequality
1) equivalentClass
Two classes may be stated to be equivalent. Equivalent classes have the same instances.
2) equivalentProperty
Two properties may be stated to be equivalent. Equivalent properties relate one individual to the same set of other individuals.
3) sameAs, differentFrom
Two individuals may be stated to be the same or the different.
4) AllDifferent
A number of individuals may be stated to be mutually distinct in one AllDifferent statement.
14
3. OWL Description – OWL Lite Property Characteristics
1) inverseOf
One property may be stated to be the inverse of another property. For example, if property P1 is the inverse of property P2, then if X is related to Y by the P2 property, then Y is related to X by the P1 property .
2) FunctionalProperty, inverseFunctionalProperty
Properties may be stated to have a unique value or not. If a property is a FunctionalProperty, then it has no more than one value for each individual.
3) TransitiveProperty
Properties may be stated to be transitive.
4) SymmetricProperty
Properties may be stated to be symmetric.
15
3. OWL Description – OWL Lite Restricted Cardinality
1) cardinality
That is the restrictions constrain the cardinality of that property on instances of that class. OWL Lite cardinality restrictions are limited because they only allow statements concerning cardinalities of value 0 or 1.
2) minCardinality
For Example, the class Parent would have a minimum cardinality of 1 on the hasOffspring property.
3) maxCardinality
For example, the property hasSpouse on the class UnmarriedPerson may have a maximum cardinality of 0 .
16
3. OWL Description – OWL Lite other semantics
1) Property Restriction
allValuesFrom, someValuesFrom
2) Class Intersection
intersectionOf
3) Header Information
4) Anotation Properties
5) Versioning
.
.
17
3. OWL Description – OWL DL & OWL Full Increment
1) oneOf
2) hasValue
3) disjointWith
4) unionOf, complementOf, intersectionOf
5) minCardinality, maxCardinality, cardinality
6) Complex classes
18
4. Example – Academic OWL
small ontology:
<owl:Class rdf:ID="associateProfessor"> <rdfs:subClassOf rdf:resource="#academicStaffMember"/> </owl:Class>
<owl:Class rdf:about="associateProfessor"> <owl:disjointWith rdf:resource="#professor"/> <owl:disjointWith rdf:resource="#assistantProfessor"/> </owl:Class>
<owl:Class rdf:ID="faculty"> <owl:equivalentClass rdf:resource="#academicStaffMember"/></owl:Class>
19
4. Example – Academic OWL (cont..)
<owl:ObjectProperty rdf:ID="isTaughtBy"> <rdfs:domain rdf:resource="#course"/> <rdfs:range rdf:resource="#academicStaffMember"/> <rdfs:subPropertyOf rdf:resource="#involves"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="teaches"> <rdfs:range rdf:resource="#course"/> <rdfs:domain rdf:resource="#academicStaffMember"/> <owl:inverseOf rdf:resource="#isTaughtBy"/> </owl:ObjectProperty> <owl:Class rdf:about="#firstYearCourse"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isTaughtBy"/> <owl:allValuesFrom rdf:resource="#Professor"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class>
20
4. Example – Academic OWL (cont..)
<owl:Class rdf:about="#course"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isTaughtBy"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class>
<owl:Class rdf:ID="peopleAtUni"> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#staffMember"/> <owl:Class rdf:about="#student"/> </owl:unionOf> </owl:Class>
21
4. Example – Academic OWL (cont..)
some individuals:
<academicStaffMember rdf:ID=“949352”> <uni:age rdf:datatype=“&xsd;integer”>39<uni:age> </academicStaffMember>
<course rdf:about=“CIT1111”> <isTaughtBy rdf:resource=“949318”/> <isTaughtBy rdf:resource=“949352”/> </course>
abstract syntax instances:
Individual(
CIT1111 type(course)
value(isTaughtBy 949352)
value(isTaughtBy 949318)) More Detail here.
22
5. WSDL-S - Brief
1) WSDL provides syntactic functional description in a technical manner of
Web Service, solves the need of interoperability, but lacks in semantic
information.
2) OWL supports developing of ontologies in a powerful way, but lacks in
describing the technical details of services.
3) WSDL-S connecting WSDL and OWL to provide semantically enriched
meanings of Web services.
4) WSDL-S is guided by the following principles: upwardly compatible,
independent of semantics model(OWL, UML), data types are
described in XML(S), rich mapping between Web Service
schema types and ontologies.
23
5. WSDL-S - IOPE Mode
1) Input: Semantics is the meaning of input parameters as defined by
some semantic model.
2) Output: Semantics is the meaning of output parameters as
defined by some semantic model.
3) Precondition: A precondition is a set of semantic statements that
are required to be true before an operation can be successfully
invoked .
4) Effect: An effect is a set of semantic statements (or expressions
represented using the concepts in a semantic model) that must be
true after an operation completes execution after being invoked.
24
5. WSDL-S - IOPE Mode (cont.)
25
5. WSDL-S - Example
<interface name="PurchaseOrder"> <operation name="processPurchaseOrder" pattern=wsdl:in-out wssem:modelReference="Rosetta:RequestPurchaseOrder"> <input messageLabel="processPurchaseOrderRequest" element="tns:processPurchaseOrderRequest"/> <output messageLabel="processPurchaseOrderResponse"
element="processPurchaseOrderResponse"/>
<!--Precondition and effect are added as extensible elements on an operation --> <wssem:precondition name="ExistingAcctPrecond" wssem:modelReference="POOntology#AccountExists"> <wssem:effect name="ItemReservedEffect" wssem:modelReference="POOntology#ItemReserved"/> </operation> </interface>
26
5. WSDL-S – Scope and Proposal
WSDL-S
<Operation>
<Input1>
<Output1>
Service Template
Operation:buyTicket
Input1:TravelDetails
Output1:Confirmation
Annotations
Publish
SearchSemantic UDDIOperation:
cancelTicket
Input1:TravelDetails
Output1:Confirmation
Sivashanmugam, K., Verma, K., Sheth, A., Miller, J., Adding Semantics to Web Services Standards, ICWS 2003
<Operation>
<Output1>
Web service 1
<Input1>
<Operation>
<Output2>
Web service 2
<Input2>
Composition
27
6. Conclusion
1) OWL is sufficiently rich to be used in practice, further related projects
are in the making, such as OWL-QL, Protege, OWL 2.0 ...
2) Formal semantics and reasoning support is provided through the
Description Logics, a field of research that had been continually
studied until nowadays.
3) WSDL-S intends just modeling the IOPEs for all the steps of the
process semantically, seems not enough to achive whole semantic-
SOA.
4) But adding semantics within the SOA would provide explicitly a
shared meaning of business services.
28
References:
1) W3C Semantic Web Ontology Language (OWL 1.0)
http://www.w3.org/2004/OWL/
2) WSDL-S 1.0
http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/
http://www.w3.org/Submission/WSDL-S/
3) Applying Semantics (WSDL, WSDL-S, OWL) in Service Oriented
Architectures (SOA), Michael Herrmann1, Muhammad Ahtisham
Aslam2, Oliver Dalferth
4) Yuh-Jong Hu, 2005, “Semantic Web and Web Services”
http://www.cs.nccu.edu.tw/~jong
5) Grigoris Antoniou, Frank van Harmelen, “A semantic web
primer” , http://www.ics.forth.gr/isl/swprimer/