<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A purely logic-based approach to approximate matching of Semantic Web Services</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jorg Schon sch</string-name>
          <email>joerg.schoenfisch@systec-cax.de</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Willy Chen</string-name>
          <email>willy.chen@systec-cax.de</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Heiner Stuckenschmidt</string-name>
          <email>heiner@informatik.uni-mannheim.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>KR &amp; KM Research Group, University of Mannheim</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>SysTec-CAx GmbH</institution>
          ,
          <addr-line>Munchen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Most current approaches to matchmaking of semantic Web services utilize hybrid strategies consisting of logic- and non-logic-based similarity measures (or even no logic-based similarity at all). This is mainly due to pure logic-based matchers achieving a good precision, but very low recall values. We present a purely logic-based matcher implementation based on approximate subsumption and extend this approach to take additional information about the taxonomy of the background ontology into account. Our aim is to provide a purely logic-based matchmaker implementation, which also achieves reasonable recall levels without large impact on precision.</p>
      </abstract>
      <kwd-group>
        <kwd>semantic web services</kwd>
        <kwd>approximate matching</kwd>
        <kwd>approximate subsumption</kwd>
        <kwd>logic-based</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Web service discovery and matchmaking is a eld of ongoing research. For
semantic web services, logic-based reasoning o ers the possibility of high precision.
However, in general it achieves only poor recall levels. Due to this, most current
matcher implementations utilize a combination of logic- and non-logic-based, or
even only non-logic-based similarity measures.</p>
      <p>
        The best performing matcher during 2009's Semantic Service Selection
