<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Evaluating DBOWL: A Non-materializing OWL Reasoner based on Relational Database Technology</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Maria</forename><surname>Del Mar Roldan-Garcia</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Jose</forename><forename type="middle">F</forename><surname>Aldana-Montes</surname></persName>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="department">Departamento de Lenguajes y Ciencias de la Computacion Malaga</orgName>
								<orgName type="institution">University of Malaga</orgName>
								<address>
									<postCode>29071</postCode>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="institution">UOBM (University Ontology Benchmark</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Evaluating DBOWL: A Non-materializing OWL Reasoner based on Relational Database Technology</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">54691A60FBF0DE987A2F496B8E19715E</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T02:17+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>DBOWL is a scalable reasoner for OWL ontologies with very large Aboxes (billions of instances). DBOWL supports most of the fragment of OWL covering OWL-DL. DBOWL stores ontologies and classifies instances using relational database technology and combines relational algebra expressions and fixed-point iterations for computing the closure of the ontology, called knowledge base creation. In this paper we describe and evaluate DBOWL. For the evaluation both the standard datasets provided in the context of the ORE 2012 workshop and the</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>With the explosion of Linked Data<ref type="foot" target="#foot_0">1</ref> , some communities are making an effort to develop formal ontologies for annotating their databases and are publishing these databases as RDF triples. Examples of this are biopax<ref type="foot" target="#foot_1">2</ref> in the field of Life Science and LinkedGeoData<ref type="foot" target="#foot_2">3</ref> in the field of Geographic Information Systems. This means that formal ontologies with a large number (billions of) instances are now available. In order to manage these ontologies, current platforms need a scalable, high-performance repository offering both light and heavy-weight reasoning capabilities. The majority of current ontologies are expressed in the well-known Web Ontology Language (OWL) that is based on a family of logical formalisms called Description Logic (DL). Managing large amounts of OWL data, including query answering and reasoning, is a challenging technical prospect, but one which is increasingly needed in numerous real-world application domains from Health Care and Life Sciences to Finance and Government.</p><p>In order to solve these problems, we have developed DBOWL, a scalable reasoner for very large OWL ontologies. DBOWL supports most of the fragment of OWL covering OWL 1 DL. DBOWL stores ontologies and classifies instances using relational database technology. The state-of-the-art algorithm for achieving soundness and completeness in reasoning with expressive DL ontologies is the so-called Tableau procedure. Current Tableau-based implementations such as Pellet, Racer and HermiT show very good behavior in practice, but are completely memory-based and thus cannot cope with ontologies that have a large ABox. Several alternative approaches using disk-oriented implementations have been presented. These proposals can be classified into three categories. <ref type="bibr" target="#b0">(1)</ref> Those which combine a DL main-memory based reasoner with a database, <ref type="bibr" target="#b1">(2)</ref> Those which translate the ontology to Datalog and use a deductive database to evaluate it, and (3) Those which extend the database with reasoning capabilities. Our proposal follows a different approach: The state-of-the-art OWL reasoner Pellet <ref type="foot" target="#foot_3">4</ref> is currently used to classify the ontology Tbox. Information returned by Pellet is stored in a relational database. Class and property instances are also stored in the relational database as relation tuples. An algorithm which combines relational algebra expressions with fixed-point iterations is used to compute the closure of the of the ontology, called knowledge base creation. The use of an OWL reasoner, like Pellet, to classify the Tbox is crucial in our approach. This allows the capture of some Tbox inferences that cannot be obtained by other similar proposals such as those based on disjunctive datalog <ref type="bibr" target="#b0">[1]</ref>.</p><p>This paper presents a description and an evaluation of DBOWL. In order to evaluate DBOWL we use the standard datasets provided in the context of the ORE 2012 workshop<ref type="foot" target="#foot_4">5</ref> and the UOBM (University Ontology Benchmark) <ref type="bibr" target="#b1">[2]</ref>, the extremely well known benchmark for comparing ontology repositories in the Semantic Web. The rest of the paper is organized as follows. Section 2 introduces the theoretical concepts on which DBOWL is based. Section 3 describes the theoretical foundation of DBOWL, presenting the process for computing the ontology closure. Section 4 discusses the advantages and limitations of DBOWL. The evaluation of DBOWL is presented in Section 5. Finally Section 6 concludes the paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Preliminaries</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">The Relational Model</head><p>The relational model was first introduced by Ted Codd of IBM Research in 1970 in a classic paper <ref type="bibr" target="#b3">[3]</ref>. The relational model is characterized by its simplicity and mathematical foundation. The relational model represents the database as a collection of relations.</p><p>A domain D is a set of atomic values. Atomic means that each value in the domain is indivisible as far as the relational model is concerned. A common method of specifying a domain is to specify a data type from which the data values forming the domain are drawn. It is also useful to specify a name for the domain, to help in interpreting its values. A relation schema R, denoted by R(A 1 , A 2 , . . . , A n ) is made up of a relation name R and a list of attributes A 1 , A 2 , . . . , A n . Each attribute A i is the name of a role payed by some domain D in the relation schema R. D is called the domain of A i and is denoted by dom(A i ). The degree (or arity) of a relation is the number of attributes n of its relation schema. A relation (or relation state) r of the relation schema R(A 1 , A 2 , . . . , A n ), also denoted by r(R), is a mathematical relation of degree n on the domains A 1 , A 2 , . . . , A n ), which is a subset of the cartesian product of the domains that define R:</p><formula xml:id="formula_0">r(R) ⊆ (dom(A 1 ) × dom(A 2 ) × . . . × dom(A n )) r(R) is defined more informally as a set of n-tuples r = {t 1 , t 2 , . . . , t m }. Each n-tuple t is an ordered list of n values t =&lt; v 1 , v 2 , . . . , v n &gt;, where each value v i , 1 ≤ i ≤ n, is an element of dom(A i ),</formula><p>or is a special NULL value. NULL is used to represent the values of attributes that may be unknown or may not apply to a tuple. This notation is used in the rest of the paper.</p><p>The terms relation intension for the schema R and relation extension for a relation state r(R) are also commonly used. A relation is defined as a set of tuples. Mathematically elements of a set have no order among them.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">The Relational Algebra</head><p>The basic set of operations for the relational model has an algebraic topology, and is known as the Relational Algebra. Operands in the Relational Algebra are Relations. Relational Algebra is closed with respect to the relational model: Each operation takes one or more relations and returns a relation. Given closure property, operations can be composed.</p><p>Relational Algebra operations enable a user to specify basic retrieval requests. The result of a retrieval is a new relation, which may have been formed from one or more relations. A sequence of relational algebra operations forms a relational algebra expression, the result of which will also be a relation that represents the result of a database query (or retrieval request). Therefore, it is possible to assign a new relation name to a relational algebra expression, in order to simplify its use by other relational algebra expressions. Such relations are called idb (Intensional) relations, unlike the relations in R, which are called edb (Extensional) relations.</p><p>Operations in relational algebra can be divided into two groups: Set operations from mathematical set theory (UNION (∪), INTERSECTION (∩), SET DIFFERENCE (\) and CARTESIAN PRODUCT (×)), and operations developed specifically for relational databases (SELECT (σ), which selects a subset of the tuples from a relation that satisfied a selection condition, PROJECT (π), which selects certain attributes from the relation and discard the other attributes, JOIN (◃▹), which combines related tuples from two relations into single tuples) among others.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">DBOWL Ontologies</head><p>In order to simplify the implementation of the reasoner, some restrictions are imposed on the OWL ontologies supported by DBOWL. Even so, the ontologies supported by DBOWL are expressive enough for real application in the Semantic Web. DBOWL covers all of OWL 1 DL including inverse, transitive and symmetric properties, cardinality restrictions, simple XML schema defined datatypes and instance assertions. Enumerate classes (a.k.a, nominals) are only partially supported.</p><p>Let P and Q be properties, x be an individual and n be a positive number, class descriptions in DBOWL ontologies are formed according to the following syntax rule:</p><formula xml:id="formula_1">C, D → A (N amedClass) | ¬A (complementOf N amedClass) | C ⊓ D (intersectionOf ClassDescriptions) | C ⊔ D (unionOf ClassDescriptions) | ∀P.C (allV aluesF rom) | ∃P.C (someV aluesF rom) | ∃P.{x} (hasV alue) | {x 1 , . . . , x n } (oneOf ) | &gt;= nP (minCardinality) | &lt;= nP (maxCardinality) Tbox Axiom DL syntax SubClassOf A ⊑ B equivalentClasses A ≡ B SubPropertyOf P ⊑ Q equivalentProperty P ≡ Q disjointWith A ⊑ ¬B inverseOf P ≡ Q − transitiveProperty P + ⊑ P symmetricProperty P ≡ P − functionalProperty ⊤ ⊑≤ 1P inverseFunctionalProperty ⊤ ⊑≤ 1P − domain ≥ 1P ⊑ A range ⊤ ⊑ ∀P.A Abox Axiom DL syntax class instance A(x) property instance P (x, y) sameAs x1 ≡ x2 Table 1. DBOWL ontologies axioms</formula><p>Table <ref type="table" target="#tab_1">1</ref> shows the Tbox and Abox axioms for DBOWL ontologies. A and B are used for specifying Named Classes and C and D for specifying Class Descriptions. DBOWL assumes that all individuals are different unless the ontology includes an owl:sameAs assertion or you inferred it. This is important in real applications with a large number of individuals where usually it is easier to specify if two individuals represent the same resource than which individuals are different to others. The following restrictions are imposed on the DBOWL ontologies. These restrictions are related more to the ontology syntax than to the ontology expressivity:</p><p>1. In the Tbox, all OWL constructors are supported. However, class descriptions always appear in the ontology as an equivalence or as a superclass of a Named Class. In an RDF/XML OWL ontology, class descriptions are always involved in the definition of a Named Class. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">DBOWL Theoretical Foundations</head><p>In this section we present the theoretical foundations of our approach to scalable OWL reasoning. Although DBOWL is basically a Description Logic reasoner, it has been designed as an OWL reasoner. This implies that not all the DL inferences are supported. The main objective of DBOWL is to classify instances in Named Classes and Properties. In order to do this, for each Named Class and Property in the ontology, a edb relation R A1 (id), . . . , R An (id), R P1 (subject, object), . . . , R Pm (subject, object) is defined, being n and m the number of Named Classes and Properties in the ontology respectively. These relations contain one tuple for each individual or pair of individual asserted as member of such Named Class or Property.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Classification Function</head><p>In order to classify instances in Names Classes and Properties, we define a classification function F (see table <ref type="table">2</ref>). This function takes as input a DBOWL property axiom, a DBOWL domain or range axiom (see table <ref type="table" target="#tab_1">1</ref>), or an axiom For each Named Class in the ontology, a set of idb relations S Ai 0 (id), . . . , S Ai k (id), i : 1 . . . n are defined. In the same way, for each Property in the ontology a set of idb relations S Pj 0 (subject, object), . . . , S P j l (subject, object), j : 1 . . . m are defined. The values of k and l depend on the number of axioms in the ontology evolving C i and P j respectively.</p><formula xml:id="formula_2">(A ≡ C),</formula><p>Each S Ai x , x : 0 . . . k has the following features (similarly for each S Pj x ):</p><formula xml:id="formula_3">-S Ai x = Q Ai x , where Q Ai x is a relational algebra expression, -S Ai 0 = R Ai , -S Ai (x−1)</formula><p>always occurs in Q ix , for x : 1 . . . k, and if S Aj r or S Pj s occur in Q ix , they represent the last idb relation defined for A j and P j respectively.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Knowledge base Creation</head><p>In order to create the DBOWL knowledge base, function F is evaluate iteratively, defining the corresponding idb relations, until no new tuples are generated, i.e. until a fixed-point is reached. (S Ai x = S Ai (x−1) , i : 1, . . . , n, and S Pj x = S Pj (x−1) , j : 1, . . . , m).</p><p>In order to improve the efficiency of the evaluation, F is expressed as a composition of four functions, i.e. The algorithm proceeds as follows: </p><formula xml:id="formula_4">F = F 1 • F 2 • F 3 • F 4 ,</formula><formula xml:id="formula_5">F(P ⊑ Q) A new idb relation SQ i is defined as π subject,object (SQ (i−1) ) ∪ π subject,object (SP j ).</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>F(P ≡ Q)</head><p>A new idb relation SQ i is defined as π subject,object (SQ </p><formula xml:id="formula_6">(i−1) ) ∪ π subject,object (SP j ). F(P ≡ Q − ) A new</formula><formula xml:id="formula_7">(i−1) ) ◃▹ object=subject (SP (i−1) ))).</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>F(P ≡ P</head><formula xml:id="formula_8">− ) A new idb relation SP i is defined as π subject,object (SP (i−1) ) ∪ π object,subject (SP (i−1) ). F(≥ 1P ⊑ A) A new idb relation SA i is defined as π id ((SA (i−1) )) ∪ π subject ((SP j )).</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>F(⊤ ⊑ ∀P.A)</head><p>A new idb relation SA i is defined as π id (SA</p><formula xml:id="formula_9">(i−1) ) ∪ π object (SP j ).</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>F(A ⊑ B)</head><p>A new idb relation SB i is defined as π id (SB</p><formula xml:id="formula_10">(i−1) ) ∪ π id (Aj).</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>F(A ≡ B)</head><p>A new idb relation SB i is defined as π id (SB </p><formula xml:id="formula_11">(i−1) ) ∪ π id (Aj). F(A ≡ C ⊓ D) A new idb relation SA i is defined as π id (SA (i−1) ) ∪ (π id (F (B ≡ C)) ∩ π id (F (B ≡ D))). F(A ⊑ C ⊓ D) F(A ≡ C), F(A ≡ D) F(A ≡ C ⊔ D) A new idb relation SA i is defined as π id (SA (i−1) ) ∪ π id (F(B ≡ C)) ∪ π id (F(B ≡ D)). F(A ≡ B ⊔ C) If I ≡ ¬B, a new idb relation SX is defined as π id (SA i ) ∩ π id (SI j ), F(X ≡ C) F(A ⊑ ∀P.C) A new idb relation SX is defined as π object (SA i ◃▹ id=subject SP j ). F(X ≡ C) F(A ≡ ∃P.C) A new idb relation SA i is defined as π id (SA (i−1) ) ∪ π id (F(X ≡ C)) ◃▹ id=object SP j ). F(A ⊑ ∃P.C) If P is a functional property, a new idb relation SX is defined as π subject (SA i ◃▹ id=subject SP j ). F(X ≡ C) F(A ≡ ¬B) If B ≡ ¬I, a new idb relation SA i is defined as π id (SA (i−1) ) ∪ π id (SI j ) F(A ≡ ¬B) If I ≡ B ⊔ C), a new idb relation SX is defined as π id (SA i ) ∩ π id (SI j ), F (X ≡ C) F(A ≡ ¬B) If I ≡ ¬A, a new idb relation SB i is defined as π id (SB (i−1) ) ∪ π id (SI j ) F(A ≡ {v1, . . . ,</formula><formula xml:id="formula_12">(i−1) ) ∪ π id (T ).</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>F(A ≡ ∃P.{v})</head><formula xml:id="formula_13">A new idb relation SA i is defined as π id (SA (i−1) ) ∪ π subject (σ object=v (SP j )).</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>F(A ≡ ∃P.{v})</head><p>A new idb relation SP j is defined as π subject,object (SP</p><formula xml:id="formula_14">(j−1) ) ∪ π id,v (π id (SA j )).</formula><p>Table <ref type="table">2</ref>. DBOWL Classification Function</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">DBOWL Advantages and Limitations</head><p>DBOWL is implemented using Oracle 10g as Relational Database Management Systems. edb relations are tables in the database while idb relations are SQL views. A view in SQL terminology is a single table that is derived from other tables <ref type="bibr" target="#b4">[4]</ref>. A view does not necessarily exists in physical form; it is considered a virtual table (non-materialized). The query defining the view is evaluated when needed. Then, once the knowledge base is created, for each Named Class and Property in the ontology there is a SQL view which defines the set of tuples (asserted and inferred) belonging to such Named Class or Property.</p><p>In order to query the knowledge base, SPARQL queries are re-written in terms of the SQL views and evaluated on the database. The names of the Named Classes and Properties involved in the query are changed by the corresponding SQL view name. Note that the queries defining the views are evaluated when the SPARQL query is evaluated. Thus, the inferred instances are not materialized in the database. Only some intermediate results are physically stored in the database, like the results of the transitive function. This non-materialized approach allows us to deal with billions of instances without the need of very large storage repositories. However, the main advantage of this approach is regarding updates. The non-materialization of the inferred instances permits the support of low-cost updates, as well as the possibility of implementing incremental reasoning algorithms.</p><p>Another important feature of DBOWL is the management of the owl:sameAs statement. At the end of each loop of the algorithm for the knowledge base creation, those individuals related by the owl:sameAs statement are included in the SQL views. DBOWL obtains the individuals related by the owl:sameAs statement as: (1) Those individuals explicitly asserted as (x sameAs y); (2) By means of functional and inverse functional properties; (3) By means of the maxCardinality to 1 restriction.</p><p>DBOWL is complete with respect to the DBOWL knowledge base and the implemented functions, classifying all instances in Named Classes and Properties correctly. However, it presents some limitations:</p><p>As DBOWL separates Tbox and Abox reasoning, some inferences with nominals are lost. Fortunately, this information is not relevant for DBOWL because the objective of DBOWL is to classify instances in Named Classes and these inferences do not generate additional information for classification of instances.</p><p>DBOWL presents a problem regarding the open-world semantics of a DL Abox, which implies that an Abox has several models. The problem of exploring all the possible models in DBOWL is not trivial, even so, as DBOWL supports a large number of instances, it is logical to think that it could be very inefficient. Nevertheless, we plan to study how to provide a (partial) solution to this problem in the future.</p><p>Currently updates are not efficiently supported in DBOWL. Finally, consistency checking of the knowledge base is not completely supported. Currently only the inconsistency caused by the classification of the same instance into (or the assertion of the same instance as member of) two disjoint </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">DBOWL Evaluation</head><p>In order to demonstrate practically the completeness of DBOWL we use the UOBM (University Ontology Benchmark) <ref type="bibr" target="#b1">[2]</ref>, a well known benchmark to compare repositories in the Semantic Web. This benchmark is intended to evaluate the performance of OWL repositories with respect to extensional queries over a large data set that commits to a single realistic ontology. Furthermore, the benchmark evaluates the system completeness and soundness with respect to the queries defined. This benchmark provides three OWL-DL ontologies, i.e. a 20, 100 and 200 Megabytes ontologies and the query results for each one. This experiment is conducted on a VMWARE virtual machine (one for each tool) with 8192 MB memory, running on a Windows XP 64 bits professional and java runtime environment build 1.6.0 14 − b08.</p><p>We evaluated the UOBM-DL queries for the 20, 100 and 200 Megabytes ontologies in DBOWL and obtained the correct results for all queries. Figure <ref type="figure" target="#fig_2">1</ref> presents the results for each ontology and for each query. As we can see, some DBOWL results are marked in a different color. This is because DBOWL and UOBM return different results for queries 11, 13 and 15. We checked the UOBM results for these queries and we believe that they are incorrect. For query 11 DBOWL returns more results than UOBM. In the case of queries 11 and 15, it is because several owl:sameAs relationships between some UOBM individuals can be inferred. Therefore, these individuals should be in the result. In the case of query 13, it is because the UOBM result includes instances of all departments, but query 13 asks only for instances in department0. Figure <ref type="figure" target="#fig_3">2</ref> presents the response times for the UOBM-DL 200 Megabytes ontology.</p><p>We have also evaluated DBOWL using the standard datasets provided in the context of the ORE 2012 workshop. These datasets include a set of state of the art ontologies in OWL 2 language, both in RDF/XML and Functional syntax. and they are organised by reasoning services, i.e. Classification, Class satisfiability, Ontology satisfiability, Logical entailment and non entailment and Instance retrieval. DBOWL uses Pellet in order to classify the ontology Tbox and to check the class satisfiability. Therefore, datasets corresponding to these reasoning services are not included in our evaluation. As the main objective of DBOWL is to classify instances in Named Classes and Properties, we evaluate DBOWL using the Instance Retrieval test cases. Some of the ontologies in these datasets present unsatisfiable classes. We use these ontologies to test the behavior of DBOWL in such cases. However, the total time taken to load and test the satisfiability of one ontology and the satisfiability result is reported by Pellet. DBOWL only stores in the database the classes that Pellet returns as unsatisfiable. When DBOWL classifies an instance in a unsatisfiable class, it returns that the ontology is inconsistent, via a simple SQL query to the relational database. Thus, the performance of the ontology classification reasoning service falls on Pellet. Finally, as DBOWL is an OWL-DL reasoner, we use the OWL-DL Instance Retrieval test case for the evaluation. This experiment has been carried out in two phases. In the first step, we loaded the nine ontologies in DBOWL. Most of the ontologies could not be loaded due to different problems: (1) Some ontologies are not valid DBOWL ontologies (see section 2.3). Information 397.owl, minswap.owl, and people.owl define complex property's domains or range (different from named Classes). Information 397.owl and people2.owl contain complex Abox assertions (different from Named Classes assertions). Finally, obi.owl cannot be classified by Pellet because of memory problems. (2) DBOWL presented some problems dealing with unsatisfiable classes, because the storage and management of the class Nothing was not completely implemented. (3) DBOWL presented some problems regarding the management of the namespaces. In the second step, we solved the aforementioned problems and we loaded eight of the nine ontologies in DBOWL (obi.owl could not be loaded because it presented a problem with Pellet) and we obtained the corrected result for all of them. We followed the guidelines outlined in Section 2.3 in order to convert the ontologies into DBOWL ontologies. Figure <ref type="figure" target="#fig_4">3</ref> summarizes the results of the evaluation. Load time includes Tbox classification (Pellet), database creation, ontology storage and knowledge base creation (instances classification).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusions</head><p>From the evaluation we extract some general conclusions. To the best of our knowledge, DBOWL is the only OWL reasoner able to deal with the three UOBM-DL ontologies obtaining the correct results for all queries in all cases. Furthermore, this allows us to check the UOBM results for queries 11, 13 and 15 and to conclude that they are incorrect. Finally, DBOWL response times are very good the highest one being 0.328 seconds for the UOBM 200MB ontology. The results obtained with both evaluations suggest that DBOWL is a real complement to current OWL reasoners. Currently, DBOWL supports ontologies with much bigger Aboxes than traditional systems based on description logic and satisfiability. This is especially important for some applications such as life sciences, where particularly large ontologies are used. The datasets provided in the context of the ORE 2012 workshops have allowed us to improve DBOWL in several ways. Thus, the latest version of DBOWL is able to deal with all types of namespaces, to control when a class is non-satisfiable and to check the ontology consistency in such a case. Furthermore, we empirically test that the restrictions imposed on the DBOWL ontologies are not a problem for developing real ontologies, because any ontology can be converted to a DBOWL ontology, keeping the ontology expressivity. With respect to instance retrieval, DBOWL is able to obtain the same results as the expected result provided by the OWL-DL Instance Retrieval dataset, suggesting that the DBOWL classification functions and the algorithm for creating the knowledge base work well.</p><p>The use of a relational database to store the ontologies implies that the time for loading an ontology in DBOWL can be longer than the load time in mainmemory reasoners. The advantage of our approach is that, once the knowledge base is created, the query time is really small. Furthermore, as the knowledge base is persistent, you can query it at any moment without creating it again. Although other approaches also provide solutions for instance retrieval, they present some problems regarding reasoning expressivity or response query times. SHER<ref type="foot" target="#foot_5">6</ref> , is a platform developed by IBM which supports sound and complete reasoning for the fragment of OWL 1 DL without nominals. SHER adopts a modularisation-based approach in which the ontology breaks into small parts and is reasoned with a DL reasoner in the main memory. After the reasoning procedure is finished, the corresponding axioms are stored in the database. Reasoning with instances is performed at query time. Oracle 11g<ref type="foot" target="#foot_6">7</ref> is the laster version of the extremely well known RDMS Oracle. Oracle 11g includes a native inference engine able to handle a subset of OWL called OWLPrime which covers part of OWL Lite and a little part of OWL 1 DL. It also supports querying of RDF/OWL data using SPARQL-like graph patterns embedded in SQL.</p><p>As for future work, we are studying some optimisation techniques (such as database indexes, parallel computation and incremental reasoning) in order to improve the response times of the queries. We also are studying the possibility of incorporating other OWL reasoners different from Pellet, in DBOWL. The idea is to select the most convenient OWL reasoner depending on the ontology expressivity and size.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>where C is a DBOWL class description and A is a Named Class in the ontology or an auxiliary name. The function define a new idb relation by means of a relational algebra expression, depending on the input type, or invoke the function with a new input.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>where, -F 1 takes as input only axioms such as P ⊑ Q, P ≡ Q, P ≡ Q − , P + ⊑ P , P ≡ P − -F 2 takes as input only axioms such as ≥ 1P ⊑ A, ⊤ ⊑ ∀P.A -F 3 takes as input only axioms such as A ⊑ B, A ≡ B, A ≡ C ⊓D, A ≡ C ⊔D, A ⊑ ∀P.C, A ≡ ∃P.C, A ≡ ¬B, A ≡ {v 1 , . . . , v n }, A ≡ ∃P.{v} -F 4 takes as input only axioms such as A ≡ ∃P.{v}</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Number of instances for each UOBM query</figDesc><graphic coords="9,181.77,116.21,251.84,143.35" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Response times for UOBM-DL 200M ontology</figDesc><graphic coords="10,181.71,115.99,251.80,153.08" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Results for OWL-DL Instance Retrieval dataset</figDesc><graphic coords="11,136.77,115.94,341.41,164.91" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>2. In the Abox, only assertions of Named Classes and Property Names are supported. 3. Only negation of Named Classes is allowed. Nevertheless, a negation of a class description could be included in the ontology defining a Named Class as equivalent to a Class Description and negating this Named Class. 4. Properties' domain and range must be Named Classes. In the same way, for asserting a complex property's domain or range we must define a Named Class as equivalent to a Class Description and use this Named Class as Property domain or range. 5. Only disjointness of Named Classes is allowed. As in the previous cases, a disjointness of a class description could be included in the ontology defining a Named Class as equivalent to a Class Description and disjoining this Named Class.</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>1 .</head><label>1</label><figDesc>F 1 is evaluated iteratively, defining the corresponding idb relations, until no new tuples are generated, i.e. until a fixed-point is reached. (S Pj x = S Pj (x−1) , j : 1, . . . , m). 2. F 2 is evaluated defining the corresponding idb relations (S Ai x , i : 1, . . . , n). 3. F 3 is evaluated iteratively defining the corresponding idb relations, until no new tuples are generated, i.e. until a fixed-point is reached. (S Ai (x+1) = S Ai x , i : 1, . . . , n). 4. F 4 is evaluated defining the corresponding idb relations (S Pj (x+1) , j : 1, . . . , m). 5. Steps from 1 to 4 are repeated until no new tuples are generated by step 4, i.e. until a fixed-point is reached (S Pj (x+1) = S Pj x , j : 1, . . . , m).</figDesc><table /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">http://linkeddata.org/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">http://www.biopax.org/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">http://linkedgeodata.org/About</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">http://clarkparsia.com/pellet</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4">http://www.cs.ox.ac.uk/isg/conferences/ORE2012/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_5">http://domino.research.ibm.com/comm/research projects.nsf/pages/iaa.index.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_6">http://www.oracle.com</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Acknowledgements</head><p>This work is supported by the Project Grant TIN2011-25840 (Spanish Ministry of Education and Science) and P11-TIC-7529 (Innovation, Science and Enterprise Ministry of the regional government of the Junta de Andalucía).</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Reasoning in Description Logics by a Reduction to Disjunctive Datalog</title>
		<author>
			<persName><forename type="first">Ullrich</forename><surname>Hustadt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Boris</forename><surname>Motik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ulrike</forename><surname>Sattler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Automated Reasoning</title>
		<imprint>
			<biblScope unit="volume">39</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="351" to="384" />
			<date type="published" when="2007-10">October 2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title/>
		<author>
			<persName><forename type="first">L;</forename><surname>Ma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Yang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Qiu</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Towards A Complete OWL Ontology Benchmark</title>
		<author>
			<persName><forename type="first">G</forename><surname>Xie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>; Pan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 3rd European Semantic Web Conference</title>
				<meeting>of the 3rd European Semantic Web Conference<address><addrLine>ESWC</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A relational Model for Large Shared Data Banks</title>
		<author>
			<persName><forename type="first">E</forename><surname>Codd</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">CACM</title>
		<imprint>
			<biblScope unit="volume">13</biblScope>
			<biblScope unit="issue">6</biblScope>
			<date type="published" when="1970-06">june 1970</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Foundations of Databases</title>
		<author>
			<persName><forename type="first">S</forename><surname>Abiteboul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Hull</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Vianu</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1995">1995</date>
			<publisher>Addison-Wesley Publishing Company</publisher>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
