Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Enriching ebXML Registries with OWL Ontologies for Efficient Service Discovery Asuman Dogac Middle East Technical University Ankara, Turkey

Similar presentations


Presentation on theme: "1 Enriching ebXML Registries with OWL Ontologies for Efficient Service Discovery Asuman Dogac Middle East Technical University Ankara, Turkey"— Presentation transcript:

1 1 Enriching ebXML Registries with OWL Ontologies for Efficient Service Discovery Asuman Dogac Middle East Technical University Ankara, Turkey http://www.srdc.metu.edu.tr/~asuman/

2 RIDE ‘04 March 29, 2004 Asuman Dogac 2/53 Talk Outline Intoduction Why do we need service semantics? Web Ontology Language – OWL ebXML Registry Information Model (RIM) Mapping OWL Constructs to ebXML RIM Future Work

3 RIDE ‘04 March 29, 2004 Asuman Dogac 3/53 Introduction The efforts by industry in providing semantic support in service registries are disconnected from the Semantic Web initiative  UDDI registries use tModels to represent compliance with a taxonomy such as Universal Standard Products and Services Classification  ebXML registries use classification hierarchies to associate semantics with registry items  Semantic Web initiative have produced the Web Ontology Language (OWL)

4 RIDE ‘04 March 29, 2004 Asuman Dogac 4/53 The Objective 1. Describe how ebXML registries can be enriched through OWL ontologies to describe Web service semantics 2. Show how the stored semantics can be queried through standardized queries by using the ebXML query facility 3. Provide our observations on how ebXML registries can be extended to provide more efficient semantic support Realized within the scope of IST-1-002104-STP Satine Project “Semantic Web service based Interoperability Infrastructure for Travel Industry” http://www.srdc.metu.edu.tr/satine/

5 RIDE ‘04 March 29, 2004 Asuman Dogac 5/53 Talk Outline Intoduction Why do we need service semantics? Web Ontology Language – OWL ebXML Registry Information Model (RIM) Mapping OWL Constructs to ebXML RIM Future Work

6 RIDE ‘04 March 29, 2004 Asuman Dogac 6/53 Why do we need Web Service Semantics? In order to exploit services in their full potential their properties must be defined:  The methods of charging and payment  The channels by which the service is requested and provided  Constraints on temporal and spatial aspects  Availability  Service quality  Security, trust and rights attached to a service

7 RIDE ‘04 March 29, 2004 Asuman Dogac 7/53 WSDL does not describe Web service semantics Web ServiceService Consumer Web Service Description defines Semantic description of the properties of a service in DAML-S uses

8 RIDE ‘04 March 29, 2004 Asuman Dogac 8/53 Taxonomies are not enough to define service semantics: An Example Taxonomy: UNSPSC 43.00.00.00.00 Communications and Computer Equipment and Peripherals and Components and Supplies 43.16.17.00.00 Business Transaction and Personal Business Software 43.16.17.02.00 Tax Preparation Software Through taxonomies: It is not possible to define properties of services or Relate service classes with one another UDDI uses taxonomies to describe the semantic of Web services by relating them to tModels

9 RIDE ‘04 March 29, 2004 Asuman Dogac 9/53 Why do we need Web Service Semantics? To be able to describe service properties And later search for services according to their properties This search needs to be done in a machine processable and interoperable manner This in turn is possible only by describing the semantics of Web services through ontology languages

10 RIDE ‘04 March 29, 2004 Asuman Dogac 10/53 Talk Outline Intoduction Why do we need service semantics? Web Ontology Language – OWL ebXML Registry Information Model (RIM) Mapping OWL Constructs to ebXML RIM Future Work

11 RIDE ‘04 March 29, 2004 Asuman Dogac 11/53 Web Ontology Language - OWL DAML:Darpa Agent Markup Language OIL: Ontology Inference Layer (European Commission Project) DAML+OIL OWL : Web Ontology Language (Being Standardized by W3C) RDF (Resource Description Framework)

12 RIDE ‘04 March 29, 2004 Asuman Dogac 12/53 RDF (Resource Description framework)  RDF Model and Syntax gives us recognisable metadata  RDF Schemas gives us a mechanism for defining shared vocabularies

