Download presentation
Presentation is loading. Please wait.
Published byIsabella James Modified over 10 years ago
1
National Institute of Advanced Industrial Science and Technology 1 A Semantic Matchmaker for RDF/OWL- based Service Repositories Mirza Said National Institute of Advanced Industrial Science and Technology (AIST) Grid Technology Research Center Japan Building a Tool for OWL-S Service Discovery and Composition
2
National Institute of Advanced Industrial Science and Technology 2 Outline IntroductionOWL-S Semantic service matchmaking and main issues Proposed matchmaking system Summary and future work
3
National Institute of Advanced Industrial Science and Technology 3 Background Many Web services are available in the Web The number is rapidly increasing Google, Yahoo, Amazon, B2B, and etc. Main issue: automatic and accurate discovery of target web services Semantic Interoperability is a major hurdle for Locating Services Different terms are used for advertisements and requests OWL-S: An ontology of service concepts for describing the properties and capabilities of Web services in a machine interpretable form
4
National Institute of Advanced Industrial Science and Technology 4 OWL-S: The Upper Ontology Consists of four main classes ServiceProfile: for advertising and discovering services What organization provides the service (e.g., contact information) What function the service computes (e.g., inputs and outputs) What characteristics the service has (e.g., service category) ProcessModel: a detailed description of a service's operation ServiceGrounding: the details of how to access the service Service: binds three classes via three object properties
5
National Institute of Advanced Industrial Science and Technology 5 An OWL-S Service: A Car Selling Service hasInput: Familycar & Year hasOutput: Price serviceProduct: Used-vehicle textDescription: used car shop in Tokyo Car-shop hasInput Year Automobile CarTruck SportcarFamilycar Sedan Minivan HatchbackTwo-doors car-type ontology Price hasOutput UNSPSC Sales- activities Used- vehicle New- vehicle serviceProduct UNSPC ontology A used cars shop locating in Tokyo textDescription
6
National Institute of Advanced Industrial Science and Technology 6 OWL-S Service Matchmaking service repository & matchmaker provider register requester query A provider describes advertised services using an OWL-S compliant ontology A requester queries the repository using the same ontology Repository matches the request and advertisements and returns matched advertisements in relevance order hasInput: sedan & year hasOutput: price request hasInput: Familycar & year hasOutput: price serviceProduct: used-vehicle textDescription: used car shop in Tokyo advertisement
7
National Institute of Advanced Industrial Science and Technology 7 Basic Principle of Matching ( Basic Principle of Matching (Paolucci et al. ISWC02) An advertisement matches a request when all request outputs are matched by advertisement outputs and all advertisement inputs are matched by request inputs Guarantees that the matched service provides all outputs requested by the requester, and that the requester provides all input required for correct operation to the matched service FLEXIBLE MATCH by defining degree of match between two classes/concepts advertisement input output request input output
8
National Institute of Advanced Industrial Science and Technology 8 Degree of Match providerrequester service repository & matchmaker register query hasInput: sedan & year hasOutput: price hasInput: Familycar & year hasOutput: price serviceProduct: used-vehicle textDescription: used car shop in Tokyo request advertisement inR: a request input inA: an advertisement input degreeOfMatch(inA, inR) Paolucci et.al. ISWC02 if inR=inA then Exact if inA immediateSubclassOf inR then Exact if inA subclassOf inR then Plug-in if inR subclassOf inA then Subsume otherwise Fail Subsume Exact Automobile CarTruck SportcarFamilycar Sedan Minivan HatchbackTwo-doors car-type ontology inR inA |Exact| > |Plug-in| > |Subsume| > |Fail|
9
National Institute of Advanced Industrial Science and Technology 9 Main Issues Using ontology as a service request Difficult to compose The repository usually only support simple queries Each matchmaking system uses a different matching engine Need a proprietary query engine Tighly-couple architecture
10
National Institute of Advanced Industrial Science and Technology 10 Goal Propose a matchmaking mechanism that Enables complex service matching e.g, optional pattern matching Has a loosely-couple architecture Matchmaker can switch from one RDF repository to another or send a simultaneous query to multiple repositories allows to use existing standard matching engines Not build and using another proprietary matching engine Using SPARQL as the query language!! SPARQL pattern matching SPARQL pattern matching Repository + SPARQL query engine Repository + SPARQL query engine Many free SPARQL query engines are available Many free SPARQL query engines are available
11
National Institute of Advanced Industrial Science and Technology 11 SPARQL: Entailments Matching ?profile ?in profile:hasInputrdf:type Query pattern: RDF Graph: auto:Sedan Automobile CarTruck SportcarFamilycar Sedan Minivan HatchbackTwo-doors car-type ontology auto:p auto:in profile:hasInputrdf:type auto:Hatchback Inferred RDF Graph: auto:p auto:in profile:hasInputrdf:type auto:Hatchback auto:Sedan … rdf:type uninferred graph pattern (uGraph) inferred graph pattern (iGraph): default graph SPARQL does not interpret RDF schema information or entailments (treats RDF graph purely as data) SPARQL does not interpret RDF schema information or entailments (treats RDF graph purely as data)
12
National Institute of Advanced Industrial Science and Technology 12 Basic Architecture Requester sends a SPARQL query to Matchmaker Matchmaker rewrites the query and sends it to an OWL-S service (RDF) repository Matchmaker orders the results based on the degree of match between classes query rewriting SPARQL query engine OWL-S/RDF data repository MatchmakerRDF Repository System query rewritten query SPARQL query Service Provider Service Provider service provider unordered results + ordering info. result ordering ordered results ordered results register SPARQL interface query client interface service requester
13
National Institute of Advanced Industrial Science and Technology 13 Why Rewriting? query rewriting SPARQL query engine OWL-S/RDF data repository MatchmakerRDF Repository System query rewritten query SPARQL query query Service Provider Service Provider service provider unordered results + ordering info. result ordering ordered results ordered results register SPARQL interface client interface Need to order results based on class subsumption but they do not contain the information necessary for result ordering Results are unordered Rewrite the query s.t. the results will contain the necessary info. service requester
14
National Institute of Advanced Industrial Science and Technology 14 Why Rewriting? Lack of Class Subsumption Info. ?profile?inauto:pauto:in Query solution: ?profile ?in profile:hasInputrdf:type Query pattern: auto:Sedan Inferred graph (iGraph): … auto:p auto:in profile:hasInputrdf:type auto:Hatchback auto:Sedan rdf:type Automobile CarTruck SportcarFamilycar Sedan Minivan HatchbackTwo-doors car-type ontology No class subsumption info. : Hatchback is an imm. subclass of Sedan (prevent Exact & Plug-in match calc.)
15
National Institute of Advanced Industrial Science and Technology 15 Why Rewriting? Cannot Match Superclass Instances Query solution: not exist ?profile ?in profile:hasInputrdf:type Query pattern: auto:Familycar Inferred graph (iGraph): auto:p auto:in profile:hasInputrdf:type auto:Car auto:Automobile rdf:type Automobile CarTruck SportcarFamilycar Sedan Minivan HatchbackTwo-doors car-type ontology Cannot match superclass instances (prevent Subsume match calculation)
16
National Institute of Advanced Industrial Science and Technology 16 Why Rewriting? Lack of property inclusiveness info. ?profile ?in profile:hasInput rdf:type Query pattern: auto:Car Inferred graph (iGraph): auto:p auto:in1 profile:hasInput rdf:type auto:Car auto:year rdf:type Automobile CarTruck SportcarFamilycar Sedan Minivan HatchbackTwo-doors car-type ontology Do not know whether auto:p has only one input or more (prevent Fail match calculation)?profile?inauto:pauto:in1 Query solution: auto:in2 profile:hasInput
17
National Institute of Advanced Industrial Science and Technology 17 Query Rewriting: Basic Principle Rewrite the requester query such that the matching results will include the lacking information Class subsumption Superclass instances Property inclusiveness
18
National Institute of Advanced Industrial Science and Technology 18 Query Rewriting: The Rules A requester query: Rewrite each type-matching pattern: Type-matching pattern a = rdf:type Automobile CarTruck SportcarFamilycar Sedan Minivan HatchbackTwo-doors car-type ontology Car-Model ToyotaNissan PriusCamrySentraQuestRAV4 Asia-car Europe-car Honda SELECT ?s WHERE ?s presents ?o. hasInput ?o hasInput ?in1, ?in2. ?in1 a Familycar. ?in2 a Toyota. car-model ontology A graph pattern that matches k values of property p while restricting values to those from specific classes
19
National Institute of Advanced Industrial Science and Technology 19 Get superclasses and subclasses of property value classes (rs = rdfs:subclassOf) Get instances whose values are from the superclasses and subclasses Get property inclusiveness informationGet subsumption class information
20
National Institute of Advanced Industrial Science and Technology 20 SELECT ?s WHERE ?s presents ?o. ?o hasInput ?in1, ?in2. ?in1 a Familycar. ?in2 a Toyota. Get superclasses and subclasses of Familycar and Toyota and binding them to variables (rs = rdfs:subclassOf) Get hasInput instances whose values are from the superclasses and subclasses of Familycar and Toyota Check whether hasInput is inclusiveness. i.e., whether it has only two values whose types are the superclass/subclass of Familycar and Toyota Get the immediate superclasses and subclasses of Familycar and Toyota (rs = rdfs:subclassOf)
21
National Institute of Advanced Industrial Science and Technology 21 Extracting Info. from Binding Variables If ?otype 1 is bound to some value then hasInput is a non-inclusive property If ?sup 1 and ?isup 1 are bound to some class then the class is an immediate superclass of Familycar If ?sub 1 and ?isub 1 are bound to some class then the class is an immediate subclass of Familycar
22
National Institute of Advanced Industrial Science and Technology 22 Service Ordering Service functions (service inputs & outputs) Service characteristics (service category, products and etc.)
23
National Institute of Advanced Industrial Science and Technology 23 Service Ordering (Service Function) Given a requester query q: ?o hasInput ?in 1, …, ?in m. ?in 1 rdf:type cin 1. … ?in m rdf:type cin m. ?in 1 rdf:type cin 1. … ?in m rdf:type cin m. A matched service instance s: p hasInput pin 1, …, pin m. pin 1 rdf:type sin 1. … pin m rdf:type sin m. pin 1 rdf:type sin 1. … pin m rdf:type sin m. Degree of match for service inputs: d in (q, s) = DIN(cin 1, sin 1 ) + … + DIN(cin m, sin m ) Note: if hasInput of s in non-inclusive then Fail Degree of match for service outputs: d out (q, s)=DOUT(cout 1, sout 1 )+ … +DOUT(cout n, sout n ) Degree of match for service function (0 d(q, s) 1): d(q, s)= n x d in (q, s) + m x d out (q, s) 2 x |Exact| x m x n
24
National Institute of Advanced Industrial Science and Technology 24 Degree of Match Calculation DIN(inR, inA) if inR=inA return Exact if inR immSuperclassOf inA return Exact if inR superclassOf inA return Plug-in otherwise return Subsume DOUT(outR, outA) if outR=outA return Exact if outR immSubclassOf outA return Exact if outR subclassOf outA return Plug-in otherwise return Subsume
25
National Institute of Advanced Industrial Science and Technology 25 Service Ordering (Service Characteristics) Given a requester query q, where p specifies a service characteristic ?o p ?var 1, …, ?var m. ?var 1 rdf:type c 1. … ?var m rdf:type c m. ?var 1 rdf:type c 1. … ?var m rdf:type c m. A matched service instance s: psc p pc 1, …, pc m. pc 1 rdf:type sc 1. … pc m rdf:type sc m. pc 1 rdf:type sc 1. … pc m rdf:type sc m. Degree of match for a service characteristic: d p (q, s) = DOUT(c 1, sc 1 ) + … + DOUT(c m, sc m ) Degree of match for m properties:
26
National Institute of Advanced Industrial Science and Technology 26 Overall Scoring The overall scoring d(q, s)=αx d f (q, s) + (1-α) x d c (q, s), where 0α1 When d f (q, s) fails d(q, s) also fails Can be used to order general SPARQL query results by setting α=0
27
National Institute of Advanced Industrial Science and Technology 27 Discussion and Conclusions Research achievements Using SPARQL as the query language for service requester Loosely-coupled architecture of the matchmaking system Lighweight matchmaker Complex service matching requests Major current challenge How to rewrite the requester query such that the matching results will contain the information necessary for result ordering
28
National Institute of Advanced Industrial Science and Technology 28 Discussion and Conclusions Future work Query rewriting rules for queries with SPARQL UNION connecting type-matching patterns Degree of match based on the relationship among classes and their property classes (e.g., c2 is a property of c1) Query rewriting rules for extracting the information
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.