<!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 Semantic Web Knowledge Base System that Supports Large Scale Data Integration</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Zhengxiang Pan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yingjie Li</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jeff Heflin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science and Engineering, Lehigh University 19 Memorial Dr. West</institution>
          ,
          <addr-line>Bethlehem, PA 18015</addr-line>
          ,
          <country country="US">U.S.A</country>
        </aff>
      </contrib-group>
      <fpage>125</fpage>
      <lpage>140</lpage>
      <abstract>
        <p>A true Semantic Web knowledge base system must scale both in terms of number of ontologies and quantity of data. It should also support reasoning using different points of view about the meanings and relationships of concepts and roles. We present our DLDB3 system that supports large scale data integration, and is provably sound and complete on a fragment of OWL DL when answering extensional conjunctive queries. By delegating TBox reasoning to a DL reasoner, we focus on the design of the table schema, database views, and algorithms that achieve essential ABox reasoning over an RDBMS. The ABox inferences from cyclic axioms are materialized at load time, while other inferences are computed at query time. Instance data are directly loaded into the database tables. We evaluate the system using synthetic benchmarks and compare performances with other systems. We also validate our approach on data integration using multiple ontologies and data sources.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The Semantic Web is growing and clearly scalability is an important requirement for
Semantic Web systems. Furthermore, the Semantic Web is an open and decentralized
system where different parties can and will, in general, adopt different ontologies. Thus,
merely using ontologies, does not reduce heterogeneity: it just raises heterogeneity
problems to a different level. Without some form of alignment, the data that is described
in terms of one ontology will be inaccessible to users that ask questions in terms of
another ontology. Our ontology, perspective semantics provides a framework to integrate
data sources using different ontologies. This framework uses only standard OWL
axioms and hence would not add any additional reasoning complexity to the knowledge
base system. Another unique feature of this framework is that different viewpoints
regarding the integration (or mapping) could coexist in one knowledge base system, even
when they are contradictory. We think this is important for the Semantic Web, which is
inherently distributed and inconsistent.</p>
      <p>
        Based upon this framework, we built DLDB3, a scalable Semantic Web knowledge
