Prolog Based Description Logic Reasoning

In this paper we present the recent developments of the DLog system, an ABox reasoning engine for the the $\mathcal{SHIQ}$ description logic language. DLog differs from traditional description logic reasoners in that it transforms description logic axioms into a Prolog program. The transformation is done independently from the ABox, i.e. the set of assertions about the individuals. This makes it possible to store the ABox assertions in a database, rather than in memory. This approach results in better scalability and helps using description logic ontologies directly on top of existing information sources. The transformation involves several optimisation steps, which aim at producing more efficient Prolog programs. In this paper we focus on the partial evaluation technique we apply to obtain programs that do not use logic variables. This simplifies the implementation, improves performance and opens up the possibility of compiling into Mercury code. In the paper we also present the recent architectural changes in the DLog system, summarise the most important features of the implementation and evaluate the performance of DLog by comparing it to the best available description logic reasoners.

[1]  Mark E. Stickel,et al.  A Prolog Technology Theorem Prover: A New Exposition and Implementation in Prolog , 1990, Theor. Comput. Sci..

[2]  Volker Haarslev,et al.  Optimization Techniques for Retrieving Resources Described in OWL/RDF Documents: First Results , 2004, KR.

[3]  Zsolt Zombori Efficient Two-Phase Data Reasoning for Description Logics , 2008, IFIP AI.

[4]  Boris Motik,et al.  Data Complexity of Reasoning in Very Expressive Description Logics , 2005, IJCAI.

[5]  Ian Horrocks,et al.  Description logic programs: combining logic programs with description logic , 2003, WWW '03.

[6]  Boris Motik,et al.  Reasoning in description logics using resolution and deductive databases , 2006 .

[7]  Boris Motik,et al.  Reasoning for Description Logics aroundSHIQ in a Resolution Framework , 2004 .

[8]  Leo Obrst,et al.  Translating OWL and semantic web rules into prolog: Moving toward description logic programs , 2007, Theory and Practice of Logic Programming.

[9]  Péter Szeredi,et al.  Translating Description Logic Queries to Prolog , 2006, PADL.

[10]  Werner Nutt,et al.  Basic Description Logics , 2003, Description Logic Handbook.

[11]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[12]  Boris Motik,et al.  A Faithful Integration of Description Logics with Logic Programming , 2007, IJCAI.

[13]  Péter Szeredi,et al.  Efficient description logic reasoning in Prolog: The DLog system , 2009, Theory and Practice of Logic Programming.