Hybrid OWL-S Web Service Matchmaker
What is OWLS-MX about ?
OWLS-MX
is a hybrid semantic Web service matchmaker that retrieves services for
a given query both
written in OWL-S, and based on imported ontologies in the W3C
recommended ontology web language OWL. For this purpose, the OWLS-MX
matchmaker performs pure profile based service IO-matching but combines
crisp logic-based semantic matching with syntactic token-based
similarity
metrics to obtain the best of both worlds - description logics and
information retrieval. The "X" in OWLS-MX stands for five different
instances (M0 to M4) of the generic hybrid matching scheme OWLS-MX
depending on
whether and which syntactic similarity metric is used. The OWLS-MX
matchmaker is fully
implemented in Java,
uses
the OWL-DL description logic reasoner Pellet for logic based filtering,
and
the cosine,
loss-of-information, extended Jacquard, and Jensen-Shannon information
divergence based similarity metrics for complementary approximate
matching.
For your convenience, the matchmaker comes with an integrated graphical
user interface which guides you through the complete process of
matchmaking, including the building of your own test collection and
individual performance test runs. For this purpose, we also developed a
OWL-S service retrieval test collection youi may use (see below).
OWLS-MX has been developed at the German research center for artificial
intelligence (DFKI) in 2005, as the
first
hybrid matchmaker available for semantic Web services in OWL-S
1.0 and OWL-S 1.1.
For
more
detailed information on OWLS-MX, we refer to the Readme.txt
and the selected publication:
Note: OWLS-MX (DFKI)
is NOT an extended version of OWLSM (TU
Berlin)!
Despite its unfortunately very similar naming, the OWLSM of TU Berlin
has been registered as a
project
at semwebcentral.org after
that of OWLS-MX of DFKI and represents a different
approach to matchmaking.
How to
get OWLS-MX ?
You
may download and use the open source software of OWLS-MX under Mozilla
Public License 1.1 (see Readme.txt). The
releases of the OWLS-MX matchmaker software are as follows
How
to
get a service retrieval test collection ?
For testing the OWLS-MX (or any other)
matchmaker for
OWL-S services, you may use, for example,
our service retrieval test collection OWLS-TC. The
majority of these services were retrieved from
public IBM UDDI
registries, and semi-automatically
transformed from WSDL to OWL-S.
Please note, that no
standard test collection for
OWL-S service retrieval does exist yet.
As a consequence, OWLS-TC can
only
be considered as one possible starting point
for any activity towards achiving
such a standard
collection by the community as a whole.
OWLS-TC version 2, release 2 (zip, M) --
November/December,
2005
[Download of OWLS-TCs from DFKI
site: here]
Minor changes of a few
queries/service names, and the user manual.
This collection consists of 576 OWL-S services from seven
application domains, and
a set of 28
test queries each of which associated with a relevance set of 10 to
20 services
(cf. user manual).
OWLS-TC2 can be used, for
example, to evaluate the performance of the OWLS-MX 1.1 matchmaker
OWLS-TC
version 1 (zip, 789k) --
April 11, 2005
This
initial test collection consists of more than 400 OWL-S 1.0 services,
and a small set of
queries w/ relevance set.
Please note: It cannot be
used to
evaluate the performance of OWLS-MX 1.1 or higher, but OWLS-MX 1.0
How to use the
latest OWLS-MX version 1.1b for OWL-S 1.1 services ?
You need Java J2SEE version
1.5 (JDK 5),
or higher to run the
OWLS-MX matchmaker:
http://java.sun.com/j2se/1.5.0/download.jsp
For using OWLS-MX 1.1b, we refer the user to the documentation of its
graphical user interface which is included in the distribution file.
OWLS-MX
version 1.1b fixes known GUI bugs of
version 1.1a (not the
matchmaker code!)
Due to current
problems of the latest version of mindswap's OWLS-API
that is
used by OWLS-MX 1.1 there are
still problems
with parsing semantic web services written in
OWL-S 1.0. As a consequence, the test collection OWLS-TC v1
cannot be
used by
OWLS-MX 1.1, but version OWLS-MX 1.0 only. For testing OWLS-MX 1.1 you
may use OWLS-TC v2.
How to use the
OWLS-MX version 1.0 for OWL-S 1.0 services ?
The
OWLS-MX version 1.0 has no graphical user interface and has been
implemented as a software libary
which can serve as the operational core of your overall matchmaker
agent
program for OWL-S 1.0 services. OWLS-MX 1.0 does provide you with an
example program named "example.java"
that allows you to run
the libary directly from your console.
OWLS-MX program
execution syntax
java -jar owlsmx.jar [RequestURI]
[ServicesPath] [MatchingType] [minDegree] [minSim]
where [RequestURI], [ServicesPath] and [minDegree] are mandatory
parameters.
The output to the console window will be a list of URIs with services
that match the given request with a matching degree higher than
[minDegree].
- [RequestURI] =
[URI] URI to the OWL-S service request (the query). This input is mandatory.
- [ServicesPath] =
[String] Path to .owls files which includes all OWL-S services to
register. Can either be a file URI or an actual path (will be converted
to Java file type). This input is mandatory.
- [MatchingType] =
[int] refers to the OWLS-MX variant to be used. This input is mandatory
- 0 = OWLS-M0 = purely logic-based semantic matching
- 1 = OWLS-M1 = M0 + Loss-of-information similarity measure
- 2 = OWLS-M2 = M0 + Extended Jacquard similarity measure
- 3 = OWLS-M3 = M0 + Cosine similarity measure
- 4 = OWLS-M4 = M0 + Jensen-Shannon divergence based similarity
measure
- [minDegree]
= [int] minimum degree of (hybrid) semantic match
required
- 0 = exact
- 1 = plugin
- 2 = subsumes
- 3 = subsumed-by
- 5 = nearest-neigbour
- [minSim]
= [float] minimum degree of syntactic similarity required (used
for nearest-neighbour, or subsumed-by match). This value will be
ignored when using OWLS-M0, and is 0.0 by default.
Examples:
(1)
Execute
purely logic-based matchmaker OWLS-M0 and
return exact matches only:
java
-jar owlsmx.jar
http://127.0.0.1/services/queries/q1/query1.owls
C:\apache\htdocs\services 0
(2)
Execute
hybrid matchmaker OWLS-M4
(logic-based + syntactic Jensen-Shannon based simlarity) and return
any
service retrieved, even nearest
neighbour matches, and (to
improve recall) with required (rather low) minimum similarity value of
0.6.
java
-jar owlsmx.jar
http://127.0.0.1/services/queries/q1/query1.owls
C:\apache\htdocs\services 4 5 0.6
(3)
Execute hybrid matchmaker OWLS-M3
(logic-based + syntactic cosine
similarity measure) and return every matching service.
java -jar owlsmx.jar
http://127.0.0.1/services/queries/q1/query1.owls
C:\apache\htdocs\services 3 5
For windows users a batch file (run.bat)
is provided which will perform these examples - just adjust the pathes
and uncomment the wanted example.
Known issues and bugs of version 1.0
- Cyclic
ontologies cause problems.
- Only
adding of ancestor concepts allowed, not
properties or domains of properties.
- Please note that checking the complete service retrieval test
collection OWLS-TC v1 with associated ontologies by the matchmaker may
take 3 hrs depending on your computing hardware, if you log the memory
usage data.
Next version of
OWLS-MX ?
OWLS-MX
version 2 will have the following features
- Improved filters (Integrated hybrid matching at concept level)
- Display of the result of testing multiple matchmaker variants (M0
- M4) at the same time
- Fixing of reported bugs
- Updated test collection OWLS-TC (version 3)
Release date:
Autumn 2006
Support and contact
?
PLEASE
report any bugs and errors encountered to us; we are continuously
working to improve OWLS-MX.
For
OWLS-MX software support and help,
please contact
For general
inquiries,
please
contact:
(c)
DFKI, 2005
OWLS-MX has been developed by
Benedikt
Fries and Matthias Klusch at the German
Research Center for Artificial
Intelligence (DFKI Saarbruecken, Germany) in the project
SCALLOPS.