base system that allows queries from different points of view. DLDB3 has major
improvements over DLDB2 [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], including a novel approach to handle cyclic (recursive)
axioms in relational databases. Although relational databases are optimized for scalable
query answering, they usually require special purpose algorithms to handle recursive
queries [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Our approach identifies cyclic axioms that cannot be directly handled by
precomputed database views and materializes the inferences entailed by these axioms.
Our resulting system is complete for 10 of 14 queries in UOBM DL benchmark and all
of the LUBM [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] queries, and can load 130 million triples with 24 hours.
      </p>
      <p>
        The kinds of cycles that lead to incompleteness in a database view approach like
DLDB include transitive axioms and property restrictions where the same class appears
on both sides of a general concept inclusion axioms (e.g. ∃P.C " C). Wang et al. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]
surveyed 1275 ontologies and only found 39 (3%) that contained a transitive property.
In our own analysis of Swoogle’s [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] Semantic Web data collection, we could not find
any cycles that involves an existential restriction. Only 1.6% out of 16285 ontologies
define transitive properties. The number of transitive properties defined in all ontologies
is 459, merely 1.4% of the total number of properties. Given that such cycles are rare,
we believe that they should be handled as special cases, and our RDBMS-based
architecture should be preserved. We hypothesize that selectively materializing these axioms
will only lead to minor increases in load time and overall repository size using our
approach. In prior work, we added materialization of transitive properties to DLDB2 [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
In this paper we generalize this to materialize all other cyclic axioms. A key element
to this approach is ensuring that the materialized data only appears in the appropriate
perspectives.
      </p>
      <p>In what follows, we first introduce ontology perspectives. We then present the DLDB3
system’s reasoning algorithms, architecture, design and implementation with a focus on
how the reasoning is achieved and perspectives are supported. Finally we evaluate the
system using benchmarks as well as multi-ontology data sets and queries.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Ontology Perspectives</title>
      <p>
        In prior work, we have defined ontology perspectives which allows the same set of data
sources to be viewed from different contexts, using different assumptions and
background information [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. That work also presents a model theoretic description of
perspectives. In this section, we set aside the versioning issues of that paper and introduce
some essential definitions.
      </p>
      <p>Each perspective is based on an ontology, hereafter called the basis ontology or base
of the perspective. By providing a set of terms and a standard set of axioms, an ontology
provides a shared context. Thus, data sources that commit to the same ontology have
implicitly agreed to share a context. When it makes sense, we also want to maximize
integration by including data sources that commit to different ontologies.</p>
      <p>We now provide informal definitions to describe our model of the Semantic Web.
A Semantic Web space W is a pair #O, S$, where O is a set of ontologies and S is a
set of data sources. An ontology O in O is a four-tuple #C, R, T , E $, where C is a set
of concepts; R is a set of roles; T is a TBox that consists of a set of axioms; E ⊂ O is
the set of ontologies that are extended by O. Note extension is sometimes referred to as
inclusion or importing.</p>
      <p>An ancestor of an ontology is an ontology extended either directly or indirectly by
it. If O2 is an ancestor of O1, we write O2 ∈ anc(O1). Note the ancestor function
returns the extension closure of an ontology, which does not include the ontology itself.</p>
      <p>
        For ontology extension to have its intuitive meaning, all models of an ontology
should also be models of every ontology extended by it. Here we assume that the models
of T are described by the semantics of OWL, for example see [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. We now define the
semantics of a data source.
      </p>
      <p>Definition 1 A data source s is a pair #A, O$, where A is an ABox that consists of a
set of formulas and O is the ontology that s commits to. A model of s is a model of both
A and O.</p>
      <p>When a data source commits to an ontology, it has agreed to the terminology and
definitions of the ontology. It means that for data source s = #As, Os$, all the concepts
and roles that are referenced in As should be either from the ontology Os or anc(Os).</p>
      <p>We now define an ontology perspective model of a Semantic Web space. This
definition presumes that each ontology can be used to provide a different viewpoint of the
Semantic Web.</p>
      <p>Definition 2 (Ontology Perspective Model) An interpretation I is an ontology
perspective model of a semantic web space W = #O, S$ based on O ∈ O (written
I|=OW ) iff: 1) I is a model of O and 2) for each s = #As, Os$ ∈ S such that Os = O
or Os = anc(O), I is a model of s.</p>
      <p>Based on this definition, entailment is defined in the usual way, where W|=Oφ is
read as “W O-entails φ”.</p>
      <p>Theoretically, each O-entailment relation (perspective) represents a set of beliefs
about the state of the world, and could be considered a knowledge base. Thus, the
answer to a Semantic Web query must be relative to a specific perspective. We now
define a Semantic Web query.</p>
      <p>Definition 3 Given a Semantic Web Space W = #O, S$, a Semantic Web query is a
pair #O, ρ$ where O ∈ O is the base ontology of the perspective and ρ is a conjunction
of query terms q1,....., qn. Each query term qi is of the form x:c or #x, y$:r, where c is
an atomic concept and r is an atomic role from O or ancestor of O and x, y are either
individual names or existentially quantified variables.</p>
      <p>An answer to the query #O, ρ$ is θ iff for each qi, W|=Oθqi where θ is a substitution
for the variables in ρ.</p>
      <p>We argue that our perspectives have at least two advantages over traditional
knowledge representation languages. First, the occurrence of inconsistency is reduced
compared to using a global view, since only a relevant subset of the Semantic Web is
involved in processing a query. Even if two ontologies have conflicting axioms, the
inconsistency would only be propagated to perspectives based on common descendants of
the conflicting ontologies. Second, the integration of information resources is flexible,
i.e. two data sources can be included in the same perspective as long as the ontologies
they commit to are both being extended by a third ontology.
3</p>
    </sec>
    <sec id="sec-3">
      <title>A Scalable Algorithm for Semantic Web Query Answering</title>
      <p>
        Our approach was inspired and based on the work of Description Horn Logic (DHL)[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
a fragment of DL that can be translated into logic programming. Although the DHL
work has a general description on how the datalog programs can be implemented on
relational databases, details or working algorithms are not present, especially for handling
(cyclic) recursive rules. To our best knowledge, none of the publicly available Semantic
Web knowledge base systems has took this route of combining datalog programs with
relational databases. Although deductive databases directly implement datalog, their
techniques are currently not mature enough for handling large scale data.
3.1
      </p>
      <sec id="sec-3-1">
        <title>Defining the Language</title>
        <p>
          The DHL language and its mapping to other formalisms has been described in detail in
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Here we provide a quick summary for the convenience of discussion. Formally, in
DHL:
        </p>
        <p>Concepts are defined as
D ::= A|D1 ! D2|∀R.D
C ::= A|∃R.C|C1 ! C2|C1 $ C2
Where A denotes atomic concept.</p>
        <p>The axioms have form:
C % D
R1 % R2
R+ % R means R is a transitive property
F unc(R) means R is a functional property 1</p>
        <p>Roles are defined as
R ::= P |P −
Where P denotes atomic role.</p>
        <p>The assertions have form:
a : C
(a, b) : R
where a, b are named individuals.</p>
        <p>Translation input Translate to
Trans(A, x) A(x)
Trans(C % D, x) Trans(C, x)→ Trans(D, x)
Trans(C1 ! C2, x) Trans(C1, x) ∧ Trans(C2, x)
Trans(C1 $ C2, x) Trans(C1, x) ∨ Trans(C2, x)
Trans(∃R.C, x) Trans(R, x, y) ∧ Trans(C, y)
Trans(∀R.D, x) Trans(R, x, y) → Trans(D, y)
Trans(R1 % R2, x, y) Trans(R1, x, y) → Trans(R2, x, y)
Trans(R+ % R) Trans(R, x, y) ∧ Trans(R, y, z) → Trans(R, x, z)
Trans(P −, x, y) Trans(P, y, x)
Trans(P, x, y) P(x, y)</p>
        <p>The DL constructors and axioms can be recursively mapped to First Order Logic
rules. By applying Lloyd-Topor transformation to rewrite rules with conjunctions in the
1 This feature will be handled separately in our system, and will not be translated into horn rules.
head and disjunctions in the body, we can ensure the resulting rules are all horn rules.
The equivalences can be rewritten into two subsumptions.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Reasoning</title>
        <p>Our approach uses a relational database to store, manage and retrieve instance data. For
each predicate P (class or property) that is defined in an Ontology, we create a
dedicated table Ptable to store the explicit facts. In order to reflect the perspective, we use
PtOable to represent the explicit or materialized facts of P that committed to ontology O
or anc(O). Note in actual implementation, PtOable doesn’t have to be a real table in the
database, it can be implemented as a filter of ontology commitment on top of Ptable.
When facts are stored as tuples in the database, their “provenance” or “source”
information are also preserved in the form of the identifier of the ontology they commit to.
We use PvOiew to represent all instances of P , explicit or implicit, from the perspective
based on O. For convenience, we define extensional disjunctive normal form.
Definition 4 A logical formula in first order logic is in extensional disjunctive normal
form (E-DNF) if and only if it is a disjunction of one or more conjunctions of one or
more atoms, where all predicates correspond to extensional tables.</p>
        <p>Algorithm 1 shows how the reasoning is conducted in our approach. First, we
convert axioms in a given ontology into a set of horn rules using the translation function
defined above. Note the DL axioms can be reasoned and enriched by a DL reasoner, but
it is not necessary in our algorithm. Then for a set of horn rules with a common head,
we convert them into a single FOL rule, where the left hand side is in E-DNF. This
conversion is processed recursively by applying Modus Pones in a reverse direction until
all predicates are primitive (correspond to extensional tables). Next, we separate acyclic
portion of disjuncts from the cyclic portion. For acyclic rules, we create view for the
head’s predicate using straightforward translation from rule to SQL, where
conjunctions correspond to joins on common variables and disjunctions correspond to UNION
in SQL. Each ontology has a distinct view for each predicate defined by it or one of
its ancestors. Periodically when data is being loaded, we use Algorithm 2 to handle
cyclic rules left from Algorithm 1. During the computation, we materialize new tuples
in the tables so that the computation does not need to be invoked at query time. The
materialization would also set the ontology commitment information to be the ontology
that invokes this round of computation, such that these “derived” facts can be correctly
managed using perspectives. When answering extensional conjunctive query #O, ρ$ as
defined in section 2, each predicate P is directly translated into a view PvOiew that not
only contains the implicit facts through subsumptions, but also the explicit and
materialized facts in the underlying table.</p>
        <p>Theorem 1 Given a knowledge base consists of ontologies and data sources in DHL,
the reasoning algorithms described above is sound and complete w.r.t any Semantic
Web Query #O, p$.</p>
        <p>PROOF. (Sketch) When we load an ontology O, the axioms of O and anc(O) are used
to generate database views for the perspective based on O. This is consistent with the
Algorithm 1 Load an ontology into the knowledge base
LOADONTOLOGY(O)
1: Translate axioms in O and anc(O) into a set of horn rules H
2: Initialize sets F, F*, each holds a set of FOL rules
3: for each predicate P in H do
4: Convert the set of horn rules whose heads’ predicate is P to L, where the body of L is a</p>
        <p>E-DNF FOL formula
5: for each disjunct B in L such that one of the predicates is P but with different arguments
do
6: remove B from L and add B as a disjunct into the body of L∗ where the head of L∗ is
also P
7: F = F $ L, F ∗ = F ∗ $ L∗
8: end for
9: end for
10: for each FOL rule L ∈ F do
11: create view PvOiew as a SQL expression that joins the conjuncts and unions the disjuncts.</p>
        <p>Each predicate A in the body of L is translated into AtOable.
12: end for</p>
        <sec id="sec-3-2-1">
          <title>Algorithm 2 Fix point computation of cyclic rules</title>
          <p>
            FIXPOINTCOMPUTE(F ∗, O)
1: repeat
2: for each FOL rule L∗ in F ∗, where the head’s predicate is P do
3: Translate the body of L∗ into SQL query q, where each predicate A are replaced by
views AvOiew
4: Execute q, add new tuples into PtOable
5: end for
6: until A fix point has reached, which means none of the iterations generates new tuples
Ontology Perspective Model in 2. It has been shown in [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] that the translation from
DL axioms in DHL to horn rules preserves semantic equivalence. Further on, the
conversion to extensional disjunctive normal form in essence is backward chaining and
syntactical rewriting of rules by applying Modus Pones in a reverse direction. This kind
of conversion does not alter their semantics and logical consequences in FOL. The
separation of acyclic rules from cyclic rules is a variation of Lloyd-Topor transformation
for disjunctions in the body. Thus again, the changes are only syntactic. For the acyclic
rules, their correspondence in SQL has been shown in previous work such as [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ]. For
the cyclic rules, the correctness of fix point algorithms has also been proved in [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ]. To
summarize, the query on each database view of a predicate A would get the exact same
set of facts as a sound and complete reasoning algorithm would infer for A(x) since the
algorithms behind the view exercise all and only the axioms in the knowledge base that
the perspective represents.
4.1
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Implementation of DLDB3 System</title>
      <sec id="sec-4-1">
        <title>Architecture</title>
        <p>DLDB3 is a knowledge base system that combines a relational database management
system with additional capabilities for partial OWL reasoning. It is freely available as
an open source project under the HAWK framework 2.</p>
        <p>The DLDB3 core consists of a Load API and a Query API implemented in Java.
Any DL Implementation Group (DIG) compliant DL reasoner and any SQL compliant
RDBMS with a JDBC driver can be plugged into DLDB3. This flexible architecture
maximizes its customizability and allows reasoners and RDBMSs to run as services or
even clustered on multiple machines.</p>
        <p>It is known that the complexity of complete OWL DL reasoning is
NEXPTimecomplete. Our pragmatic approach is to trade some completeness for performance. The
overall strategy of DLDB3 is to find the ideal balance of precomputation of inference
and run-time query execution via standard database operations. The consideration
behind this approach is that DL reasoners are optimized for reasoning over ontologies, as
opposed to instance data.</p>
        <p>Following our algorithm described in the last section, creating tables corresponds to
the definition of classes or properties in ontology. Each class and property has a table
named using its URI.</p>
        <p>Normally, the ’sub’ and ’obj’ fields are foreign keys from the ’ID’ field of the class
tables that are the domain or range of the property, respectively. However, if the
property’s range is a declared data type, then the ’object’ field is of the corresponding data
type (RDF and OWL use XML Schema data types). Currently DLDB3 supports integer,
float and date in addition to string.</p>
        <p>
          DLDB3’s table schema is different from the vertical (also called “schema-oblivious”)
approach [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], which uses a single table for storing both RDF/S schemata and resource
descriptions under the form of triples (subject-predicate-object). Note, when new
ontologies are loaded, the correspondent tables are created for their classes and properties.
        </p>
        <p>We think the table design of DLDB3 has two advantages over the vertical approach.
First, it will contain smaller tables than the vertical scheme. Second, it preserves the data
types of the properties and hence can directly and efficiently answer queries involving
numeric comparison, such as finding individuals whose ages are under 21. Compared to
the traditional relational model, where properties correspond to columns, multi-valued
properties (attributes) in DLDB3 don’t need to be identified at ontology design time.</p>
        <p>In addition to the basic table design, some details should be taken into account when
implementing the database schemas for the system. First, we need a scheme for
naming the class and property tables. Note, using the full URI will not work, because these
URIs often exceed the RDBMS’s limits on the length of table names. However, the local
name is also insufficient because many ontologies may include the same local name. So
we assign a unique sequence number to each loaded ontology. Then each table’s name
is a class or property’s local name plus its ontology’s sequence number. This is
supported by an extra table:</p>
        <sec id="sec-4-1-1">
          <title>2 http://swat.cse.lehigh.edu/downloads/hawk.html</title>
          <p>ONTOLOGIES INDEX(Url, SeqNum)
that is used to register and manage all the ontologies in the knowledge base. The
sequence number will be assigned by the system when an ontology is first loaded into the
database.</p>
          <p>Since each row in the class tables corresponds to an instance of the class, an ’ID’
field is needed here to record the ID of the instances. The rest of the data about an
instance is recorded using the table per property (a.k.a. decompositional) approach.
Each instance of a property must have a subject and an object, which together identify
the instance itself. Thus the ’sub’ and ’obj’ fields are set in each table for property.</p>
          <p>Sometimes it is important to know which document a particular statement came
from, or how many documents contain a particular statement. We support this capability
by including a ’Src’ field in each class and property table. Together with other fields,
it serves as the multiple-field primary key of the table. In other words, the combination
of all the information of one record identifies each instance stored in the knowledge
base. In order to support perspectives described in section 2, the ontology to which the
individual data commits is also needed. Thus an ’Onto’ field is include in the tables. This
field is used to record the committed ontology from Algorithm 1 and 2. An example of
class and property tables might be:
STUDENT:1(Id, Src, Onto)
TAKESCOURSE:1(Sub, Obj, Src, Onto)</p>
          <p>In order to shrink the size of the database and hence reduce the average query time,
DLDB assigns each URI a unique numeric ID in the system. We use a table:
URI INDEX(Uri, Id)
to record the URI-ID pairs. Thus, for a particular resource, its URI is only stored once;
its corresponding ID number will be supplied to any other tables. Since the typical URI
is often 20-50 characters long and the size of an integer is only 4 bytes in the database,
this leads to a significant savings in disk space. Furthermore, query performance is also
improved due to the faster joins on integers instead of strings and the reduced table size.
By discriminating the DataType properties and ObjectType properties, the literals are
kept in their original form without being substituted by ID numbers. The reason why
we don’t assign IDs to literals is 1) literals are less likely to be repeated in the data; and
2) literals are less likely to be joined with other tables because they are never used as
database keys.</p>
          <p>Unsurprisingly, the tradeoff of doing the URI-ID translation is an increase in load
time. We use a hash table to cache URI-ID pairs found recently during the current
loading process. Since URIs are likely to repeat in one document or neighboring documents,
this cache saves a lot of time by avoiding lookup queries when possible.</p>
          <p>When DLDB3 loads an ontology, it uses Algorithm 1 to do reasoning. Note if there
are instance data in the ontology, they are processed in the same way as if they come
from a data source which commits to this ontology.</p>
          <p>It is worth noting that DLDB3 uses a DL reasoner to make inferences on DL axioms
before these axioms are translated into horn rules. In result, although the horn rules
implemented in the DLDB3’s relational database system correspond to a subset of DHL,
DLDB3 does support reasoning on DL ontologies richer than DHL. For example, the
axioms A " B 'C and A " ¬B are both beyond the expressiveness of DHL. However,
the DL reasoner will compute and return A " C assuming A and C are both atomic
classes. Unfortunately, it is difficulty to characterize this expressivity formally since
some other axioms involving disjunction or negation are not supported.</p>
          <p>In general, data loading in DLDB3 is straight-forward. Each rdf:type triple inserts
a row into a class table, while each triple of other predicates inserts a row into a role
table corresponding to the predicate. If a data document imports multiple ontologies,
the value of the ’Onto’ field is decided by the ontology that introduces the term that
the table corresponds to. However, DLDB3 materializes certain inferences at data load
time, as discussed in the next sections.</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 Inference on Individual Equality</title>
        <p>This subsection focuses on precomputations that simplify reasoning at query time.
These ABox reasoning routines along with the rule-based reasoning algorithm make
the system complete on a significant subset of OWL DL.</p>
        <p>OWL does not make the unique names assumption, which means that different
names do not necessarily imply different objects. Given that many individuals
contribute to the Web, it is highly likely that different IDs will be used to refer to the same
object. Such IDs are said to be equal. A Semantic Web knowledge base system thus
needs an inference mechanism that actually treats them as one object. Usually, equality
is encoded in OWL as (a owl:sameAs b), where a and b are URIs.</p>
        <p>In DLDB3, each unique URI is assigned a unique integer id in order to save storage
space and improve the query performance (via faster joins on integers than strings). Our
approach to equality is to designate one id as the canonical id and globally substitute the
other id with this canonical id in the knowledge base. The advantage of this approach is
that there is effectively only one system identifier for the (known) individual,
nevertheless that identifier could be translated into multiple URIs. Since reasoning in DLDB3 is
based on these identifiers instead of URIs, the existing inference and query algorithms
do not need to be changed to support equalities.</p>
        <p>However, in many cases, the equality information is found much later than the data
that it “merges”. Thus, each URI is likely to have been already used in multiple
assertions. Finding those assertions is especially difficult given the table design of DLDB3,
where assertions are scattered into a number of tables. It is extremely expensive to scan
all the tables in the knowledge base to find all the rows that use a particular id,
especially if you consider that the number of tables is equal to the number of classes plus
the number of properties. For this reason, We use auxiliary tables to keep track of the
tables that each id appears in.</p>
        <p>Often times, the knowledge on equality is not given explicitly. Equality could result
from inferences across documents: owl:FunctionalProperty, owl:maxCardinality and
owl:InverseFunctionalProperty can all be used to infer equalities. DLDB3 is able to
discover equality on individuals using a simple approach. If two URIs have the same
value for an owl:InverseFunctionalProperty, they are regarded as representing the same
individual. A naive approach is to test for this event every time a value is inserted into
an inverse functional property table. However, this requires a large number of queries
and potentially a large number of update operations. In order to improve the throughput
of loading, we developed a more sophisticated approach which queries the inverse
functional property table periodically during the load. This happens after a certain number of
triples have been loaded into the system. The specific interval is specified by users based
upon their application requirements and hardware configurations (we used 1.5 million
in our experiment). This approach not only reduces the number of database operations,
but also speeds up the executions by bundling a number of database operations as a
stored procedure. DLDB3 also supports the same approach on owl:FunctionalProperty.
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Handling Different Kinds of Cyclic Axioms</title>
        <p>Although Algorithm 1 deals with cyclic axioms in general, our implementation handles
two categories differently. Class and Property Equalities is a form of cyclic axioms.
However, they do not need fix point computation in our algorithm since they are solved
during the atom expansion process. The fundamental difference between these
equalities and other forms of cyclic axioms such as the transitive property is that they do not
involve self-joinings or iterative procedures. They simply require that we synchronize
the subsumptions between two equivalent terms. For named classes and properties, this
synchronization has been taken care of by the DL reasoner.</p>
        <p>In actual implementation, transitive properties are obvious cyclic axioms and hence
they do not need to be identified by translating into FOL rules. Our solution is to
periodically run an algorithm that self-joins the view (not the table) on the transitive property
iteratively until a fixed point is reached. This algorithm also takes care of the
perspectives, which allows different ontologies to independently describe a property as
transitive or not. The other forms of cyclic axioms are handled by repeating iterations until
no new tuples are generated. For new tuples generated during the iterations, their ’onto’
field is set to the value of the ontology that invokes this round of fix point computation
(as shown in Algorithm 2).
4.4</p>
      </sec>
      <sec id="sec-4-4">
        <title>Special Handling on Domain and Range</title>
        <p>Normally, DHL allows universal restrictions on the right hand side. Domain and range
axioms are both special cases of universal restriction (( " ∀P.C and ( " ∀P −.C,
respectively). The reasoning algorithm would include such rules and their corresponding
SQL expressions in the view definition of classes. Our initial implementation
experience shows this kind of axioms can lead to efficiency issues at query time. In particular,
when the property involved has many triples, this leads to inference of class
membership for a large number of instances. However, since OWL-DL requires that every
instance has a type, these inferences are possibly redundant with explicit information
on the knowledge base. Note, explicit universal restrictions that involve specific classes
on the left hand side usually are not as bad as domain and range, simply because the
join would reduce the number of facts that need to be compared with existing facts.</p>
        <p>In order to improve the query efficiency, DLDB3 handles domain and range axioms
at load time. Following the same translation method that translate the Horn rules into
SQL expressions, we execute these expressions periodically during load time and
effectively materialize the new facts into the corresponding tables. Then at query time, there
is no need to invoke the inferences for domain and range axioms. Our initial analysis
has shown that this special treatment for domain and range axioms can improve the
overall performance of the system, considering the same domain or range class could
be queried over and over. Note this special handling would not alter the soundness and
completeness of the reasoning algorithm.
4.5</p>
      </sec>
      <sec id="sec-4-5">
        <title>Query Answering</title>
        <p>The query API of DLDB3 currently supports SPARQL encodings of conjunctive queries
as defined in section 2. During execution, predicates and variables in the query are
substituted by table names and field names through translation. Depending on the
perspective being selected, the table names are further substituted by corresponding database
view names. Finally, a standard SQL query sentence is formed and sent to the database
via JDBC. Then the RDBMS processes the SQL query and returns appropriate results.</p>
        <p>Since we build the class and property hierarchy when loading the ontology, there is
no need to call the DL reasoner at query time. The results returned by the RDBMS can
be directly served as the answer to the original query. We think this approach makes the
query answering system much more efficient than conducting DL reasoning at query
time. To improve the query performance. DLDB3 system independently maintains
indexes without the intervention from database administrators.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        The C-OWL work [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] proposed that ontologies could be contextualized to represent
local models from a view of a local domain. The authors suggested that each ontology is
an independent local model. If some other ontologies’ vocabularies need to be shared,
some bridge rules should be appended to the ontology which extends those
vocabularies. Compared to C-OWL, our perspective approach also provides multiple models
from different views without modifying the current Semantic Web languages.
      </p>
      <p>
        Our work differs from deciding the conservative extensions [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] in that we do not
study the characteristics of the logical consequences of integrating two ontologies.
Instead, we focus on how to efficiently integrate data that commits to those ontologies
assuming that the logical consequences have been explored and approved by the user.
      </p>
      <p>
        In order to improve the scalability of ABox reasoning, a number of “tractable
fragments” of OWL have been proposed and studied. Compare to DHL, DL-Lite [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
supports a limited form of existential restrictions on both sides of class inclusion. It also
supports negation on classes and properties. However, it does not support transitive
properties. EL++ [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], on the other hand, supports qualified existential restrictions and
negation on classes but does not support inverse properties. Both DL-lite and EL++
do not support universal restrictions. In terms of expressiveness, DHL is more or less
close to those subsets of OWL DL. It is noteworthy that in the upcoming W3C
recommendation OWL 2, EL++ and DL-Lite are the bases of EL profile and QL profile
respectively.
      </p>
      <p>
        In recent years there has been a growing interest in the development of systems that
will store and process large amount of Semantic Web data. The general design goal of
these systems is often similar to ours, in the sense that they use some database systems
to gain scalability while supporting as much inference as possible by processing and
storing entailments. However, most of these systems emphasize RDF and RDF(S) data
at the expense of OWL reasoning. Some systems resemble the capabilities of DLDB3,
such as KAON2 [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], which uses a novel algorithm to reduce OWL DL into disjunctive
datalog programs. SwiftOWLIM [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] uses a rule engine to support a limited
OWLLite reasoning. SOR [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] uses DL reasoner to do TBox reasoning and a rule engine to
do ABox reasoning. SHER [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] aims at scalable ABox reasoning using a summary of
ABox. To the best of our knowledge, none of the systems above supports queries from
different perspectives.
6
6.1
      </p>
    </sec>
    <sec id="sec-6">
      <title>Evaluation</title>
      <sec id="sec-6-1">
        <title>Performance on Benchmarks</title>
        <p>
          We evaluated DLDB3 using LUBM [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] and UOBM (DL)[
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. UOBM extends LUBM
with additional reasoning requirements and links between data. The evaluation is done
on a desktop with P4 3.2G CPU and 3G memory running Windows XP professional.
We configured DLDB3 to use Pellet 2.0 as its DL reasoner and MySQL 5.0 community
version as its backend RDBMS. For comparison, we also tested SHER, SOR (version
1.5), KAON2 and SwiftOWLim (v2.9) on the same machine. IBM DB2 Express-C V9.5
was used as SHER and SOR’s backend database.
        </p>
        <p>Note UOBM only provides datasets in four sizes and has no publicly available data
generator. The largest dataset, UOBM-30 has 6.6 million triples. In our experiment,
DLDB3 can load 130 million triples from LUBM(1000,0) with 24 hours and be
complete on all the queries in LUBM.</p>
        <p>The smaller diagram on Figure 1 shows the load time of KAON2 and SwiftOWLim
on UOBM. These two systems are memory based so that they are fast at loading.
However, their scalability are limited by the memory size. KAON2 could not finish reasoning
on UOBM-10 in our experiment. SHER, SOR and DLDB3 all use a backend RDBMS
and hence would scale better than memory based systems. DLDB3 is faster on loading
than SOR and SHER. It is reasonable for SOR since it materializes all inferred facts at
load time. For reasons that we cannot explain, SHER failed to load datasets larger than
UOBM-5. SOR did not finish the loading of UOBM-30 within a 72 hours period in our
experiment.</p>
        <p>Figure 2 shows the average query response time (average on 14 queries) for all
systems on UOBM. DLDB3 is faster than KAON2 and SHER on all datasets, and keeps
up with SwiftOWLim as the size of the knowledge base increases. The standard
deviation on query response times gives no surprise: DLDB3 has higher variation than
SwiftOWLim. For DLDB3, all the queries can be finished under 4 minutes across the
datasets.</p>
        <p>As shown in Table 2, DLDB3 is complete on 11 out of the 14 queries in UOBM.
Two of the queries (Q12 and Q14) are not complete due to cardinalities. Another query
(Q13) involves inference using negation. SwiftOWLim is incomplete on only one query
(Q13); SOR is incomplete on two queries (Q12 and Q14) and SHER is only complete
on 6 queries.</p>
        <p>
          Q1 - Q11 Q12 Q13 Q14
DLDB3 100% 80% 96% 0%
SOR 100% 63% 100% 63%
SwiftOWLim 100% 100% 96% 100%
Both LUBM and UOBM only have a single ontology in their test dataset, which means
they cannot be used to test the system’s capability on data integration. In addition,
both benchmark ontologies contain no cycles besides transitive properties. In order to
empirically validate our implementation on perspectives and cyclic axiom handling, we
used a synthetic data generator to generate a multi-ontology test dataset. The details
about the data generator is described in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. The dataset we chose features 10 domain
ontologies and 10 mapping ontologies that map between the domain ontologies, the
expressivity of the ontologies was limited to DHL. There are 20,000 data files and about
1 million triples in total. 10 random generated queries associated with one particular
ontology were picked as test query. Note the ontologies in this dataset have a number
of cyclic axioms, some of them form cycles across ontologies.
        </p>
        <p>The experiment set-up was the same as the UOBM benchmark described above.
KAON2 and DLDB3 were tested using this multi-ontology dataset. Since KAON2 is
proved to be sound and complete on DHL, the results of KAON2 is used as reference. In
order to verify the correctness of DLDB3, each test queries was issued using different
perspectives. For a query #O, ρ$, the reference result sets were collected by loading the
ontologies and data sources that are included in the perspective model based on O (see
definition 2) into KAON2, and then issue the conjunctive query ρ to KAON2.</p>
        <p>All the query results from DLDB3 match the references from KAON2. This
experiment has shown that DLDB3 is sound and complete w.r.t the logical consequences
defined in section 2, and correctly implements the algorithm that handles cyclic axioms.</p>
        <p>We also did some initial analysis on the scalability of the perspective approach.
Figure 3 shows that as the number of ontologies included (though mappping) in the
perspective increases, the query response time would increase. However, more ontologies
bring more results to the query, which at large extent justifies the increase of response
time.</p>
        <p>Fig. 3. Number of Ontologies V.S. Avg. Number of Query Results</p>
        <p>On the other hand, as shown in Figure 4 the depth of the mapping (the maximum
length of the mapping chain from the query term to the term that data commits to) only
has small impact on the query response time. Again, when compared with the number
of results, the increase of query response time is justified. Overall, we have seen that the</p>
        <p>Fig. 4. Depth of Mapping V.S. Avg. Number of Query Results
query performance of DLDB3 would degrade gracefully as the depth or breadth of the
perspective increases, but largely due to the gaining of new results through integration.
7</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Conclusion and Future Work</title>
      <p>In this paper we present our DLDB3 system, which takes advantage of the
scalability of relational databases and the inference capability of description logic reasoners.
Our scalable querying answering algorithm is guaranteed to be sound and complete
on DHL. Our evaluation shows that DLDB3 scales well both in load and query
comparing to other systems. It has achieved a good balance between scalability and query
completeness. Based on ontology perspectives which use existing language constructs,
DLDB3 can support queries from different view points. Real-world data using multiple
ontologies and realistic queries show that DLDB3 has achieved this capability without
any significant performance degradation.</p>
      <p>Although we believe our work is a first step in the right direction, we have
discovered many issues that remain unsolved. First, to ensure the freshness of data, we
plan to support efficient updates on documents. Second, we will investigate query
optimization techniques that can improve the query response time. Third, we will evaluate
our system’s capability on perspectives more extensively and comprehensively using
real-world datasets.
8</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgment</title>
      <p>This material is based upon work supported by the National Science Foundation (NSF)
under Grant No. IIS-0346963. The authors would like to thank Tim Finnin of UMBC
for providing access to the Swoogle’s index of URLs. Graduate students Abir Qasem
also contributed to the evaluations in this paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Brand</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          .
          <article-title>Pushing the el envelope</article-title>
          .
          <source>In In Proc. of IJCAI</source>
          <year>2005</year>
          , pages
          <fpage>364</fpage>
          -
          <lpage>369</lpage>
          . Morgan-Kaufmann Publishers,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bouquet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. van Harmelen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Serafini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Stuckenschmidt</surname>
          </string-name>
          . C-OWL:
          <article-title>Contextualizing ontologies</article-title>
          .
          <source>In Proc. of the 2003 Int'l Semantic Web Conf. (ISWC</source>
          <year>2003</year>
          ),
          <source>LNCS 2870</source>
          , pages
          <fpage>164</fpage>
          -
          <lpage>179</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Tailoring owl for data intensive ontologies</article-title>
          .
          <source>In In Proc. of the Workshop on OWL: Experiences and Directions</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>A.</given-names>
            <surname>Chitnis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Qasem</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Heflin</surname>
          </string-name>
          .
          <article-title>Benchmarking reasoners for multi-ontology applications</article-title>
          .
          <source>In In Proc. of Workshop on Evaluation of Ontologies and Ontology-Based Tools. ISWC 07</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>L.</given-names>
            <surname>Ding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Finin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Joshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Peng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Pan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Reddivari</surname>
          </string-name>
          .
          <article-title>Search on the semantic web</article-title>
          .
          <source>IEEE Computer</source>
          ,
          <volume>10</volume>
          (
          <issue>38</issue>
          ):
          <fpage>62</fpage>
          -
          <lpage>69</lpage>
          ,
          <year>October 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>J.</given-names>
            <surname>Dolby</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fokoue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kalyanpur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Ma</surname>
          </string-name>
          , E. Schonberg,
          <string-name>
            <given-names>K.</given-names>
            <surname>Srinivas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Sun</surname>
          </string-name>
          .
          <article-title>Scalable grounded conjunctive query evaluation over large and expressive knowledge bases</article-title>
          .
          <source>In International Semantic Web Conference</source>
          , pages
          <fpage>403</fpage>
          -
          <lpage>418</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>B.</given-names>
            <surname>Grosof</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Volz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          .
          <article-title>Description logic programs: Combining logic programs with description logic</article-title>
          .
          <source>In Proceedings of WWW2003</source>
          , Budapest, Hungary, May
          <year>2003</year>
          . World Wide Web Consortium.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Pan</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Heflin.</surname>
          </string-name>
          <article-title>LUBM: A benchmark for owl knowledge base systems</article-title>
          .
          <source>Journal of Web Semantics</source>
          ,
          <volume>3</volume>
          (
          <issue>2</issue>
          ):
          <fpage>158</fpage>
          -
          <lpage>182</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>J.</given-names>
            <surname>Heflin</surname>
          </string-name>
          and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Pan</surname>
          </string-name>
          .
          <article-title>A model theoretic semantics for ontology versioning</article-title>
          .
          <source>In Proc. of the 3rd International Semantic Web Conference</source>
          , pages
          <fpage>62</fpage>
          -
          <lpage>76</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. I. Horrocks and
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          .
          <article-title>Reducing OWL entailment to description logics satisfiability</article-title>
          .
          <source>In Proceedings of the Second International Semantic Web Conference</source>
          , pages
          <fpage>17</fpage>
          -
          <lpage>29</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. U. Hustadt,
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <article-title>Reducing SHIQ description logic to disjunctive datalog programs</article-title>
          .
          <source>In Proc. of the 9th International Conference on Knowledge Representation and Reasoning</source>
          , pages
          <fpage>152</fpage>
          -
          <lpage>162</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Kiryakov</surname>
          </string-name>
          .
          <article-title>OWLIM: balancing between scalable repository and light-weight reasoner</article-title>
          .
          <source>In Developer's Track of WWW2006</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>J. Lu</surname>
            , L. Ma, L. Zhang, J.-S. Brunner,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Pan</surname>
            , and
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          .
          <article-title>Sor: a practical system for ontology storage, reasoning and search</article-title>
          .
          <source>In VLDB '07: Proceedings of the 33rd international conference on Very large data bases</source>
          , pages
          <fpage>1402</fpage>
          -
          <lpage>1405</lpage>
          . VLDB Endowment,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>C. Lutz</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Walther</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Wolter</surname>
          </string-name>
          .
          <article-title>Conservative extensions in expressive description logics</article-title>
          .
          <source>In In Proc. of IJCAI-2007</source>
          , pages
          <fpage>453</fpage>
          -
          <lpage>459</lpage>
          . AAAI Press,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. L. Ma,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Qiu</surname>
          </string-name>
          , G. Xie,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Pan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>Towards a complete OWL ontology benchmark</article-title>
          .
          <source>In ESWC</source>
          , pages
          <fpage>125</fpage>
          -
          <lpage>139</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Heflin.</surname>
          </string-name>
          <article-title>Dldb2: A scalable multi-perspective semantic web repository</article-title>
          .
          <source>In Web Intelligence</source>
          , pages
          <fpage>489</fpage>
          -
          <lpage>495</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. G. Terracina,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Panetta</surname>
          </string-name>
          .
          <article-title>Experimenting with recursive queries in database and logic programming systems</article-title>
          .
          <source>Theory Pract. Log. Program.</source>
          ,
          <volume>8</volume>
          (
          <issue>2</issue>
          ):
          <fpage>129</fpage>
          -
          <lpage>165</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theoharis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Christophides</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Karvounarakis</surname>
          </string-name>
          .
          <article-title>Benchmarking database representations of rdf/s stores</article-title>
          .
          <source>In Proc. of the 4th International Semantic Web Conference</source>
          , pages
          <fpage>685</fpage>
          -
          <lpage>701</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>J.</given-names>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>Principles of Database and Knowledge-Base Systems</article-title>
          , volume
          <volume>1</volume>
          . Computer Science Press, Rockville,
          <string-name>
            <surname>MD</surname>
          </string-name>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>T. D. Wang</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Parsia</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Hendler</surname>
          </string-name>
          .
          <article-title>A survey of the web ontology landscape</article-title>
          .
          <source>In Proc. of the 5th Int. Semantic Web Conference (ISWC</source>
          <year>2006</year>
          ), Athens, Georgia,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>