Traditional algorithms for description logic (DL) instance retrieval are inefficient for large amounts of underlying data. As description logic is becoming more and more popular in areas such as the Semantic Web and information integration, it is very important to have systems which can reason efficiently over large data sets.In this paper we present an approach to transform description logic axioms, formalised in the SHIQ DL language, into a Prolog program under the Unique Name Assumption. This transformation is performed with no knowledge about particular individuals: they are accessed dynamically during the normal Prolog execution of the generated program. This technique, together with the top-down Prolog execution, implies that only those pieces of data are accessed which are indeed important for answering the query. This makes it possible to store the individuals in a database instead of memory, which results in better scalability and helps using description logic ontologies directly on top of existing information sources.The transformation process consists of two steps: (1) the DL axioms are converted to first-order clauses of a restricted form, (2) a Prolog program is generated from these clauses.Step (2), which is the focus of the present paper, actually works on more general clauses than those obtainable by applying step (1) to a SHIQ knowledge base.We first present a base transformation, the output of which can either be executed using a simple interpreter, or further extended to executable Prolog code. We then discuss several optimisation techniques, applicable to the output of the base transformation. Some of these techniques are specific to our approach, while others are general enough to be interesting for description logic reasoner implementors not using Prolog.We give an overview of DLog, a DL reasoner in Prolog, which is an implementation of the techniques outlined above. We evaluate the performance of DLog and compare it to some widely used description logic reasoners, such as RacerPro, Pellet, and KAON2.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.