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.
One of the key issues for the uptake of the Semantic Web idea is the availability of reasoning techniques that are usable on a large scale and that offer rich modelling capabilities by providing comprehensive coverage of the OWL language. In this paper we present a scalable extension of our ABox reasoning framework called DLog. DLog performs query-driven execution whereby the terminological part of the description logic knowledge base is converted into a Logic Program and the assertional facts are accessed dynamically from a database. The problem of instance retrieval is reduced to a series of instance checks over a set of individuals containing all solutions for the query. Such a superset is calculated by using static-code analysis on the generated program. We identify two kinds of parallelism within DLog execution: (1) the instances in the superset can be independently checked in parallel and (2) a specific instance check can be executed in parallel by specialising well-established techniques from Logic Programming. Moreover, for efficiency reasons, we propose to use a specialised abstract machine rather than relying on the more generic WAM execution model. We describe the architecture of a distributed framework in which the above mentioned techniques are integrated. We compare our results to existing approaches.
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.