contest3 S3, URBE [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], uses only non-logic-based matching. Most of the other
matchers we found so far (SAWSDL-MX2 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], DAML-S Matcher [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], COCOON
Glue [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], SAWSDL-iMatcher3/13) utilize a hybrid strategy, merging the results
of a logic and non-logic matching step. However, they only support coarse
degrees of a logic match, i.e., exact, plug in, subsumes, subsumed-by, intersection
and fail [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
      </p>
      <p>
        LOG4SWS.KOM [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] improves this approach by de ning adaptive degrees
of match and assigning numerical values to them, which can easily be combined
3 http://www-ags.dfki.uni-sb.de/~klusch/s3/s3-2009-summary.pdf
with other numerical similarity values. These numerical values are determined
through the taxonomic distance of the concepts used to annotate the service o er
and request. As a fallback strategy, LOG4SWS uses WordNet4 to determine the
similarity of interface, operation or parameter names, if no concepts are available
or an error occurs during processing. It toop part non-competitively in 2009's
S3 as a beta version and outperformed URBE and SAWSDL-MX2 on average
precision [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        iSeM [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is based on concept abduction [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], which is a similar notion of
approximate subsumption to the one we use in our implementation. Consequently,
it also supports approximate and more ne-grained degrees of match. Through
concept abduction iSeM determines which properties of a request or an o er
prevent the subsumption from succeeding and ranks request-o er pairs according to
the loss of information by omitting those properties. Additionally it implements
non-logic-based similarity measures to further improve the ranking.
      </p>
      <p>
        Another service matcher which directly takes the structure of the
taxonomy into account when computing matches is F-Match [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Yau et al. compute
semantic similarity of concepts by their distance and relationship in the
taxonomy as proposed in a graph matching approach by Zhong et al. [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and use
this value, together with some others, for ranking the services. Their evaluation
based on randomly generated service o ers and requests shows a surprisingly
high precision and recall of 100%.
      </p>
      <p>
        Our matcher is based on the notion of approximate subsumption as proposed
in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. We extend this approach in three ways: our rst addition utilizes
information about the taxonomy of the background ontologies to achieve a more ne
grained ranking. The other two extensions are aimed at lowering query response
times through a slight change in the de nition of approximate subsumption and
optimized query execution order. Our goal is to improve recall through
approximation, but keeping high precision and a fast query response time. For our
matcher we assume web services to be annotated with semantic information
according to the SAWSDL standard [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>This paper is structured as follows: In section 2 we de ne approximate
subsumption and give an example of its usage. The concept of approximate
subsumption as we applied it to semantic web services and our implementation is
described in section 3. We evaluate our implementation in section 4 and conclude
in section 5.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Approximate Subsumption</title>
      <p>
        In this section we brie y describe approximate subsumption. In [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]
S-Interpretations [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] are applied to description logic, assigning each concept not in the set
S the top &gt; or bottom ? concept, depending on which interpretation is used.
Consequentially, concepts not in S will be ignored by a subsumption test or cause
it to fail. The interpretation which maps concepts to the top concept is called
4 http://wordnet.princeton.edu/
upper approximation IS+ and the interpretation mapping concepts to the bottom
concept is called lower approximation IS . By applying these approximations to
the de nition of standard subsumption 8I : I j= C v D , (C u :D)I = ; (with
C and D being concept expressions), an approximate subsumption operator is
de ned: v:
      </p>
      <p>S</p>
      <p>It is shown that this approach has the property of generalized monotonicity,
making it possible to generate weaker version of the subsumption operator with
every approximation step by decreasing the size of S. This allows to rank a
result list based on the degree the operator had to be weakened to receive a
speci c result. Possible strategies for altering S include contraction by removing
concepts sequentially or permutation by creating every possible combination of
concepts in S.</p>
      <p>
        A great advantage of this approach is, that it can be implemented by
syntactic modi cations of concept expressions and then be evaluated by standard
description logic reasoners [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The de nition of the rewriting rules for theses
modi cations for the lower approximation (:) are as follows (with A being an
atomic concept):
(:C)
(C u D)
(C t D)
!? if A 2 S
!? if A 2 S
! :(C)+
! (C)
! (C)
u (D)
t (D)
(A)+ ! &gt; if A 2 S
(:A)+ ! &gt; if A 2 S
      </p>
      <p>The de nition of the upper approximation (:)+ is analogous, only equations
1 and 2 are adapted:</p>
      <p>Applying these rewriting rules to the approximate subsumption operator we
get the following alternative de nition:
So to check for approximate subsumption we have to create the lower
approximation of a service o er and the upper approximation of the service request and
test whether the intersection is equal to the empty set.</p>
      <p>In our implementation we call this original de nition of approximate
subsumption Simple strategy. The following gives an example of how this strategy
(1)
(2)
(3)
(4)
(5)
(6)
(7)
is carried out5: Lets consider a search application for pizza delivery services. The
user may specify di erent toppings he likes to have on his pizza, and the search
then returns a number of delivery services o ering pizzas with these
ingredients. For example a user wants a vegetarian pizza with Broccoli and Artichoke.
Unfortunately no delivery can satisfy this wish. Subsequently, the system
approximates the request by creating two new request with Broccoli and Artichoke
replaced with &gt; respectively. Executing these two new requests, the system
discovers pizza delivery services which o er Broccoli and Mandarine pizzas or
Artichoke and Mushroom pizzas, which both might be relevant to the user. The
next approximation step would approximate both Broccoli and Artichoke to &gt;
and subsequently return every pizza with two vegetarian toppings.
3</p>
      <p>Applying Approximate Matching to Semantic Web
Services
This chapter explains in more detail how we applied approximate subsumption to
semantic web services and how we implemented partial matchmaking for service
discovery and which extensions we made.</p>
      <p>The implementation consists of two parts: The rst part de nes the web
service ontology, processes the service o ers and creates requests represented as
concepts of the ontology. The second part, a generalized matchmaker, reasons
on this ontology and computes matches to the request based on its subsumption
relation to service o ers.</p>
      <p>The typical usage of our matchmaker is divided into an o ine initialization
and classi cation of service o ers, and the online processing of requests. During
the initialization semantic annotations are extracted from SAWSDL services and
added to a service ontology. This ontology is then classi ed with the help of a
description logic reasoner. After the initialization any number of request can be
issued to the matchmaker without further reclassi cation.
3.1</p>
      <sec id="sec-2-1">
        <title>Extracting Semantic Annotations</title>
        <p>In order to build an ontology of all known web services the semantic annotations
have to be extracted from the web service descriptions. A simpli ed version of
a web service with SAWSDL annotation is shown in Fig. 1.</p>
        <p>
          The concepts, which are extracted from the web service annotations, are
added to a service ontology. This is a minimal ontology for describing a service,
modelled in OWL [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. It is quite similar to other upper ontologies for Web
services, like OWL-S [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] or WSMO [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], but its only classes are Service, Operation,
Input and Output and the object properties hasOperation, hasInput and
hasOutput connecting them. Other aspects of a service, like how to connect to it, or
5 To simplify this example we do not create the lower approximation of all o ered
pizzas, but only the upper approximation of the request. Nonetheless, the general
procedure stays the same.
information about availability or reliability, which are present in more complex
ontologies, e.g. OWL-S or WSMO, are not modelled in our prototype. Figure 2
shows how this looks like for the Web service example from above.
pizzaDeliveryServiceSearch SubclassOf
        </p>
        <p>(hasOperation some opSearchByTopping)
opSearchByTopping SubclassOf
(hasInput only Topping) and
(hasOutput only Address) and
(hasInput some Topping or hasOutput some
Address)
While loading a service, the approximator also counts the occurrences of each
concept used to annotate its parameters, which is important when determining
the order in which they should be approximated (cf. approximation strategies).
Furthermore, it maintains a list of cumulated occurrences, which are the sum
of a concept's and all of its sub concepts' occurrences throughout the whole
service ontology. This number is a better indicator for how restricting a speci c
constraint of the request is than the number of occurrences of a concept alone.
For example, OWLThing (the super concept of all concepts) and OWLNothing
(the sub concept of all concepts) will most likely never be used to annotate a Web
Service, so they both have a number of occurrence of 0. However, the cumulated
occurrence of OWLThing is the sum of all other concepts' occurrences, whereas
the cumulated occurrence of OWLNothing is still 0. This means if a service
parameter is enforced to be of type OWLNothing, this is much more restricting,
than enforcing it to be of type OWLThing6.
6 Actually, a constraint for a parameter to be of type OWLNothing is unsatis able
and a constraint for a parameter to be of type OWLThing is always ful lled</p>
      </sec>
      <sec id="sec-2-2">
        <title>Creating and Approximating Queries</title>
        <p>Query Creation A request is represented in the same way as a normal service
o er (cf. section 3.1). There are two possibilities of creating a new request:
{ A Query-by-Example approach, by which an existing annotated service is
used to create a request from it. This can be useful, if someone wants to
nd a replacement for an existing service, or services with duplicate abilities
should be found.
{ Input and Output parameters are speci ed directly and a request is built
using these, for example when a user searches a service to ful ll a speci c
task.</p>
        <p>
          Query Approximation The Web Service Approximator creates queries using
permutations to change the S set. Two strategies de ne the approximation of
concept expressions: The rst strategy determines the order in which concepts
are approximated, depending on their cumulated number of occurrences. This
strategy supports three di erent variants, in uencing the ranking of the results
(cf. [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]):
{ LESS: concepts are approximated in ascending order of their cumulated
number of occurrences
{ MORE: concepts are approximated in descending order of their cumulated
number of occurrences
{ RANDOM: concepts are approximated in a random order
        </p>
        <p>
          The second strategy de nes how ne grained the approximation should be.
The Simple variant approximates each concept of the request by replacing it
with OWLThing, which is the approach in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] described earlier. We extended
this strategy with a variant that takes the taxonomy of the domain ontology
into account:
Taxonomy Approach Instead of replacing a concept to be approximated with
OWLThing, we use its direct super concept according to the taxonomy. We call
this strategy Taxonomy. Our de nitions of lower and upper approximation for
the Taxonomy approach are the following:
        </p>
        <p>(A)
(:A)
! directsub(A) if A 2 S
! directsub(A) if A 2 S
(A)+ ! directsuper(A) if A 2 S
(:A)+ ! directsuper(A) if A 2 S
(8)
(9)
(10)</p>
        <p>The intention behind the Taxonomy strategy is to create a much more
detailed ranking of results and therefore achieve a higher precision than with the
Simple variant. This approach bene ts especially if ontologies with a deep
taxonomy are used for annotations and if concepts from every level of the taxonomy
are used.</p>
        <p>Revisiting the example of the pizza delivery service search, the rst
approximations according to the Taxonomy strategy are the following: instead of
replacing Broccoli and Artichoke with &gt;, we use their direct superconcept, which
in this case is Vegetable for both. The search for pizzas with Broccoli and any
other Vegetable or pizzas with Artichoke and any other Vegetable now only nds
the delivery service o ering Artichoke and Mushroom pizzas. The service
delivering Broccoli and Mandarine pizzas is not found during the rst approximation
step, as Mandarines are a Fruit and no Vegetable. This pizza is found during
the second step, when Vegetable is further approximated to VegetarianFood, of
which Fruits are naturally are subconcept. Thus, the Broccoli and Mandarine
pizza would be considered less relevant, as the request had to be further
weakened to retrieve it.</p>
        <p>Note that the approximator always generates all possible approximations of
a request at once, avoiding duplicates by checking the parameters of each
request. So for each super- or subconcept of a concept, respectively, a new request
is generated. If the concept does not have a direct super- or subconcept,
respectively, then no approximation is created. This is only the case for OWLThing
and OWLNothing, as every other concept has OWLThing as superconcept and
OWLNothing as subconcept.</p>
        <p>
          Additionally, the approximator tries to avoid term collapsing [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] by
prohibiting queries whose terms are all approximated to OWLThing. Term collapsing is
a negative e ect of approximate subsumption, which occurs if the approximated
concept consists of conjunctions and one term is changed to OWLThing, or if it
consists of disjunctions and one concept is approximated to OWLNothing, e
ectively turning the whole concept into OWLThing or OWLNothing, respectively.
        </p>
        <p>During the creation of approximations, we generate a graph which captures
the relations between the original request and its approximations. The root node
of the graph is the original request, its direct children are the approximations
created during the rst step, their children are the approximations generate from
them during the second step, and so on. This graph is later used to optimize
the execution time of the matchmaker, especially when approximating along the
taxonomy, which produces a large amount of queries: Q 2 O(N P ), with Q being
the number of created queries, P the number of parameters the request has and
N the maximum number of superclasses a concept has. So the number of queries,
and consequentially the execution time of the matcher, grows exponentially with
the number of parameters. However, web service have mostly only a couple of
parameters, so we hope to still calculate results in a reasonable amount of time.</p>
        <p>The object representing an approximated query also stores the step in which
it was approximated and the sum of the cardinalities of all concepts which were
approximated to create this query. These two numbers are important to
determine the position of each query's results in the nal aggregated result list, as the
partial matchmaker may process queries out of approximation order, and thus
their results can not simply be appended to the list.</p>
        <p>
          Query-only Approximation A drawback of the de nition of approximate
subsumption in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] is the fact, that the concepts on both sides of the
operator, in our case service requests and service o ers, have to be rewritten. This
means the whole ontology containing the service o ers has to be approximated
and reclassi ed by the reasoner for each request. Obviously, given an
arbitrarily large service ontology, this is not feasible in a reasonable amount of time.
We therefore changed the de nition of the approximate subsumption operator
to only approximate the request, leaving the concepts of the service ontology
untouched.
        </p>
        <p>+
8I : I j= C v D , CI \ (D)IS = ;</p>
        <p>S</p>
        <p>According to this de nition we only apply the upper approximation to the
request and test for subsumption with the service o ers.</p>
        <p>Optimizations During Query Execution As mentioned before, the
approximation along the taxonomy produces a large amount of queries, leading to long
delays until the matchmaker returns the results. To reduce the number of queries
which have to be executed, we take advantage of the monotonicity property of
the approximate subsumption and the graph structure created when
approximating a request. The approach is based on the observation, that if two di erent
queries, which were created during di erent steps and are related as ancestor /
descendant, produce the same result lists, then, due to the monotonicity, every
query between these two queries must produce the exact same result list and
subsequently need not be executed. Our matchmaker utilizes this property by
rst executing the root and leave queries of the graph, and compares their
results pairwise. If the results of a pair are equal, every query between this pair
are omitted, otherwise the graph is split in two parts, and again the top and the
bottom queries of this subgraphs are executed and compared.</p>
        <p>Intersection Query After having executed the original query and all of its
approximations, we also add all service o ers to the result list, which have at
least one concept in common with the request, no matter if it is used as input
or output parameter. Surprisingly, this has a quite large impact on the precision
of the Simple strategy, as we will show in the evaluation.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Evaluation</title>
      <p>In this chapter we evaluate the performance of the implemented matcher. The
following points are considered:
{ Retrieval performance of the implemented matcher compared to others
{ Response time to user requests</p>
      <p>We conducted the performance tests on a Mac Pro 3,17 running Windows
XP SP3 and Java 1.6.20.
The Semantic Web Service Matchmaker Evaluation Environment8 (SME2) is a
Java-based tool developed at the German Research Center for Arti cial
Intelligence (DFKI) and is used during the Semantic Service Selection (S3) contest
to evaluate and compare the performance of matchmakers. It supports the
addition of matchmakers and test collections as a plug-in; currently collections for
OWL-S and SAWSDL and the matchmakers written by the DFKI are publicly
available.</p>
      <p>
        SME2 evaluates the matchers' performance with standard performance
measures of information retrieval [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]:
{ Precision: Fraction of the retrieved results, which are relevant
{ Recall: Fraction of all relevant documents, which are retrieved
{ Fallout: Fraction of retrieved irrelevant documents.
      </p>
      <p>{ F-Measure: Weighted harmonic mean of Precision and Recall.
Furthermore, the average precision for each query is computed and other
statistics like execution time, query response time and memory consumption are
recorded.</p>
      <p>We use SAWSDL-TC9, which is supplied with SME2, as test collection for
our matchmaker. It consists of 894 service o ers and 26 service requests. For
each request the relevant service o ers are speci ed, allowing the calculation of
the service measures mentioned above. The services are annotated with concepts
from several di erent ontologies from di erent domains, ranging from military
over education to health care and food.</p>
      <p>The ontology with the extracted annotations of 894 services from
SAWSDLTC contains 2149 named and 3261 anonymous classes (SubclassOf axioms). This
ontology is then classi ed by the matcher using a description logic reasoner
suitable for OWL.
4.2</p>
      <sec id="sec-3-1">
        <title>Comparison of Retrieval Performance</title>
        <p>
          This section compares the implemented matcher's retrieval performance to that
of SAWSDL-MX2, which is, like SME2, developed at the DFKI. It implements
several possibilities for calculating matches [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]:
7 Two 2.8 GHz Intel Xeon Quad-Core processors, 2GB RAM
8 http://www.semwebcentral.org/projects/sme2/
9 http://projects.semwebcentral.org/projects/sawsdl-tc/
{ Logic-based: computes matches based on the semantic annotations of input
and output parameters
{ Text similarity: uses standard information retrieval methods for nding
similar descriptions
{ Structural similarity: compares the structure of services: interfaces, bindings,
number of parameter, etc.
        </p>
        <p>Additionally, SAWSDL-MX2 implements a machine learning feature to support
the weighting of each of this properties, when it ranks the result list.</p>
        <p>Table 1 gives an overview of the matchers' overall performance. The average
precision is the average of the average precision for every query. The query
response time is the time needed on average to execute a single query. The
number of executed queries is the number of requests issued to the reasoner.
This number is only available for our implementation.
Overall Precision and Recall First, we will compare the overall precision
and recall of our matcher utilizing the Simple and Taxonomy strategies and
SAWSDL-MX2 (Fig. 3).</p>
        <p>For every level of recall, Taxonomy achieves a higher precision than Simple.
Because Taxonomy returns the same services as results as Simple does, and
only re nes the ranking produced by it, both strategies deliver an almost
identical performance at lowest and highest recall levels. Between those, Taxonomy
shows the advantage of the ne grained approximation of concepts, achieving a
precision which is up to 30% higher than Simple's. The Taxonomy approach
also has the highest average precision of all 3 matchers. However, its precision
is worse than that of SAWSDL-MX2 at the rst quarter of the result list, where
SAWSDL-MX2 is able to reach a precision of almost 100%. Overall, the
precision of both our implementations decreases slower than SAWSDL-MX2's, which
drops below Simple's precision towards the end of the result list.
Overall Recall and Fallout The recall/fallout diagram (Fig. 4) shows the
same tendencies as the overall recall and precision, and again emphasizes the
good proportion between precision and recall of the Taxonomy strategy. It
returns less false positives than SAWSDL-MX2, which produces almost twice as
much at full recall.</p>
      </sec>
      <sec id="sec-3-2">
        <title>In uence of the Intersection Query Figure 5 shows the in uence of the</title>
        <p>intersection query on the performance of the Simple and Taxonomy approach.
The recall/precision curves for Taxonomy with and without the intersection
query show only a slight di erence. For Simple, however, the intersection query
increases the precision signi cantly; by up to 10% at full recall. The beginning of
the curves is identical between the variants with and without intersection query,
because it only adds o ers to the bottom of the result list, as mentioned before,
and does not change the ranking of previous results.
4.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Response Time to User Requests</title>
        <p>
          Besides the retrieval performance, for a real world usage of the matcher, it is
also important to deliver results in a reasonable amount of time [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>Table 2 shows the average value, median value, standard deviation and
coe cient of variation of the response times the matchers need for evaluating a
single request. These numbers show that a higher precision comes at the cost of
longer wait time for the users. Simple is quite fast with about one second on
average and SAWSDL-MX2 is not much slower, taking around three seconds to
deliver results; Taxonomy uses a lot more time: 15 seconds on average.</p>
        <p>Figure 6 and the median value, standard deviation and coe cient of variation
show, that Simple and SAWSDL-MX have quite steady query response times,
which do not vary wildly. For Taxonomy, however, the response times show huge
di erences. Fortunately, most times are lower than the average, as indicated by
the median value only being half of the average precision. For some queries,
Taxonomy is faster than SAWSDL-MX, for others, there are some outliers for
which execution took around two minutes.</p>
        <p>In general, Simple is faster than SAWSDL-MX, which is in turn faster than
Taxonomy, what corresponds directly with their average precision.</p>
      </sec>
      <sec id="sec-3-4">
        <title>Optimization of Query Response Time The response times of Simple and</title>
        <p>Taxonomy are already improved through the optimization described in Section
3.2. Without it, Taxonomy would need 20 seconds on average to answer a
request (Table 3). The bene ts for Simple are minimal, as it only produces a
small query graph. However, Taxonomy issues almost one third less queries to
the reasoner, saving as much time for a request.
We presented our implementation of a purely logic-based approximate web
service matcher, which is based on approximate subsumption. The results of our
evaluation are promising, especially for our goal to increase recall and still
maintain a high precision. Considering the recall, our approach even performs better
then all other matchers contending in the S3, and still achieves competitive
precision. Our extensions aimed at decreasing query response time have generally
helped to achieve a reasonable speed for our matcher, despite the additional
executed queries. However, in some special cases our implementation still needs
too much time for executing all approximations.</p>
        <p>Future goals are to improve query performance, where we will consider several
possibilities: As the approximated queries are independent from each other, they
could be executed concurrently, but unfortunately parallelization is supported
poorly by current reasoners. Another possibility to improve the perceived
performance of the matcher is the implementation of an anytime behaviour, to show
the user some rst results and then re ne or extend the list in the background.</p>
        <p>
          Long term goals are the integration of user preferences in the approximation
and ranking process, e.g., black or white lists de ning which concepts should or
should not be approximated. Furthermore, the matcher could create proposals
for combining several services, which together can ful ll the users request. To
improve the matchers performance in a heterogeneous environment, where
service are annotated with concepts from di erent, not formally related ontologies,
an ontology alignment [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] process could improve retrieval performance.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>E. Della</given-names>
            <surname>Valle</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Cerizza</surname>
          </string-name>
          .
          <article-title>Cocoon glue: a prototype of "wsmo" discovery engine for the healthcare eld</article-title>
          .
          <source>In Proceedings of the WIW 2005 Workshop on WSMO Implementations</source>
          , Innsbruck, Austria, June 6-7, volume
          <volume>134</volume>
          <source>of CEUR-WS</source>
          , pages
          <volume>1</volume>
          {
          <fpage>12</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. Di</given-names>
            <surname>Sciascio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.M.</given-names>
            <surname>Donini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Mongiello</surname>
          </string-name>
          .
          <article-title>Abductive matchmaking using description logics</article-title>
          .
          <source>In INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE</source>
          , volume
          <volume>18</volume>
          , pages
          <fpage>337</fpage>
          {
          <fpage>342</fpage>
          .
          <string-name>
            <surname>Citeseer</surname>
          </string-name>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Euzenat</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Shvaiko</surname>
          </string-name>
          . Ontology matching. Springer-Verlag New York Inc,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>P.</given-names>
            <surname>Groot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Stuckenschmidt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Wache</surname>
          </string-name>
          .
          <article-title>Approximating description logic classi cation for semantic web reasoning</article-title>
          .
          <source>In European Semantic Web Conference (ESWC)</source>
          , Heraklion, Greece, May 29 - June 1, volume Volume
          <volume>3532</volume>
          of Lecture Notes in Computer Science (LNCS), pages
          <fpage>318</fpage>
          {
          <fpage>332</fpage>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. W3C OWL Working Group.
          <article-title>OWL 2 web ontology language document overview</article-title>
          .
          <source>Technical report, W3C</source>
          ,
          <year>October 2009</year>
          . http://www.w3.org/TR/2009/REC-owl2
          <string-name>
            <surname>-</surname>
          </string-name>
          overview-20091027/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>M.</given-names>
            <surname>Klusch</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Kapahnke</surname>
          </string-name>
          .
          <article-title>Semantic web service selection with "sawsdl-mx"</article-title>
          .
          <source>In Ruben Lara Hernandez</source>
          , Tommaso Di Noia, and Ioan Toma, editors, Workshop on Service Matchmaking and
          <article-title>Resource Retrieval in the Semantic Web (SMRR), Karlsruhe</article-title>
          , Germany, October
          <volume>27</volume>
          , volume
          <volume>416</volume>
          <source>of CEUR Workshop Proceedings</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Klusch</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Kapahnke</surname>
          </string-name>
          . isem:
          <article-title>Approximated reasoning for adaptive hybrid selection of semantic services</article-title>
          .
          <source>In Proceedings of 4th IEEE International Conference on Semantic Computing (ICSC)</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Klusch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kapahnke</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Zinnikus.</surname>
          </string-name>
          <article-title>"sawsdl-mx2": A machine-learning approach for integrating semantic web service matchmaking variants</article-title>
          .
          <source>In ICWS '09: Proceedings of the 2009 IEEE International Conference on Web Services</source>
          , pages
          <volume>335</volume>
          {
          <fpage>342</fpage>
          , Washington, DC, USA,
          <year>2009</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>J.</given-names>
            <surname>Kopecky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vitvar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bournez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Farrell</surname>
          </string-name>
          .
          <article-title>"sawsdl: Semantic annotations for wsdl and xml schema"</article-title>
          .
          <source>IEEE Internet Computing</source>
          , November / December:
          <volume>60</volume>
          {
          <fpage>67</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. H.
          <string-name>
            <surname>Lausen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Polleres</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Roman</surname>
          </string-name>
          .
          <article-title>Web service modeling ontology (wsmo). W3C member submission</article-title>
          ,
          <source>W3C</source>
          ,
          <year>June 2005</year>
          . http://www.w3.org/Submission/2005/SUBM-WSMO-
          <volume>20050603</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>C.D. Manning</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Raghavan</surname>
          </string-name>
          , and H. Schutze. Introduction to information retrieval. Cambridge Univ Pr,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>D.</given-names>
            <surname>Martin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Burstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hobbs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Lassila</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>McDermott</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>McIlraith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Narayanan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paolucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Payne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Sirin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Srinivasan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Sycara</surname>
          </string-name>
          .
          <article-title>Owl-s: Semantic markup for web services</article-title>
          .
          <source>W3C member submission, W3C</source>
          ,
          <year>November 2004</year>
          . http://www.w3.org/Submission/2004/SUBM-OWLS-
          <volume>20041122</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. R.B.
          <string-name>
            <surname>Miller</surname>
          </string-name>
          .
          <article-title>Response time in man-computer conversational transactions</article-title>
          .
          <source>In AFIPS Joint Computer Conferences</source>
          <year>1968</year>
          , San Francisco, CA, USA, December 9-
          <issue>11</issue>
          , pages
          <fpage>267</fpage>
          {
          <fpage>277</fpage>
          . ACM,
          <year>1968</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>M. Paolucci</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Kawamura</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Payne</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Sycara</surname>
          </string-name>
          .
          <article-title>Importing the semantic web in "uddi"</article-title>
          . In Web services, E-Business,
          <article-title>and the Semantic Web, (WES) CAiSEWorkshop</article-title>
          , Toronto, Canada, May
          <volume>27</volume>
          -28, volume
          <volume>2512</volume>
          <source>of LNCS</source>
          , pages
          <volume>815</volume>
          {
          <fpage>821</fpage>
          . Springer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>P.</given-names>
            <surname>Plebani</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Pernici</surname>
          </string-name>
          . Urbe:
          <article-title>Web service retrieval based on similarity evaluation</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          ,
          <volume>21</volume>
          :
          <fpage>1629</fpage>
          {
          <fpage>1642</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>M.</given-names>
            <surname>Schaerf</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Cadoli</surname>
          </string-name>
          .
          <article-title>Tractable reasoning via approximation</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>74</volume>
          (
          <issue>2</issue>
          ):
          <volume>249</volume>
          {
          <fpage>310</fpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>S.</given-names>
            <surname>Schlobach</surname>
          </string-name>
          , E. Blaauw,
          <string-name>
            <given-names>M.</given-names>
            <surname>El Kebir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Ten</given-names>
            <surname>Teije</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Van Harmelen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bortoli</surname>
          </string-name>
          , et al.
          <article-title>Anytime classi cation by ontology approximation</article-title>
          . In Ruzica Piskac, Frank van Harmelen, and Ning Zhong, editors,
          <article-title>New forms of reasoning for the Semantic Web</article-title>
          , volume
          <volume>291</volume>
          <source>of CEUR-WS</source>
          , pages
          <volume>60</volume>
          {
          <fpage>74</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>S.</given-names>
            <surname>Schulte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Lampe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Eckert</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Steinmetz</surname>
          </string-name>
          .
          <article-title>"log4sws.kom": Self-adapting semantic web service discovery for "sawsdl"</article-title>
          .
          <source>In IEEE Congress on Services</source>
          , Miami, FL, USA, July
          <volume>5</volume>
          -
          <issue>10</issue>
          , pages
          <fpage>511</fpage>
          {
          <fpage>518</fpage>
          . IEEE Computer Society,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>H.</given-names>
            <surname>Stuckenschmidt</surname>
          </string-name>
          .
          <article-title>Partial matchmaking using approximate subsumption</article-title>
          .
          <source>In Proceedings of the 22nd Conference on Arti cial Intelligence (AAAI-07)</source>
          , pages
          <fpage>1459</fpage>
          {
          <fpage>1464</fpage>
          , Vancouver, British Columbia, Canada,
          <year>July 2007</year>
          . AAAI Press.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>H.</given-names>
            <surname>Stuckenschmidt</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kolb</surname>
          </string-name>
          .
          <article-title>Partial matchmaking for complex productand service descriptions</article-title>
          .
          <source>In Proceedings of Multikonferenz Wirtschaftsinformatik (MKWI</source>
          <year>2008</year>
          ),
          <source>Special Track on Semantic Web Technology in Business Information Systems</source>
          , Munich, Germany,
          <source>February 26-28</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>S.S.</given-names>
            <surname>Yau</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>Functionality-based service matchmaking for service-oriented architecture</article-title>
          .
          <source>In International Symposium on Autonomous Decentralized Systems (ISADS'07)</source>
          , Sedona, USA, March
          <volume>21</volume>
          -
          <fpage>23</fpage>
          . IEEE Computer society,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>A.M. Zaremski</surname>
            and
            <given-names>J.M.</given-names>
          </string-name>
          <string-name>
            <surname>Wing</surname>
          </string-name>
          .
          <article-title>Signature matching: a tool for using software libraries</article-title>
          .
          <source>ACM Transactions on Software Engineering and Methodology (TOSEM)</source>
          ,
          <volume>4</volume>
          (
          <issue>2</issue>
          ):
          <fpage>170</fpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>J. Zhong</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Zhu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Li</surname>
            , and
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          .
          <article-title>Conceptual graph matching for semantic search</article-title>
          .
          <source>In International Conference on Conceptual Structures: Integration and Interfaces (ICCS)</source>
          ,
          <source>Borovets, Bulgaria, July 15-19</source>
          , volume
          <volume>2393</volume>
          <source>of LNCS</source>
          , pages
          <volume>92</volume>
          {
          <fpage>106</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>