Please note that we have created a new version (2005-05-12) of the software that contains minor bug fixes.
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). Also a paper has been published on the EMOI Workshop 2004, which describes the algorithm of the matcher in its DAML-S version, which applies for the OWL-S version as well.
You can download the OWL-S matcher as a Apache Maven-based software project. Basic requirements are J2SE 1.4 and an installed Maven setup. Due to licensing issues two libraries must be downloaded separately (Jess and DAMLJessKB) and manually added to the software project. The Maven-tasks can be used to compile, package, and run the OWL-S Matcher. The currently supported tasks are:
maven java:compile
|
Compiles the software. |
maven jar:jar
|
Packages the compiled classes to an executable jar file. |
maven run
|
Executes the jar file. |
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.
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.