Discovery

From Wsmx-WIKI
Jump to: navigation, search
Navigation (Discovery WG): Discovery | Members | Meetings | Publication | Related Work | Implementation


General information on the STI Discovery Working Group

Mission

The mission of the Discovery Group is to enable Automatec Discovery of Web services. Our discovery approach is twofold:

  • Semantic Web Service Discovery
    • Develop approaches and implementations for Semantic Web Service Discovery. These approaches are generally targeted to closed service repositories and work over semantic descriptions of user goals and Web services.
  • Service Location
    • Develop methods to crawl the Web for public Web Services.


Current Status

Semantic Web Service Discovery

This group has so far developed a number of discovery approaches for Semantic Web services and corresponding implementations (see Discovery:Implementation). The underlying conceptual framework is described by the Web Service Modeling Ontology (WSMO). For the description of services we are using the Web Service Modeling Language (WSML). For literature on WSMO and WSML have a look at Discovery:Literature.

We have investigated different modeling approaches and the corresponding notions of matchmaking. Both functional and non-functional descriptions of services are taken into consideration for this task. The discovery component uses the IRIS Datalog reasoner produced by the reasoning component to discover WSML-Core, WSML-Flight and WSML-Rule based Semantic Web services and the Pellet DL Reasoner [1] to discover WSML-DL based services. All approaches beside the keyword-based one use WSML logical expressions and background knowledge in form of ontologies for the matchmaking.

The following discovery approaches have been developed by the group (more detailed information available in papers referenced on Discovery:Literature):

Keyword-based discovery

The keyword-based discovery is based on simple term matching. With the approach one is able to compare WSML Web service and Goal descriptions on the non-functional level, that is find a term match somewhere in the non-functional properties of the descriptions.

Possible matches with the keyword-based discovery are full matches and partial matches.

Set-based Lightweight discovery

The set-based "lightweight" discovery approach works over simple semantic descriptions, taking into account postconditions and effects of Goals and Web services.

Two different approaches, depending on the WSML variant, have been developed:

  • Lightweight DL discovery - This approach works over WSML-DL descriptions. Web Service and Goal descriptions are rewritten into concepts and concept subsumption reasoning tasks are used for the matchmaking. Possible matches are: exact, plugin, subsume, and intersection.
  • Lightweight Rule discovery - This approach works over WSML-Core, WSML-Flight and WSML-Rule descriptions and uses query containment reasoning tasks. Possible matches are: exact, plugin, and subsume.

Set-based Heavyweight discovery

The set-based "heavyweight" discovery approach works over rich semantic descriptions, taking into account preconditions and assumptions, postconditions and effects and the relationship inbetween them.

This heavyweight discovery is based on WSML-Flight and uses query containment reasoning tasks for the matchmaking. The only possible match is an extendedPluginMatch.

Another heavyweight approach, whose implementation is though not supported anymore by the group, was based on WSML FOL and was using a Theorem-Prover for matchmaking. Possible matches were: exact, plugin, subsume, and intersection.

Heavyweight "extended"

This approach, called Semantic Discovery Caching (SDC), presents an optimized heavyweight approach and is separated into two phases:

  • Design time - At design time Web services for goal templates are discovered. Matching degrees are exact, plugin, subsume, intersection, and disjoint. The result is stored in a SDC Graph.
  • Runtime - At runtime a goal instance (i.e. a concrete client request) instantiates a goal template with concrete inputs. The runtime discovery then finds usable Web service(s) from the candidate Web services stored in the SDC graph.

The implementation of this discovery approach is not supported anymore by the group.

Service Location

Together with seekda [2] the discovery group is developing a Web Service crawler that is crawling the Web for public services (WSDL services). To do so focused crawling methods are employed and investigated, enabling to only crawl the relevant part of the Web.

With the services also related documents (i.e. HTML pages, PDF documents, etc.) are fetched from the Web. Related is based on (a) link graphs, and (b) term vector similarity comparisons.

The output of the Web service crawler consists of fetched data (WSDLs and related documents) and of RDF triples containing crawl and service metadata.


Discovery Ontology

The group has created a discovery ontology [3] to allow users more fine grained control over the behavior of the discovery engines. Using this ontology one can for example specify what matches are desired or what discovery approach should be used. Furthermore it could be used to specify that if no matches could be found that satisfy the desired logical relationship, that also keyword based matches are accepted.


Road Map

Future planned work in the Discovery group.

SWS Discovery

Together with the University of Karlsruhe we will develop new Semantic Web Services Discovery approaches based on WSMO-Lite (see Discovery:Literature descriptions:

  • discovery based on classifications (taxonomies)
  • discovery based on WSMO-Lite conditions (preconditions) and effects

Service Location / Crawling

Together with seekda [4] we will further develop the Web Service crawler. The crawling scope will be extended to also crawl Web APIs (so-called RESTful services) and to enable the automatic classification of crawled services.