The TUB OWL-S Matcher (The OWLSM)

Just the most important issues first:

  • Consider this software competition about matchmaking service descriptions:

    Web Services Challenge 2006

    If you are interested in this software you might be also interested in this event!

  • If you experience any execption and the stack trace contains like

    while executing (loadOWL ?import)

    this means that you tried to open something which imports something that the parser cannot access.
    This happens usually if you have an import statement that refers to a document in the Internet (by a URL) and you are not connected to the Internet. Please make sure that every import statement in your OWL-S files can be actually access by the software.

  • There is a new version that uses Apache Ant to build it. Apparently there were too many users that had problems with installing Maven which we have used previously. We find also that Ant does a better job for ditributions.
    You need to build the software on your side because we cannot distribute the needed Jess and OWLJessKB software with our software due to licensing restrictions.

screenshot macosx

The OWL-S Matcher is a Java implementation of a matchmaking algorithm for matching OWL-S descriptions. OWL-S is an upper ontology that defines a vocabulary for describing services. OWL-S can be used to define classifications for the elements and characteristics of a Web service. OWL-S is based on the Web Ontology Language (OWL). The matchmaker compares two descriptions (one form a service requester and another by the service provider) and identifies different relations between the two descriptions (e.g. "match" or "no match")

The implementation of the OWL-S matcher is the work of Stefan Tang and Christoph Liebetruth. Stefan started with an implementation for matchmaking DAML-S descriptions, which is still available here. Christoph updated the implementation for being compliant with OWL-S.

The description about the begin with DAML-S can be found in Stefan's thesis. The modifications which are applied by Christoph Liebetruth are found in a separate report (currently only available in German). We have also some publications related to the matcher:

  • Michael C. Jaeger, Gregor Rojec-Goldmann, Christoph Liebetruth, Gero Mühl and Kurt Geihs: Ranked Matching for Service Descriptions Using OWL-S. KiVS 2005: 91-102 (PDF)

  • Michael C. Jaeger, Lars Engel and Kurt Geihs: A Methodology for Developing OWL-S Descriptions. In Proceedings of INTEROP-ESA'05 Workshops, Geneva, Switzerland, February 2005.

  • Michael C. Jaeger, Stefan Tang: Ranked Matching for Service Descriptions using DAML-S. In Proceedings of CAiSE'04 Workshops, Riga, Latvia, June 2004. (PDF)

How can I run the software?

You can download the OWL-S matcher as a software project that uses Apache Ant to reasile some simple build and run targets. Basic requirements are J2SE 1.4 and an installed Ant setup. Due to licensing issues two libraries must be downloaded separately (Jess and DAMLJessKB) and manually added to the software project by placing them into the lib-directory. The Ant targets can be used to compile, package, and run the OWL-S Matcher. The currently supported tasks are:

compile Compiles the software.
jar Packages the compiled classes to an executable jar file.
run Executes the jar file. This is the default target. If you have copied the needed two libraries just type ant and hit return. Then, everything needed will be automatically done.

There also the targets clean and init which pretty much do what they suggest.

Several libraries are used to run the OWL-S matcher. Please note, that the distribution of the 3rd party software is subject to different licenses. Please see the licenses of each 3rd party software provided in the distribution. The software provided by the TUB ("by us") is licensed under the LGPL.

The download is currently here. See the included readme-file for further instructions. If you have questions or suggestions please do not hesitate to write an email. However please keep in mind that the prototype is provided on a "as-it-is" basis and thus our support is not guaranteed. As the most likely "first problem" we would like to remind you that a connection to the Internet is needed if the XML parser tries to retrieve the XML-documents mentioned in the imports of an OWL-S descriptions.

Known Issues

Again, as the most likely "first problem" we would like to remind you that a connection to the Internet is needed if the XML parser tries to retrieve the XML-documents from the Internet mentioned in the imports of OWL-S descriptions.

Please note also, that we did NOT test the implementation in a systematic manner. Instead we need to admit, that we tried some manually created OWL-S descriptions and just made sure that they worked. From a software engineering point of view it is likely that this code is full of errors. Please feel free to improve the implementation!

Please note also, that we have used examples based on the BravoAir files available on the home page of OWL-S. We have just modified the classes found in the concept ontology - can be done pretty quickly. However, we felt uncomfortable to bundle our distribution with these examples. Please download or create your own examples. Please note that the matcher is targeted for OWL-S 1.0. Maybe I will not work properly with later releases of OWL-S.

And ... yes, we know that the OWLJessKB systems dumps out a lot of warnings saying that some properties are not defined. Just ignore that - the program will still work fine.