Title: METEOR-S%20WEB%20SERVICE%20ANNOTATION%20FRAMEWORK%20(MWSAF)
1METEOR-S WEB SERVICE ANNOTATION FRAMEWORK(MWSAF)
Abhijit Patil, Swapna Oundhakar, Amit Sheth,
Kunal Verma LSDIS Lab, Department of Computer
Science,The University of Georgia
2Outline
- Introduction
- METEOR-S Project _at_ UGA
- SchemaGraph
- Architecture
- Matching algorithm
- Results
- Conclusions and Future Work
3Introduction
- Semantic Web Services
- Explicate semantics of the Web service provider
- Use existing domain ontologies to provide
contextual normalization - Challenges
- Finding relevant domain ontologies
- Finding appropriate concepts in the ontologies
- Need a tool for allowing semi-automatic
annotation
4Semantic Web services
- Describe services with ontology based languages
e.g. OWL-S - Add semantics to existing Web service standards
e.g. METEOR-S - Common factor
OWL-S Describe Web services using ontology based
service description languages
METEOR-S Add Semantics by adding annotations to
service descriptions in WSDL
Common Factor Relate Web service I/O parameters
with Ontological concepts
5METEOR-S Web service Annotation
- Map Web services inputs and outputs data
represented using XML schema to concepts in
ontologies - Annotate WSDL with Ontologies
- How ?
- Borrow from Schema matching
- Semantic disambiguation between terms in XML
messages represented in WSDL and concepts in
ontology - Match XML schema elements from WSDL to
ontological concepts
6METEOR-S Web Service Annotation Framework (MWSAF)
- Assumptions
- Domain is depicted by one or more domain
ontologies - A Web service may belong to one or more domains
- MWSAF Functionality
- Find the domain(s) of the Web service
- Annotate the Web service with one or more
ontologies
7Outline
- Introduction
- METEOR-S Project _at_ UGA
- SchemaGraph
- Architecture
- Matching algorithm
- Results
- Conclusions and Future Work
8METEOR-S Project _at_ UGA
- METEOR-S exploits Workflow, Semantic Web, Web
Services, and Simulation technologies to meet
these challenges in a practical and standards
based approach. - Applying Semantics in Annotation, Quality of
Service, Discovery, Composition, Execution of Web
Services - Adding semantics to different layers of Web
services conceptual stack - Use of ontologies to provide underpinning for
information sharing and semantic interoperability
http//swp.semanticweb.org, http//lsdis.cs.uga.ed
u/proj/meteor/swp.htm
9Semantics in METEOR-S and WS stack
MWSCF Semantic Web Process Composition Framework
Flow
MWSDI Scalable Infrastructure of Registries for
Semantic publication and discovery of Web Services
Description
MWSAF Semantic Annotation of WSDL (WSDL-S)
Messaging
Network
METEOR-S at the LSDIS Lab exploits Workflow,
Semantic Web, Web Services, and Simulation
technologies to meet these challenges in a
practical and standards based approach
http//swp.semanticweb.org, http//lsdis.cs.uga.ed
u/proj/meteor/swp.htm
10METEOR-S Types of Semantics
- Data / Information Semantics
- What Formal definition of data in input and
output messages of a web service - Why For Discovery and Interoperability
- How By annotating input/output data of web
services using ontologies - Functional Semantics
- What Formally representing capabilities of web
service - Why For Discovery and Composition of Web
Services - How By annotating operations of Web Services as
well as provide preconditions and postconditions
11METEOR-S 4 types of Semantics
- Execution Semantics
- What Formally representing the execution or
flow of services in a process or operations in a
service - Why For Analysis (verification), Validation
(simulation) and Execution (exception handling)
of the process models - How Using State Machines, Petri nets, activity
diagrams etc. - QoS Semantics
- What Formally describing operational metrics of
a web service/process - Why To select the most suitable service to
carry out an activity in a process - How Using QoS model Cardoso and Sheth, 2002
for web services
12METEOR-S Architecture
13WSDL-S Metamodel
14WSDL-S
- lt?xml version"1.0" encoding"UTF-8"?gt
- ltdefinitions
- name "BatterySupplier"
- targetNamespace "http//lsdis.cs.uga.edu/meteor
/BatterySupplier.wsdl20" - xmlns "http//www.w3.org/2004/03/wsdl"
- xmlnstns "http//lsdis.cs.uga.edu/BatterySuppl
ier.wsdl20" - xmlnsrosetta " http//lsdis.cs.uga.edu/project
s/meteor-s/wsdl-s/pips.owl " - xmlnsmephttp//www.w3.
rosettaPurchaseOrderStatusResponse
org/TR/wsdl20-patternsgt - ltinterface name "BatterySupplierInterface"
description "Computer PowerSupply Battery Buy
Quote Order Status " - domain"naicsComputer and
Electronic Product Manufacturing" gt -
- ltoperation name "getQuote" pattern
"mepin-out" action "rosettaRequestQuote" gt - ltinput messageLabel qRequest element
"rosettaQuoteRequest" /gt - ltoutput messageLabel quote
element "rosettaQuoteConfirmation" /gt - lt/operationgt
- ltoperation name "placeOrder" pattern
"mepin-out" action "rosettaRequestPurchase
Order" gt - ltinput messageLabel order element
"rosettaPurchaseOrderRequest" /gt - ltoutput messageLabel
orderConfirmation element "rosettaPurchaseO
rderConfirmation" /gt
P. Rajasekaran, J. Miller, K. Verma, A. Sheth,
Enhancing Web Services Description and Discovery
to Facilitate Composition, available at
http//lsdis.cs.uga.edu/lib/download/swswpc04.doc
15Outline
- Introduction
- METEOR-S Project _at_ UGA
- SchemaGraph
- Architecture
- Matching algorithm
- Results
- Conclusions and Future Work
16Matching Issues (WSDL and Ontologies)
- Expressiveness
- Different reasons behind their development
- XML Schema used in WSDL for providing basic
structure to data exchanged by Web services - Ontologies are developed to capture real world
knowledge and domain theory - Knowledge captured
- XML Schema has minimal containment relationship
- Language used to describe ontologies model real
world entities as classes, their properties and
provides named relationships between them - Solution
- Use hueristics to create normalized
representation - We call it SchemaGraph
17MWSAF SchemaGraph
- What is SchemaGraph ?
- Normalized representation to capture XML Schema
and DAML Ontology - How to use SchemaGraph
- Conversion functions convert both XML Schema and
Ontology to SchemaGraph representation - XML schema used by WSDL ? W wc1, wc2, wc3, ,
wcn where, wci is an element in XML schema and n
is the number of elements - Ontology ? O oc1, oc2, oc3, , ocm where, oci
is a concept in Ontology and m is the number of
concepts - Match function takes both W and O and returns a
set of mappings
18MWSAF XML Schema to SchemaGraph
Rule XML Schema constructs SchemaGraph representation
1 Element, Node
2 simpleType Node
3 Enumeration values defined for simpleType S Node with edge between simpleType S node and value node with name hasValue
4 ComplexType Node
5 Sub-elements of complexType C which have range as basic XML datatypes Node with edge between complexType C node and this node with name hasElement
6 Sub-elements of complexType C which have range as complexTypes or simpleTypes or elements defined in same schema Edge between complexType C node and the range type node
19MWSAF XML Schema to SchemaGraph
- ltxsdcomplexType name"WeatherReport"gt -
ltxsdsequencegt  ltxsdelement
name"phenomena" type"xsd1Phenomenon" /gt Â
ltxsdelement name"wind" type"xsd1Wind" /gt Â
lt/xsdsequencegt  lt/xsdcomplexTypegt -
ltxsdcomplexType name"Phenomenon"gt -
ltxsdsequencegt  ltxsdelement name"type"
type"xsd1PhenomenonType" /gt  ltxsdelement
nameintensity" type"xsd1PhenomenonIntensity"
/gt  lt/xsdsequencegt  lt/xsdcomplexTypegt -
ltxsdcomplexType name"Wind"gt -
ltxsdsequencegt  ltxsdelement
name"gust_speed" type"xsddouble" /gt Â
ltxsdelement name"prevailing_direction"
type"xsd1Direction" /gt  lt/xsdsequencegt Â
lt/xsdcomplexTypegt - ltxsdsimpleType
name"PhenomenonType"gt - ltxsdrestriction
base"xsdstring"gt  ltxsdenumeration
value"MIST" /gt  ltxsdenumeration
value"FOG" /gt  ltxsdenumeration
valueSNOW" /gt  ltxsdenumeration
value"DUST" /gt  lt/xsdrestrictiongt Â
lt/xsdsimpleTypegt
WeatherReport
wind
phenomena
Wind
Phenomenon
hasElement
prevailing_direction
type
Direction
gust_speed
intensity
PhenomenonType
Rule 1 Element gt Node
PhenomenonIntensity
hasValue
hasValue
hasValue
hasValue
MIST
FOG
SNOW
DUST
20MWSAF - Ontology to SchemaGraph
Rule Ontology representation SchemaGraph representation
1 Class Node
2 Property of class D with basic datatype as range (Attribute) Node with edge joining it to class D node with name hasProperty
3 Property of class D with other class R as range (Relation) Edge between class D node and range class R node
4 Instance of class C Node with edge joining class C node to instance node with name hasInstance
5 Class(X)-subclass(Y) relationship Edge between class X node and class Y node with name hasSubclass
21MWSAF - Ontology to SchemaGraph
- ltdamlClass rdfID"WeatherPhenomenon"gt Â
ltrdfscommentgtSuperclass for all weather
eventslt/rdfscommentgt  ltrdfslabelgtWeather
eventlt/rdfslabelgt  lt/damlClassgt - ltdamlClass
rdfID"WindEvent"gt  ltrdfssubClassOf
rdfresource"WeatherPhenomenon" /gt Â
lt/damlClassgt - ltdamlProperty rdfID"windDirecti
on"gt  ltrdfsdomain rdfresource"WindEvent"
/gt  lt/damlPropertygt - ltdamlClass
rdfID"GustingWindEvent"gt  ltrdfssubClassOf
rdfresource"WindEvent" /gt  lt/damlClassgt -
ltdamlClass rdfID"CurrentWeatherPhenomenon"gt Â
ltrdfssubClassOf rdfresource"WeatherPhenomenon
" /gt  lt/damlClassgt - ltdamlClass
rdfID"OtherWeatherPhenomena"gt Â
ltrdfssubClassOf rdfresource"CurrentWeatherPhen
omenon" /gt  lt/damlClassgt - ltdamlClass
rdfID"Duststorm"gt  ltrdfssubClassOf
rdfresource"OtherWeatherPhenomena" /gt Â
lt/damlClassgt - ltdamlClass rdfID"PrecipitationE
vent"gt  ltrdfssubClassOf rdfresource"Current
WeatherPhenomenon" /gt  lt/damlClassgt -
ltdamlClass rdfID"SolidPrecipitationEvent"gt Â
ltrdfssubClassOf rdfresource"PrecipitationEvent
" /gt  lt/damlClassgt - ltdamlClass
rdfID"Snow"gt  ltrdfssubClassOf
rdfresource"SolidPrecipitationEvent" /gt Â
lt/damlClassgt - ltdamlClass rdfID"ObscurationEve
nt"gt  ltrdfssubClassOf rdfresource"CurrentWe
atherPhenomenon" /gt  lt/damlClassgt -
ltdamlClass rdfID"Fog"gt  ltrdfssubClassOf
rdfresource"ObscurationEvent" /gt Â
lt/damlClassgt - ltdamlClass rdfID"Mist"gt Â
ltrdfssubClassOf rdfresource"ObscurationEvent"
/gt  lt/damlClassgt
WeatherPhenomenon
WindEvent
Rule 1
Rule 5
windDirection
GustingWindEvent
Rule 2
CurrentWeatherPhenomenon
OtherWeatherPhenomenon
Duststorm
PrecipitationEvent
ObsucurationEvent
SolidPrecipitationEvent
Snow
Mist
Fog
22Outline
- Introduction
- METEOR-S Project _at_ UGA
- SchemaGraph
- Architecture
- Matching algorithm
- Results
- Conclusions and Future Work
23MWSAF Architecture
- Ontology Store
- Categorize in domains
- Currently supports DAML and RDF formats
- Will be replaced in future with high quality
ontology search mechanisms - Parser Library
- Parser used to generate SchemaGraphs
- Currently provides Ontology2Graph and WSDL2Graph
parsers - Matcher Library
- Provides two types of Matching algorithms
- Element level Matching algorithms NGram,
CheckSynonyms, CheckAbbreviations, TokenMatcher - Schema Matching algorithms
- Allows to add new Algorithms
- User Interface
- Displays the mappings and allows user to accept
or reject it - It also allows to match the concepts manually
- Displays the WSDL and ontology in tree format
24MWSAF Architecture
SchemaGraph For WSDL
SchemaGraph For Ontology
getBestMapping (Ranking algorithm)
WSDL Concept Ontology Concept Match Score
Phenomenon WeatherEvent 0.51
windEvent Wind 0.79
Annotated WSDL file
25Outline
- Introduction
- METEOR-S Project _at_ UGA
- SchemaGraph
- Architecture
- Matching algorithm
- Results
- Conclusions and Future Work
26MWSAF Matching two concepts
- IOParametersMatch (w,o)
- ElemMatch (w,o) SchemaMatch (w,o)
- ElemMatch (w,o) gt Element level match
- SchemaMatch (w,o) gt Schema level match
- subTree(w) subTree(o)
FUNCTION findMapping
INPUT wci ? W , oci ? O
OUTPUT mi ( wci, oci, MS )
27MWSAF Element level Match
- Definition
- Element level match is the measure of the
linguistic similarity between two concepts based
on their names. - Assumption Concepts from XML schema and
ontology have meaningful names - ElemMatch (w,o) gt Element level match
- NameMatch with stemming
- SynonymsMatch Snow and snowFall mean the same
- HypernymRelation (w is a kind of o)
prevailing_speed is a type of speed of a wind
i.e. windSpeed - HyponymRelation (o is a kind of w)
- Acronyms Sea Level Pressure has acronym SLP
28MWSAF Element level Match (example)
29MWSAF Element level Match
- Element level match algorithms used by MWSAF
- NGram This algorithms calculates similarity
between two strings by considering the number of
qgrams that they have in common. It uses dice
coefficient to calculate this similarity. - CheckSynonyms This algorithm uses WordNet to
find synonyms. It also accounts for hypernyms and
hyponyms matching. - CheckAbbreviation This algorithm uses domain
specific Abbreviation dictionary to expand the
abbreviations - TokenMatcher This algorithm uses the Porter
Stemmer to find the roots of the words. It also
uses tokenization based on punctuation and
capitalization of letters.
30MWSAF Element level Match
where, ms1 MatchScore ( NGram ) ms2
MatchScore ( Synonym Matching ) ms3 MatchScore
( Abbreviation Expansion ) ms4 MatchScore (
Token Matching )
Example
WSDL Concept Ontological Concept ElemMatch Algorithm
wind WindEvent 0.639 NGram
wind WindChill 0.478 NGram
snow SnowFall 1 Synonyms
slp SeaLevelPressure 1 Abbreviation
relative_humidity RelativeHumidity 1 NGram
31MWSAF Schema level Match
- Definition
- The Schema level match is the measure of
structural similarity between two concepts - It is based on sub-concept similarity
(subConceptSim) and sub-concept match
(subConceptMatch).
32MWSAF Schema level Match
- Definition Sub-concept Similarity (
subConceptSim ) - The sub-concept similarity is the average match
score of each individual sub-element of the
concept
- Definition Sub-concept Match ( subConceptMatch
) - The sub-concept match is the fraction of total
number of sub-elements of a concept that are
matched
33MWSAF Schema level Match (example)
Example
WSDL Concept Pressure Ontological Concept PressureEvent MS
delta ---- 0
slp Sea Level Pressure 1
relative_humidity RelativeHumidity 1
subConceptSim ( Pressure , PressureEvent ) ( 1 1 0 ) / 3 0.667 subConceptSim ( Pressure , PressureEvent ) ( 1 1 0 ) / 3 0.667 subConceptSim ( Pressure , PressureEvent ) ( 1 1 0 ) / 3 0.667
subConceptMatch ( Pressure , PressureEvent ) 2 / 3 0.667 subConceptMatch ( Pressure , PressureEvent ) 2 / 3 0.667 subConceptMatch ( Pressure , PressureEvent ) 2 / 3 0.667
34MWSAF Categorizing WSDL
- Average Service Match ( avgServiceMatch )
- Calculated as the average match of all the
concepts of a WSDL schema and a domain ontology - The domain of the ontology corresponding to the
best average service match also represents the
domain of the Web service - Normalized on the scale of 0 to 1
where, k number of mapped concepts n number
of concepts in WSDL schema
35MWSAF Annotating WSDL
- Average Concept Match ( avgConceptMatch )
- Calculated as the average match of the mapped
concepts of a WSDL schema - Based on this measure user can decide whether to
accept mappings for annotation or not - It is normalized on the scale of 0 to 1
36Outline
- Introduction
- METEOR-S Project _at_ UGA
- SchemaGraph
- Architecture
- Matching algorithm
- Results
- Conclusions and Future Work
37MWSAF Categorizing WSDL
- 6 different Web services are compared to 5
ontologies to get avgServiceMatch values for each
of them. Service belongs to the domain of the
ontology for which it gives best avgServiceMatch. - E.g. AirportWeather service best matches to
weather-ont ontology and hence belongs to weather
domain
38MWSAF Categorizing WSDL
- 24 Web services from Weather and Geographical
domain are categorized with different threshold
(CT) values. - For CT 0.4, two services are categorized
wrongly - For CT 0.5, all the Web services are not
categorized
39MWSAF Testing
- With original Geo ontologies, services gave low
match scores - By adding few more concepts, the match scores
improved for many services. - Plot of number of mapped concepts strengthens
this observation
40MWSAF Testing
- Problems
- Match scores are low
- All concepts are not mapped
- Reasons
- Match algorithms can be improved
- Domain specific synonyms and abbreviations can
improve avgConceptMatch - Domain specific match algorithms can be
implemented - Ontologies are still in development stage and not
comprehensive enough to contain all the concepts
from the domain - Need ontologies specifically designed for Web
services - WSDL files are automatically generated by web
servers and hence not all IO parameters have
meaningful names
41Outline
- Introduction
- METEOR-S Project _at_ UGA
- SchemaGraph
- Architecture
- Matching algorithm
- Results
- Conclusions and Future Work
42Conclusions and Future Work
- Conclusions
- Created an initial prototype for semi-automatic
annotation of Web services - Initial results promising, but a lot of
improvement possible - WSDL-S adds semantics to Web services with
minimal changes - Future Work
- Apply machine learning techniques to improve
accuracy - Build a test bed for Semantic Web Services
- Eclipse based tool release in 1 montg
43MWSAF Screenshot
44References
- D. Fensel, C. Bussler, "The Web Service Modeling
Framework WSMF", Technical Report, Vrije
Universiteit Amsterdam - METEOR-S Semantic Web Services and Processes,
http//swp.semanticweb.org - A. Ankolekar, M. Burstein, J. Hobbs, O. Lassila,
D. Martin, D. McDermott, S. McIlraith, S.
Narayanan, M. Paolucci, T. Payne, and K. Sycara,
"DAML-S Web service Description for the Semantic
Web," in Proceedings of the 1st International
Semantic Web Conference (ISWC 2002) - S. Agarwal, S. Handschuh, and S. Staab Surfing
the Service Web, in Proceedings of the 2nd
International Semantic Web Conference (ISWC 2003) - M. Klein, Combining and relating ontologies an
analysis of problems and solutions. in (IJCAI
2001) - E. Rahm and P. A. Bernstein. A survey of
approaches to automatic schema matching. In The
VLDB Journal Volume 10 Issue , (2001), pages
334-350, 2001. - H. Do, S. Melnik, and E. Rahm. Comparison of
schema matching evaluations. In Proceedings of
the 2nd Int. Workshop on Web Databases (German
Informatics Society), 2002 - Pottinger, R. A. and P. A. Bernstein, Merging
Models Based on Given Correspondences. Proc.
29th VLDB Conference