13 RIDE ‘04 March 29, 2004 Asuman Dogac 13/53 OWL = RDF Schema + more All of the elements/attributes provided by RDF and RDF Schema can be used when creating an OWL document OWL classes permit much greater expressiveness than RDF Schema classes Consequently, OWL has created their own Class, owl:Class

14 RIDE ‘04 March 29, 2004 Asuman Dogac 14/53 RDF Schema Features used in OWL rdfs:Class rdf:Property rdfs:subClassOf rdfs:subPropertyOf rdfs:domain rdfs:range

15 RIDE ‘04 March 29, 2004 Asuman Dogac 15/53 Defining Property Characteristics RDF Schema provides three ways to characterize a property:  range: use this to indicate the range of values for a property.  domain: use this to associate a property with a class.  subPropertyOf: use this to specialize a property. OWL documents also use rdfs:range, rdfs:domain, and rdfs:subPropertyOf OWL has more property types that are useful in inferencing!

16 RIDE ‘04 March 29, 2004 Asuman Dogac 16/53 OWL Lite Features Equality:  equivalentClass  equivalentProperty  sameAs  differentFrom  allDifferent Property Characteristics:  inverseOf  TransitiveProperty  SymmetricProperty  FunctionalProperty  InverseFunctionalProperty

17 RIDE ‘04 March 29, 2004 Asuman Dogac 17/53 OWL Lite Features Property Type Restrictions:  allValuesFrom  someValuesFrom Class Intersection:  intersectionOf intersectionOf

18 RIDE ‘04 March 29, 2004 Asuman Dogac 18/53 An Example to Restriction Example:

19 RIDE ‘04 March 29, 2004 Asuman Dogac 19/53 OWL Full Language constructs that are in addition to those of OWL Lite Class Axioms:  oneOf, dataRange  disjointWith  equivalentClass (applied to class expressions)  rdfs:subClassOf (applied to class expressions) Boolean Combinations of Class Expressions:  unionOf  intersectionOf  complementOf Arbitrary Cardinality:  minCardinality  maxCardinality  cardinality Filler Information:  hasValue hasValue

20 RIDE ‘04 March 29, 2004 Asuman Dogac 20/53 Talk Outline Intoduction Why do we need service semantics? Web Ontology Language – OWL ebXML Registry Information Model (RIM) Mapping OWL Constructs to ebXML RIM Future Work

21 RIDE ‘04 March 29, 2004 Asuman Dogac 21/53 Describing Semantics in ebXML Registries ebXML registry allows metadata to be stored in the registry This is achieved through a classification mechanism, called ClassificationScheme ClassificationScheme helps to classify the objects in the registry Association instances are used in relating objects in the registry Furthermore Slot instances provide a dynamic way to add arbitrary attributes to RegistryObject instances

22 RIDE ‘04 March 29, 2004 Asuman Dogac 22/53 ebXML Registry Information Model (RIM) RegistryObject ClassificationNodeClassification RegistryPackageExtrinsicObjectService AssociationRegistryEntry ClassificationScheme

23 RIDE ‘04 March 29, 2004 Asuman Dogac 23/53 ebXML Registry Information Model (RIM) The RegistryObject class is an abstract base class used by most classes in the model Slot instances provide a dynamic way to add arbitrary attributes to RegistryObject instances Association instances are RegistryObject instances that are used to define many- to-many associations between objects in the information model ClassificationScheme instances are RegistryEntry instances that describe a structured way to classify or categorize RegistryObject instances ClassificationNode instances are RegistryObject instances that are used to define tree structures under a ClassificationScheme Classification instances are RegistryObject instances that are used to classify other RegistryObject instances RegistryPackage instances are RegistryEntry instances that group logically related RegistryObject instances together

24 RIDE ‘04 March 29, 2004 Asuman Dogac 24/53 Some of the Predefined Association Types in ebXML Registries RelatedToRelates Registry Objects HasMemberDefines the members of the Registry Package ContainsDefines that Source Registry Object contains the Target Registry Object EquivalentToDefines that Source Registry Object is equivalent to the Target Registry Object ExtendsDefines that Source Registry Object inherits from the Target Registry Object ImplementsDefines that Source Registry Object implements the functionality defined by the Target Registry Object InstanceOfDefines that Source Registry Object is an instance of the Target Registry Object ebXML allows this list to be extended!

