Pellet: A Practical OWL-DL Reasoner

Evren Sirin, Bijan Parsia, Bernardo Cuenca Grau, Aditya Kalyanpur, Yarden Katz
2007 Social Science Research Network  
In this paper, we present Pellet: a complete and capable OWL-DL reasoner with acceptable to very good performance, extensive middleware, and a number of unique features. Pellet is written in Java and is open source under a very liberal license. It is used in a number of projects, from pure research to industrial settings. Pellet is the first sound and complete OWL-DL reasoner with extensive support for reasoning with individuals (including nominal support and conjunctive query), user-defined
more » ... atypes, and debugging support for ontologies. It implements several extensions to OWL-DL including a combination formalism for OWL-DL ontologies, a non-monotonic operator, and preliminary support for OWL/Rule hybrid reasoning. It has proven to be a reliable tool for working with OWL-DL ontologies and experimenting with OWL extensions. In this paper we describe Pellet's features, architecture and special capabilities, along with an empirical comparison of its performance against other leading OWL-DL reasoners. to a SHOIN (D) knowledge base. When OWL went to "Candidate Recommendation", there was concern within the working group that implementing a standard tableau based reasoner for OWL-DL would be too difficult for people not already experts in Description Logics or theorem proving. We began work on the OWL-DL reasoner, Pellet, to lay these concerns to rest. In a matter of months, we had a reasoner that passed a substantial number of the OWL test cases and even useful for reasoning with small, relatively simple ontologies. Over the next two years, Pellet has undergone continuous, if part time, development. Pellet was perhaps, as a very generous guess-estimate, 1.5 person years of effort by people who had no prior experience with Description Logics and little prior experience with theorem proving (especially not with tableau-based methods). This is not an unreasonable amount of effort for a production quality tool for a Recommendation of this complexity. 1 Pellet is now a complete and capable OWL-DL reasoner with acceptable to very good performance, extensive middleware, and a number of unique features. It is written in Java and is open source under a very liberal license. It is used in a number of projects, from pure research to industrial settings. In this paper, we describe Pellet's features, architecture, and special capabilities, along with an empirical comparison of its performance against other leading OWL-DL reasoners. Pellet is the first implementation of the full decision procedure for OWL-DL (including instances) and has extensive support for reasoning with individuals (including conjunctive query over assertions), user-defined datatypes, and debugging ontologies. It implements several extensions to OWL-DL including a combination formalism for OWL-DL ontologies, a non-monotonic operator, and preliminary support for OWL/Rule hybrid reasoning. It has proven to be a reliable tool for working with OWL-DL ontologies and experimenting with OWL extensions. The rest of the paper is organized as follows: In Section 2, we discuss the basic services that can and should be provided by an OWL-DL reasoning component, followed, in Section 3, by a description of the architecture of Pellet. Sections 4 and 5 present, respectively, Pellet's support for ontology analysis and repair (especially, debugging) and Pellet's support for key extensions to the OWL-DL language. Section 6 covers the new optimizations introduced in Pellet, while Section 7 compares Pellet's performance with RacerPro and FaCT++. Pellet as an OWL-DL Reasoner The OWL Web Ontology Test Cases W3C Recommendation [1] defines two sorts of OWL "document checkers": OWL syntax checkers and OWL consistency checkers. It also defines four conformance classes of consistency checkers, OWL Lite/DL/Full
doi:10.2139/ssrn.3199351 fatcat:xmjjuwarpnh6pmntazbg3c5lza