<!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>Reasoning in resource-constrained environments: a matchmaking engine over relational Knowledge Bases</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Eufemia Tinelli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco M. Donini</string-name>
          <email>donini@unitus.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michele Ruta</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eugenio Di Sciascio</string-name>
          <email>disciasciog@poliba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Politecnico di Bari</institution>
          ,
          <addr-line>via Re David 200, I-70125, Bari</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universita` della Tuscia</institution>
          ,
          <addr-line>via S. Carlo 32, I-01100, Viterbo</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present a framework for logic-based matchmaking on ALN ABoxes stored in a relational database. The proposed approach allows both non-standard reasoning and subsumption check be performed only via standard SQL queries. Main contribution is in the SQL implementation of the following features: (i) compliance with four match classes (i.e., exact, full, partial and potential); (ii) rank computation for each matching outcome and (iii) preferences management in the user query. Performance evaluation carried out on a PostgreSQL 8.4 engine reports reasonable results in terms of scalability and turnaround times for large scale data sets.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Benefits introduced by semantic technologies are well-known in a number of
frameworks where simplistic keyword-based searches are not enough. Inference services,
both standard and non-standard [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], allow to match requests and resources based on
the actual meaning of their descriptions and –more interesting– to provide classification
and logic-based ranking. Beyond obviously good matches, such as exact or full ones, we
deem so called potential or intersection matches (where requests and supplied resources
have something in common and no conflicting characteristics) as more interesting and
useful from the user perspective. Partial or disjoint matches (where requests and
supplies have some conflicting features) can also be considered worthwhile in all scenarios
when nothing better exists. In those cases, one can be interested in understanding the
conflict degree between perspective matching descriptions. What usually prevents a
widespread usage of semantic approaches is that they require heavy computational
capabilities, and response times are often unacceptable in common applications as soon
as real (or realistic) data sets have to be faced. Furthermore, current systems usually
allow a requester only to express her mandatory requirements and there is no possibility
to grade user preferences in a more fine grained way. The problem of finding efficient
reasoning strategies has been widely studied (see [
        <xref ref-type="bibr" rid="ref14 ref20 ref8">8, 20, 14</xref>
        ] among others). Basically,
Knowledge Compilation [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] has been employed for making computationally
acceptable the reasoning, splitting query answering in two phases: (i) KB is pre-processed,
thus parsing it in a proper data structure (off-line reasoning); (ii) the query is answered
exploiting the structure coming from the first phase (on-line reasoning).
      </p>
      <p>
        This paper presents an automated matchmaking framework, which exploits
Knowledge Representation (KR) and reasoning techniques as well as Description Logics
(DLs) formalisms, to retrieve the best supplied resources w.r.t. a user request, ranked
according to the semantic distance from the request itself. Knowledge Bases (KBs)
–stored in a relational database– are used, so that inferences are performed via
standard SQL queries. The proposed matchmaker leverages KB pre-processing to reduce
on-line reasoning overhead. Relevant provided features include: (i) it copes with
several match classes; (ii) it allows to assign a relevance degree to each feature in the
user query and (iii) it is able to return a logic-based explanation of the ranking results.
The paper presents both the modeling approach allowing to translate a given KB into
the reference relational database and the incremental building of SQL sub-queries
allowing to matchmake and rank results. An experimental evaluation –using PostgreSQL
8.4 DBMS– has been carried out, showing the effectiveness of the proposal and its
scalability. Matchmaker performances have been compared with the ones provided by
MaMaS-tng3 reasoner with reference to the same set of non-standard inference services
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>The remainder of the paper is organized as follows. In the next section, a survey
of most significant related work is presented; subsequently, Section 3 introduces the
proposed framework and approach and Section 4 reports on a performance evaluation of
the implemented approach. Conclusions and future research directions close the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        Several systems and approaches have been presented in literature, where database
technology is used to both persistently store knowledge and make scalable queries on it [
        <xref ref-type="bibr" rid="ref18 ref5">5,
18</xref>
        ]. They are mainly classified according to the language (i.e., RDF(S) 4 or OWL 5)
they adopt for defining ontologies. In what follows, most relevant frameworks will be
surveyed to allow a comparison with the approach we propose here.
      </p>
      <p>
        Oracle Spatial 11g6 is the first enterprise-oriented, scalable and reliable data
management platform for RDF-based applications. It supports query answering for RDF(S)
and OWLPrime. Based on a graph data model, RDF triples are made persistent, indexed
and queried, similarly to other object/relational data types. Owlgres7 is a DL-Lite [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
reasoner implementation for PostgreSQL. A distinguishing feature is that, along with
standard inferences (e.g., subsumption), it supports conjunctive query answering over
ABoxes in a secondary storage (typically an RDBMS) so coping with large datasets. A
comparable system using RDBMS to deal with large sets of data is QuOnto8, a DL-Lite
reasoner providing consistency check and conjunctive query replying services. Neither
QuOnto nor OWLgres return a ranked list of results. Further ontology storage
systems –such as DLDB [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and Sesame on PostgreSQL [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]– adopt binary tables, one
3 http://sisinflab.poliba.it/MAMAS-tng/
4 http://www.w3.org/TR/rdf-primer/
5 http://www.w3.org/TR/owl2-overview/
6 http://www.oracle.com/technology/tech/semantic technologies/index.html
7 http://pellet.owldl.com/owlgres/
8 http://www.dis.uniroma1.it/q˜uonto/
for each class in the TBox; whereas SOR (Scalable Ontology Repository) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] exploits
four kinds of tables for managing OWL-Lite constructs: atomic tables (for primitive
concepts and properties), TBox axiom tables, ABox fact tables and class constructor
tables. But the most popular and recent OWL storage is OWLIM [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. It is a Sesame
plug-in able to add a robust support for the semantics of RDFS, OWL Horst and OWL2
RL. A possible optimization is obtained by caching the classification hierarchy in the
database as it is implemented in Instance Store (iS) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], an engine for reasoning over
OWL KBs specifically adopted in biomedical-informatics. A highly-scalable OWL
reasoner is SHER (Scalable Highly Expressive Reasoner) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] enabling conjunctive query
answering. It supports a subset of OWL-DL excluding nominals, and it relies on an
indexing technique of ABox instances in the database. SHER embeds Pellet to infer
implicit information from indexed data and to obtain explanations for inconsistencies.
PelletDB9 provides an OWL 2 reasoning system specifically built for enterprise
semantic applications. It combines Pellet’s OWL capabilities and scalable native reasoning of
Oracle Database 11g so ensuring performance improvements w.r.t. to the use of such
technologies separately. Differently from the previous approaches, the most widespread
DL-reasoner, i.e., KAON210, does not implement the tableaux calculus, but it reduces
a SHIQ(D) knowledge base to a disjunctive datalog program. An inference engine for
answering conjunctive queries has been so developed applying well-known deductive
database techniques.
      </p>
      <p>All the cited systems, although often allow an expressiveness greater than the one
enabled by the engine proposed here, are only able to return either exact matches (i.e.,
instance retrieval) or query answering. On the contrary, we use an enriched relational
schema to provide a logic-based ranked list of results and the possibility to implement
a semantic explanation of outcomes.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Proposed Approach</title>
      <p>
        Description Logics are the reference formalisms we adopt in this paper. In particular, we
refer to (a syntactic variant of) ALN , whose allowed constructs are: conjunction C uD,
universal quantification 8R:C, and unqualified number restriction ( nR); ( nR).
A simple terminology T is hypothesized which contains inclusion axioms A v C,
concept definitions A = C, and disjointness axioms A u B v ?. If both the requested
and the supplied resources are expressed in ALN w.r.t. an ontology T , it is possible to
exploit their formal semantics during the classification and matching processes. Recall
that (see [
        <xref ref-type="bibr" rid="ref12 ref16">12, 16</xref>
        ] for further details) given a TBox T , a match degree between a request
D and a supplied resource C (both expressed w.r.t. T ) can be evaluated as:
– Exact. All the features requested in D are exactly provided by C, and vice versa—in
formulae, T j= D , C.
– Full-Subsumption. All the features requested in D are contained in C—in formulae,
T j= C ) D.
– Potential-Intersection. There is a nonempty intersection among the features offered
in C and the ones requested in D—in formulae, T 6j= :(D u C).
9 http://clarkparsia.com/pelletdb/
10 http://kaon2.semanticweb.org/
– Partial-Disjoint. Some features requested in C are conflicting with some other ones
offered in D—in formulae, T j= :(D u C).
      </p>
      <p>The proposed approach implements all the above match types. However, it is
possible to add further user-oriented match classes via the incremental building of match
requests by means of SQL sub-queries. Concepts are normalized according to the
ConceptCentered Normal Form (CCNF), [1, Ch.2], through the recursive application of the
formulas in Figure 1, until no rule is applicable at every nesting level.</p>
      <p>TBox reduction
A ! A u C</p>
      <p>if A v C 2 T
A ! C
if A = C 2 T</p>
      <p>Concept reduction
8 :(D u E) ! 8 :D u 8 :E
( nR) u ( mR) ! ( nR)</p>
      <p>if n &gt; m
( nR) u ( mR) ! ( nR)</p>
      <p>if n &lt; m
8R:? ! 0R</p>
      <p>?-reduction
8 :( nR) u 8 :( mR) ! 8 :?</p>
      <p>if n &gt; m
8 :(8R:?) u 8 :( nR) ! 8 :?</p>
      <p>8 :A u 8 :B ! 8 :?
where A and B are disjoint concept names,
i.e., A u B v ? 2 T .</p>
      <p>Fig. 1. Rules for CCNF. The symbol is a sequence of role names = R1 Rn, so that 8 :C,
means 8R1:(: : : :(8Rn:C) : : :). We include the case = " (empty sequence), when 8 :C is just
C.</p>
      <p>The proposed classification is based on a role-free ABox, where each assertion
C(a) means that supply a offers features C. Of course, each individual a is involved
in one assertion only, while the same features C could be offered by more than one
supply. To store a supply C(a) in a database, we divide a C in four groups of conjuncts
Cn u C] u C8:n u C8:], being Cn the concept names, C] the number restrictions, C8:n
the conjuncts of the form 8R1:(: : : :(8Rn:A) : : :) and C8:] the conjuncts of the form
8R1:(: : : :(8Rn:D) : : :) where D is a number restriction.</p>
      <p>A proper design of the Entity-Relationship (E-R) model is a fundamental
prerequisite to correctly store both ABox instances and all the TBox T axioms to be used in
the further reasoning stages. In the provided model: (i) entities are chosen in a way to
describe all the basic information elements used in the matchmaking process; (ii)
numerical features (e.g., price or quantity) could be very useful in several scenarios (e.g.,
e-commerce) but they are not closely related to the semantic description of a resource;
anyway as such resource information are structured by definition, they will be more
easily managed directly by the DBMS. They are named structured conditions. Once a
concept C has been put in CCNF, the assertions C(a) will be stored in the database, by
assigning identifiers to given elements of the syntactic tree of C, and then linking such
identifiers by suitable database relations. The logic model for the database storing
conjuncts of the normalized form is reported in Figure 2. As an example, Table RESOURCE
stores data related to a given resource whereas Table DL ASSERTION stores the
individual describing a resource along with data expressing both cardinality and type of
normalized elements. Tables CONCEPT NAME, NUMBER RESTRICTION, UNIV NAME
and UNIV NUMBER respectively store the conjuncts Cn, C], C8:n and C8:] of C. A
nesting level will be assigned based on how many 8-quantifiers have a given concept C
in their scope. For example, 8R:C has a nesting level 1, 8R:8S:A has nesting level 2,
and so on. The attribute level of both Table UNIV NAME and Table UNIV NUMBER,
refers to the assigned nesting degree. Moreover, the attribute r type allows to
disCONCEP T NAME(id name; name)
DISJOINT (id name; id name disj)
NUMBER REST RICT ION (id number; role; r type)
UNIV NAME(id univ name; role list; id name; level)
UNIV NUMBER(id univ number; role list; id number; level)
RESOURCE(id resource; structured conditions )
DL ASSERT ION (id assert; owl; n name; n number; n univ name; n univ number; id resource)
ASSERT CONCEP T NAME(id assert; id name)
ASSERT NUMBER REST RICT ION (id assert; id number; value)
ASSERT UNIV NAME(id assert; id univ name)
ASSERT UNIV NUMBER(id assert; id univ number; value)
tinguish numeric restriction cardinalities: r type = max (resp. r type = min) states
a n R (resp. n R) restriction. Finally, actual data in individual descriptions are
also stored in tables (whose name starts with ASSERT). They link the assertion
identifier to its atomic conjuncts storing also numeric values of restrictions for elements in
the form C] and C8:]. Hence, if the system assigns to C(a) identifier the value 100
and the normalized concept C contains the following conjuncts: A, 3 R, 8R:8S:B
and 8R: 6 T , then the system fills the tables in Figure 3. The presented modeling
approach translates an assertion C(a) of size n into c n database tuples, so it increases the
storage size, almost linearly. Nevertheless, such a drawback is largely repaid in terms
of flexible match classes management, quick logic-based ranking and explanation of
results through enumeration of additional, missing and fulfilled features11.
This subsection reports on queries needed for extracting resources C1; C2; : : : in an
exact/full/partial/potential correspondence with a user request D. Queries are
incrementally built, according to both number and type of atomic elements composing the
11 The extraction of conflicting characteristics has not been implemented yet because we do not
cache partial matches, exploiting them just as intermediate results.</p>
      <p>disj(A; B)
8R: : : : 8S:8T:A
8R: : : : 8S:8T:B
8R: : : : 8S:9T
8R: : : : 9S
: : :
9R
(1)
(2)
(3)
(4)
(5)
(6)
(7)
description as well as on user constraints. In what follows, we assume that requests D
are already in CCNF.</p>
      <p>An Exact match happens when request and supplied resources are logically
equivalent, hence both the so-called structured conditions and all the atomic elements have
to correspond, while n name, n number, n univ name and n univ number
attributes must be equal. In fact, in order to detect an exact match the supply must have
exactly the same features of the request and nothing else. As Full Match queries
simply aim to detect subsumption relationships, we do not deal with them here. On the
contrary, we will focus on Partial and Potential Match, which are strictly related.
Actually, a Potential Match is simply a not Partial one. A resource C is a Potential Match
for a given request D if they do not have conflicting features (i.e., C u D 6=?). In case
of conflicts, the subset containing not allowed features is the Partial Match outcome.
The Potential Match results can be obtained by retrieving all the stored supplies
excluding Partial Matches. A Partial Match between a resource C and a request D amounts
to check whether C u D is unsatisfiable and why, and such a test in ALN amounts
to check the presence in C u D of the pattern outlined in Figure 4. There disj(A; B)
denotes either two disjoint names, or two incompatible number restrictions, and 9R
denotes a concept in the form ( n R) for some n &gt; 0. For roles S; T ans so on the same
conditions hold. However, in the proposed approach, such a pattern is split between the
database tuples representing C(a), and the SQL query QD representing D. Intuitively,
for every subconcept of D in the form (2), QD looks in the DB for tuples representing
those subconcepts of C in the form (3)–(7) which are not already in D. Since the
selection of the correct pattern to search is leaded by D, the worst case is represented by
a request D containing a subconcept C in the form (2) with a role depth n whereas no
other subconcept in the form (3)–(7) belonging to the same C pattern is in D. In this
case, the n + 1 missing subconcepts, required to determine an unsatisfiability pattern
for C, have to be looked up in the DB. In particular, one SQL WHERE condition is built
in QD for each subconcept to search.</p>
      <p>To better clarify user request translation into the SQL standard query, a toy example
of worst case search, is briefly reported, in accordance with the pattern in Figure 4. Let
us suppose a normalized request D - 8R:8S:A (n = 2) and two normalized supplies:
C1 - 8R:8S:B u 8R:( 1 S) u ( 1 S), C2 - ( 1 S). In order to retrieve a potential
match, we have to detect the partial matches i.e., instances represented by tuples in the
form (3)–(7), and to discard them from the final results set. As above mentioned, three
WHERE conditions are needed. The SQL query retrieving partial matches w.r.t. D is
reported hereafter:</p>
      <p>
        Since the previous query returns the supply C1, the potential matches set is only
composed by supply C2. Moreover, C2 has 8R:8S:A as missing features
(explanation process) and a rank equal to 0 as explained in the following (ranking process).
For the Potential Match results, the logic-based ranking is obtained implementing the
ranking function in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] by aggregating tables with match results. The basic idea is
to compute the semantic distance between the normalized forms of both the user
request D and the retrieved supply C. To this purpose we introduce 4 tables named
CONCEPT NAME SCORE, NUMBER RESTRICTION SCORE, UNIV NAME SCORE and UNIV
NUMBER SCORE corresponding to the structure of tables CONCEPT NAME, NUMBER
RESTRICTION, UNIV NAME and UNIV NUMBER respectively, enhanced by the attribute
score. In fact, they store D features with the related user preference (a value between
1 and 5) and, if the user does not set scores for requested features, the matchmaker
considers the default value 1. In particular, the results ranking is calculated via the formula
(1) rank=(no. fulfilled features of C)/(no. features of D) in case no scores have been set
and, as preliminary investigation, via the formula (2) rank=(score sum for fulfilled C
features)/(scores sum for D features) otherwise.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>System and Performance Evaluation</title>
      <p>
        The proposed matchmaker acts as a Java application. A prototypical testing GUI has
been developed in order to enable users: 1) to edit/import the request directly in OWL
or in DIG [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] (which is more compact); 2) to weigh each normalized concept in the
request; 3) to choose the match class to search for and 4) to show the ranked list of
results. Experiments have been carried out exploiting an Intel Core i3 PC, equipped
with 4 GB RAM. System evaluation goals were: (i) approach outcome and scalability
–even if existing OWL benchmarks allow a comprehensive evaluation of most
common reasoner capabilities [
        <xref ref-type="bibr" rid="ref21 ref22">22, 21</xref>
        ], unfortunately none is able to execute non-standard
services we refer here. Hence, in order to evaluate both matchmaker correctness and
performance, only a strict comparison with MaMas-tng results can be carried out; (ii)
data complexity –a given query is chosen and the system behavior has been evaluated
as a function of dataset size; (iii) expression complexity –a given dataset is chosen and
the system behavior has been evaluated as a function of the execution time of arbitrarily
selected queries.
      </p>
      <p>Dataset. In accordance with the goals and assumptions in Section 3, we will use
two different domain ontologies: 1) the “Clothing” one (composed by 157 classes and
18 roles) and 2) the “Hotel” one (composed by 68 classes and 12 roles). The former
has many concept names whereas the latter has many concept descriptions. Following
the “Hotel” ontology structure, it is possible to define individuals with roles nesting
level generally higher than the ones of the “Clothing” ontology. Moreover, we have
implemented a synthetic KB instances generator, able to automatically build satisfiable
instances referred to a given ontology. In this way, we can build data sets having
different size, ranging from 100 to 10000 individuals, and instances with a given structure
(i.e., number of concept names, number of restrictions, etc.). Finally, several queries
have been defined for each knowledge domain. Due to lack of space, we only report on
the retrieval times for two queries of average expressiveness respectively referred to the
“Clothing” and the “Hotel” ontology:
Q1 - ”I’m looking for a medium size bluejeans with five pockets and a casual style
suitable for spring climate, for both young and adult people” classified as n name=5,
n number=18 and n univ name=10 in its normalized form;
Q2 - ”I’m looking for a twin bed room with some included options (specifically, air
conditioning and high speed Internet connection) in a four star hotel near Termini Station
in Rome” classified as n name=1, n number=3, n univ name=10 and n univ
number=4 in its normalized form.</p>
      <p>Data and expression complexity. The application has been tested by means of
several queries with different expressiveness applied to several data sets in order to obtain
a comprehensive evaluation of the approach. Our tests measure the retrieval time
calculated as average time over ten repetitions. Tests have been performed composing both
requests with few generic features and requests including more features with an higher
specificity (e.g., similar to the previous ones). Results show that retrieval times
moderately increase addressing to the system more complex queries. For this reason, Figure 5
only reports on retrieval times for the requests Q1 and Q2. Times have been computed
also considering the request normalization process. From the performance comparison
standpoint, MaMaS-tng reached via its DIG interface based on HTTP Post has been
compared with our relational knowledge based matchmaker running on a remote
PostgreSQL server. All tests are reported in Figure 5. Note that the retrieval time difference
–given the same instance number for the ontologies– is due to the different complexity
of them, as said before.</p>
      <p>Moreover, tests have proved that retrieval time of Potential Match (with and
without ranking) are higher than the ones of the other match classes (as expected) whereas
Exact Match and Full Match have comparable retrieval times. In fact, Potential Match
requires a more complex structure of SQL sub-queries and it deals with a higher
number of intermediate results (i.e., tuples). Retrieval times for “Clothing” dataset of 10000
instances are justified by the presence of potential matches only by construction.
Basically, it can be concluded that retrieval times linearly increase with the data size, in case
of up to 5000 individuals more or less. Such outcomes are justified by the higher
number of returned instances when datasets increase and –on the other hand– they suggest
a proper table partition of the database is needed. The approach scalability is proved by
the comparison with retrieval times produced by MaMaS-tng reasoner. In particular, our
higher retrieval time (i.e., Ranked Potential Match - PM+R) as been used as baseline
for the further comparison with MaMaS-tng.</p>
      <p>
        Approach outcome. As said, MaMas-tng has been used as comparison term to
evaluate output correctness. Results show that the matchmaker proposed here retrieves the
same ranked list of results for each match class. The ranking assigned to each potential
result has been computed both by MaMaS-tng (using rankP otential [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] algorithm)
and by the proposed system (using the default values for the request features weights).
Best results for MaMaS-tng have a semantic distance w.r.t. the request equal to 0. So
for a significant comparison, we have re-computed the previous ranking formula as:
rank value = numD numC , where numD refers to request features whereas numC
sums supply features matching the requested ones. Table 1 reports on MaMaS-tng
performance on the same datasets and the same queries used for results in Figure 5. Given
a request D and a supplied resource C, MaMaS-tng allows to determine the match type
(matchT ype(D; C)) –see ask mT (D; C) in Table 1– and to calculate a ranking value
(rank(D; C)) –see ask r(D; C) in Table 1. It does not provide functions to retrieve all
the individuals satisfying a requested match class as implemented in the matchmaker
proposed here. So, in order to compare the matchmakers performance, it has been
considered the ranked potential match computation, which corresponds to the previous two
asks for MaMaS-tng (see Table 1 for details).
      </p>
      <p>
        Basically, a shallow examination of results shows highest loading times obtained
with the proposed matchmaking approach. Nevertheless, it has to be noticed –as
mentioned in Section 3– that the proposed approach includes a time-consuming pre-processing
phase. So, knowledge bases loading times are obviously higher than in case of
MaMaStng (see Table 2 where M tng column refers to MaMaS-tng and DB one is about our
approach). Anyway, the KB loading is an off-line and una tantum process, performed
once when the system is set and not repeated during reasoning phases. Moreover, if
the TBox has not been modified then it is possible to store incrementally only new
instances, drastically reducing load times. It has to be also said that, MaMaS-tng is not
able to load large KBs (i.e., for “Clothing” ontology, previewed 5000 ABox instances
cannot be uploaded).
Motivated by the need to efficiently cope with large datasets in semantic
matchmaking, we presented a logic-based framework exploiting a flexible knowledge modeling.
A user request is structured as set of normalized features also weighted according to the
relevance assigned by the user. By exploiting only SQL queries, the system is able to
detect resources falling in several match classes also ranking results. Current
implementation refers to ALN , although as pointed out in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] renewed interests in light-weight
DLs for large ontologies and non-standard services has been observed, in order to
successfully use semantic technologies in real-world applications.
      </p>
      <p>Preliminary performance evaluation on various datasets show an efficient behavior
also considering that optimization techniques such as the transitive closure modeling
and the implementation of table partitioning have not been implemented yet. Future
work aims at testing further devised strategies for score calculation along with a full
optimization of the database and at evaluating performance with other existing
OWLDL storage engines with reference to comparable match classes, i.e., exact and full.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments References</title>
      <p>The authors acknowledge partial support of Apulia Region Strategic Project PS 125
and the reviewers for useful comments and suggestions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mc</surname>
            <given-names>Guinness</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Nardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Patel-Schneider</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <article-title>The Description Logic Handbook, 2nd edition</article-title>
          . Cambridge University Press (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>What's new in description logics</article-title>
          . Informatik-Spektrum pp.
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          (
          <year>2011</year>
          ),
          <volume>10</volume>
          .1007/s00287-011-0534-y
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bechhofer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Mo¨ ller, R.,
          <string-name>
            <surname>Crowther</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>The DIG Description Logic Interface</article-title>
          .
          <source>In: DL'03. CEUR Workshop Proceedings</source>
          , vol.
          <volume>81</volume>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bechhofer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The OWL Instance Store: System Description</article-title>
          .
          <source>In: CADE '05</source>
          . pp.
          <fpage>177</fpage>
          -
          <lpage>181</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bock</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haase</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ji</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Volz</surname>
          </string-name>
          , R.:
          <article-title>Benchmarking OWL Reasoners</article-title>
          . In: ARea Workshop at ESWC 2008.
          <article-title>CEUR-WS</article-title>
          , Vol
          <volume>350</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Broekstra</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kampman</surname>
          </string-name>
          , A.,
          <string-name>
            <surname>van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema</article-title>
          .
          <source>In: ISWC '02</source>
          . pp.
          <fpage>54</fpage>
          -
          <lpage>68</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Cadoli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Donini</surname>
            ,
            <given-names>F.M.:</given-names>
          </string-name>
          <article-title>A survey on knowledge compilation</article-title>
          .
          <source>AI Commun</source>
          .
          <volume>10</volume>
          (
          <issue>3-4</issue>
          ),
          <fpage>137</fpage>
          -
          <lpage>150</lpage>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Data Complexity of Query Answering in Description Logics</article-title>
          .
          <source>In: KR-06</source>
          . pp.
          <fpage>260</fpage>
          -
          <lpage>270</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Tractable Reasoning and Efficient Query Answering in Description Logics: The DL-Lite Family</article-title>
          .
          <source>J. of Automated Reasoning</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ),
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Colucci</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Di Noia,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ragone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ruta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Tinelli</surname>
          </string-name>
          , E.:
          <article-title>A Non-Monotonic Approach to Semantic Matchmaking and Request Refinement in E-Marketplaces</article-title>
          .
          <source>Int. J. on Electronic Commerce</source>
          <volume>12</volume>
          (
          <issue>2</issue>
          ),
          <fpage>127</fpage>
          -
          <lpage>154</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Di Sciascio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Donini</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.M.</surname>
          </string-name>
          :
          <article-title>Semantic Matchmaking as Non-Monotonic Reasoning: A Description Logic Approach</article-title>
          .
          <source>J. of Artificial Intelligence Research</source>
          <volume>29</volume>
          ,
          <fpage>269</fpage>
          -
          <lpage>307</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Di Sciascio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Donini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.M.</given-names>
            ,
            <surname>Mongiello</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>A System for Principled Matchmaking in an Electronic Marketplace</article-title>
          .
          <source>Int. J. on Electronic Commerce</source>
          <volume>8</volume>
          (
          <issue>4</issue>
          ),
          <fpage>9</fpage>
          -
          <lpage>37</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Dolby</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fokoue</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schonberg</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srinivas</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Efficient Reasoning on Large SHIN Aboxes in Relational Databases</article-title>
          .
          <source>In: SSWS '09</source>
          . pp.
          <fpage>110</fpage>
          -
          <lpage>124</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Doyle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patil</surname>
            ,
            <given-names>R.S.</given-names>
          </string-name>
          :
          <article-title>Two Theses of Knowledge Representation: Language Restrictions, Taxonomic Classification, and the Utility of Representation Services</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>48</volume>
          (
          <issue>3</issue>
          ),
          <fpage>261</fpage>
          -
          <lpage>297</lpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Kiryakov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ognyanov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <string-name>
            <surname>OWLIM - A Pragmatic Semantic</surname>
          </string-name>
          <article-title>Repository for OWL</article-title>
          .
          <source>In: WISE</source>
          . vol.
          <volume>3807</volume>
          , pp.
          <fpage>182</fpage>
          -
          <lpage>192</lpage>
          . Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>A Software Framework for Matchmaking Based on Semantic Web Technology</article-title>
          .
          <source>Int. J. on Electronic Commerce</source>
          <volume>8</volume>
          (
          <issue>4</issue>
          ) (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brunner</surname>
            ,
            <given-names>J.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>SOR: a Practical System for Ontology Storage, Reasoning and Search</article-title>
          .
          <source>In: VLDB '07</source>
          . pp.
          <fpage>1402</fpage>
          -
          <lpage>1405</lpage>
          . VLDB Endowment (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>del Mar</surname>
            Roldan-Garcia,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aldana-Montes</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          :
          <article-title>A Survey on Disk Oriented Querying and Reasoning on the Semantic Web</article-title>
          .
          <source>In: ICDEW'06</source>
          . pp.
          <fpage>58</fpage>
          -
          <lpage>65</lpage>
          . IEEE Computer Society (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heflin</surname>
            ,
            <given-names>J.: DLDB</given-names>
          </string-name>
          :
          <article-title>Extending Relational Databases to Support Semantic Web Queries</article-title>
          .
          <source>In: PSSS1</source>
          . vol.
          <volume>89</volume>
          , pp.
          <fpage>109</fpage>
          -
          <lpage>113</lpage>
          . CEUR-WS.org (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Schaerf</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cadoli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Tractable reasoning via approximation</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>74</volume>
          (
          <issue>2</issue>
          ),
          <fpage>249</fpage>
          -
          <lpage>310</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Thakker</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Osman</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gohil</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lakin</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A pragmatic approach to semantic repositories benchmarking</article-title>
          .
          <source>In: The Semantic Web: Research and Applications</source>
          , vol.
          <volume>6088</volume>
          , pp.
          <fpage>379</fpage>
          -
          <lpage>393</lpage>
          . Springer (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Weithner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liebig</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luther</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bhm</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Whats Wrong with OWL Benchmarks</article-title>
          .
          <source>In: SSWS 2006</source>
          . pp.
          <fpage>101</fpage>
          -
          <lpage>114</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>