25 RIDE ‘04 March 29, 2004 Asuman Dogac 25/53 Talk Outline Intoduction Why do we need service semantics? Web Ontology Language – OWL ebXML Registry Information Model (RIM) Mapping OWL Constructs to ebXML RIM Future Work

26 RIDE ‘04 March 29, 2004 Asuman Dogac 26/53 The Basic Ideas in Mapping OWL Constructs to ebXML Classification Hierarchies Mapping OWL classes → ebXML Classification Nodes Mapping OWL properties → ebXML Association Types Mapping the relationships between properties (such as “rdfs:subPropertyOf”) → Associations between associations  Using existing Association Types when available E.g. “owl:samePropertyAs” → ebXML Predefined Association Type “EquivalentTo”  Creating new Association Types when necessary

27 RIDE ‘04 March 29, 2004 Asuman Dogac 27/53 The Basic Ideas in Mapping OWL Constructs to ebXML Classification Hierarchies Mapping OWL collections → ebXML RegistryPackage How to handle OWL multiple inheritance? How to handle OWL Class Boolean expressions? How to handle OWL restriction?

28 RIDE ‘04 March 29, 2004 Asuman Dogac 28/53 OWL Classes and RDF Properties → ebXML RIM OWL: TransportationService PromotionTypes ObjectProperty: promotion OWL classes → ebXML ClassificationNodes OWL properties → ebXML new Association Types Example:

29 RIDE ‘04 March 29, 2004 Asuman Dogac 29/53 OWL Classes and RDF Properties → ebXML RIM OWL classes → ClassificationNodes OWL Properties → ebXML new Associations Types Example: ebXML RIM: <rim:Association id = 'promotion‘ associationType = ‘ObjectProperty' sourceObject = 'TransportationService' targetObject = 'PromotionType' > TravelService Promotion Type Transportation Service Association of type “ObjectProperty”: promotion

30 RIDE ‘04 March 29, 2004 Asuman Dogac 30/53 OWL Multiple Inheritance → ebXML RIM New Association Type: subClassOf OWL: AirTransportation Service ReserveAFlight Reservation Service ebXML: <rim:Association id = ‘RAsubclass’ associationType = ‘subClassOf ' sourceObject = 'ReserveAFlight’ targetObject = `AirTransportationService'> <rim:Association id = ‘RRsubclass ‘ associationType = ‘subClassOf ' sourceObject = 'ReserveAFlight ' targetObject = `ReservationService'>

31 RIDE ‘04 March 29, 2004 Asuman Dogac 31/53 OWL Functional Property → ebXML RIM New Association Type <rdfs:subpropertyOf rdf:resource="http://www.daml.org/ services/daml-s/2001/05/Profile.owl"/> <rim:Association id = 'hasPrice' associationType = ‘FunctionalProperty' sourceObject = 'ReserveAFlight' targetObject = ‘XML Schema nonNegativeIntegerDataType' > ReserveAFlight XML Schema nonNegativeInteger Functional Property: hasPrice

32 RIDE ‘04 March 29, 2004 Asuman Dogac 32/53 OWL Boolean Combination of Classes → ebXML RIM New Association Type <rim:Association id = ‘ALComp' associationType = ‘complementOf' sourceObject = 'AirTransportation ' targetObject = 'LandTransportion ' > AirTransportationLandTransportion complementOf AirTransportationLandTransportation TravelService complementOf

33 RIDE ‘04 March 29, 2004 Asuman Dogac 33/53 OWL Restriction In RDF, a property has a global scope, that is, no matter what class the property is applied to, the range of the property is the same owl:Resriction, on the other hand, has a local scope; restriction is applied on the property within the scope of the class where it is defined In ebXML class hierarchies, an association (which represents a property) is defined already in a local scope by associating two nodes of the class hierarchy Example: OWL provides the following language elements to indicate the type of restriction: owl:allValuesFrom owl:someValuesFrom owl:hasValue

34 RIDE ‘04 March 29, 2004 Asuman Dogac 34/53 OWL XML Schema Datatypes OWL allows the use of XML Schema datatypes to describe part of the datatype domain by simply including their URIs within an OWL ontology In ebXML, basic XML Schema datatypes are stored in ebXML registry For complex types an external link is provided from the registry <rim:ExternalLink id = "hasPrice” externalURI="http://www.w3.org/2001/XMLSchema#complexType" > ReserveAFlight XML Schema Integer DatatypeProperty: hasPrice ReserveAFlight XML Schema Complex type An association of type “DatatypeProperty”: hasPrice ClassificationNode (A Registry Object) External Link (A Registry Object)

35 RIDE ‘04 March 29, 2004 Asuman Dogac 35/53 Some Observations Ontologies can play two major roles in the Web services area:  One is to provide a source of shared and precisely defined terms which can be used to dynamically discover, compose and monitor services  The other is to reason about the ontologies When an ontology language like OWL is mapped to a class hierarchy like the one in ebXML, the first role can directly be achieved However, for the second role, the reasoners can not directly run on the ebXML class hierarchy

36 RIDE ‘04 March 29, 2004 Asuman Dogac 36/53 Some Observations Some OWL constructs are for reasoners to use them The fact is that we do not have industrial strength reasoners yet! Semantic can also be taken advantage of through querying

37 RIDE ‘04 March 29, 2004 Asuman Dogac 37/53 Exploiting semantics In relating the semantics with the services advertised in service registries, there are two key issues:  Where to store the generic semantics of the services: In ebXML, metadata is stored in the registry  How to relate the services advertised in the registry with the semantic defined through an ontology: In ebXML through Classification objects ReserveAFlight originatingFrom destinationTopaymentMethod MyService TravelService Entertainment Service Accommodation Service ReserveAFlight BuyATicket AirTransportation Transportation Service originatingFrom destinationTopaymentMethod ? ?

38 RIDE ‘04 March 29, 2004 Asuman Dogac 38/53 Relating a Web service Advertised with Service Ontology in ebXML MyService: Registry Entry ReserveAFlight: ClassificationNode ServiceToIndustryClassification: Classification classsifiedObject classificationNode

39 RIDE ‘04 March 29, 2004 Asuman Dogac 39/53 How to relate services advertised with the generic ontology classes? By relating a service advertised with a node in classification hierarchy, we make the service an explicit member of this node The service also inherits the well-defined meaning associated with this node as well as the generic properties defined for this node When we associate “MyService” with “ReserveAFlightService”, its meaning becomes clear; that this service is a flight reservation service Assuming that the “ReserveAFlightService” service has the generic properties such as “originatingFrom”, “destinationTo” and “paymentMethod”, “MyService” also inherits these properties

40 RIDE ‘04 March 29, 2004 Asuman Dogac 40/53 How to relate services advertised with the generic ontology classes? <Classification classificationNode="ReserveAFlight" classifiedObject="MyReserveAFlightService" /> The following “SubmitObjectsRequest” classifies "MyReserveAFlightService" with "ReserveAFlight" ClassificationNode

41 RIDE ‘04 March 29, 2004 Asuman Dogac 41/53 Exploiting Semantics through Querying Once semantics is associated with Web services in ebXML registries, it can be used to discover services simply through queries Examples:  It is possible to find the properties of a Web service class  It is possible to find all the advertised instances of a Web service class in the ontology  It is possible to obtain semantics of individual services together

42 RIDE ‘04 March 29, 2004 Asuman Dogac 42/53 Querying ebXML Registry through Query Templates This can be achieved through predefined query templates which yields into automation:  A query template is used to obtain the properties of a generic class  A query template is used for locating service instances of a given generic class node in the class hierarchy  A template is a content retrieval query to obtain the original OWL and WSDL files through the identifiers of the OWL and WSDL files in the SpecificationLinks

43 RIDE ‘04 March 29, 2004 Asuman Dogac 43/53 ObjectProperty DatatypeProperty TravelService Entertainment Service Accommodation Service ReserveAFlight BuyATicket AirTransportation Transportation Service originatingFrom destinationTopaymentMethod promotion ebXML Registry ebXML Query Get Datatype Properties ebXML Query Result originatingFrom destinationTo ebXML Query Get Object Properties ebXML Query Result paymentMethod promotion A query template to obtain the properties of a generic class

44 RIDE ‘04 March 29, 2004 Asuman Dogac 44/53 An Example Query Retrieving all the Associations of Type “dataTypeProperty” for “ReserveAClassFlightService” <AdhocQueryRequest xmlns = "urn:oasis:names:tc:ebxml-regrep:query:xsd:2.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "urn:oasis:names:tc:ebxml-regrep:query:xsd:2.0 query.xsd"> dataTypeProperty ReserveAFlightService

45 RIDE ‘04 March 29, 2004 Asuman Dogac 45/53 TravelService Entertainment Service Accommodation Service ReserveAFlight BuyATicket AirTransportation Transportation Service MyService1 MyService2MyService3 ebXML Registry ebXML Query Get Extension of a ClassificationNode ebXML Query Result MyService1 MyService2 MyService3 A query template to find all the advertised instances of a Web service class

46 RIDE ‘04 March 29, 2004 Asuman Dogac 46/53 An Example Query: Retrieving all the Services Classified with “ReserveAFlightService” ClassificationNode <AdhocQueryRequest xmlns = "urn:oasis:names:tc:ebxml-regrep:query:xsd:2.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "urn:oasis:names:tc:ebxml-regrep:query:xsd: 2.0 query.xsd"> ReserveAFlightService

47 RIDE ‘04 March 29, 2004 Asuman Dogac 47/53 ebXML Registry ebXML Repository WSDL of MyService1 OWL-S of MyService1 TravelService Entertainment Service Accommodation Service ReserveAFlight BuyATicket AirTransportation Transportation Service MyService1 Extrinsic Object Extrinsic Object SpecificationLink ebXML Query Get SpecificationLink Content of a Service ebXML Query Result WSDL of MyService1 OWL-S of MyService1 A Content Retrieval Query template

48 RIDE ‘04 March 29, 2004 Asuman Dogac 48/53 Retrieving the WSDL Files (Content Retrieval Query) <GetContentRequest xmlns="urn:oasis:names:tc:ebxml-regrep:query:xsd:2.1" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.1../schema/rim.xsd urn:oasis:names:tc:ebxml-regrep:query:xsd:2.1../schema/query.xsd"> <rim:ObjectRef id="urn:uuid:7e4397db-916a-490f-bdc7-c9da"/>

49 RIDE ‘04 March 29, 2004 Asuman Dogac 49/53 Ontology Efforts in the Travel Domain To realize the vision presented in this work, there is a need for domain specific Web service ontologies There are some efforts in this direction There have been some efforts in defining the message ontologies in the travel domain such as the Harmonise project http://www.harmonise.org/ http://www.harmonise.org/ The Harmonise project have defined the Interoperability Minimum Harmonization Ontology (IMHO) The Mapping FRAmework (MAFRA) tool is used for ontology mediation

50 RIDE ‘04 March 29, 2004 Asuman Dogac 50/53 Talk Outline Intoduction Why do we need service semantics? Web Ontology Language – OWL ebXML Registry Information Model (RIM) Mapping OWL Constructs to ebXML RIM Conclusions and Future Work

51 RIDE ‘04 March 29, 2004 Asuman Dogac 51/53 Conclusions and Future Work The only way to store semantic of individual service instances in ebXML registries is to store them external to the registry (“ExtrinsicObject” in ebXML terminology) And the content of external objects can not be queried through ebXML queries If a mechanism is developed to store individual service semantics local tothe registry, then the queries searching for services with required properties can be executed more efficiently

52 RIDE ‘04 March 29, 2004 Asuman Dogac 52/53 Conclusions and Future Work It is difficult for Web Services to succeed without incorporating semantics:  If you can not describe what you want, you can not have it  If you can not describe what you have got, very few will use it Semantics is useful through querying even without reasoning Reasoning definitely helps but to use it in industry, we need industrial strength inference engines As a future work, we will apply the ideas to travel domain

53 RIDE ‘04 March 29, 2004 Asuman Dogac 53/53 §Thank you for your attention! Questions?


Download ppt "1 Enriching ebXML Registries with OWL Ontologies for Efficient Service Discovery Asuman Dogac Middle East Technical University Ankara, Turkey"

Similar presentations


Ads by Google