A semantic reasoner, reasoning engine, rules engine, or simply a reasoner, is a piece of software able to infer logical consequences from a set of asserted facts or axioms. The notion of a semantic reasoner generalizes that of an inference engine, by providing a richer set of mechanisms to work with. The inference rules are commonly specified by means of an ontology language, and often a description language. Many reasoners use first-order predicate logic to perform reasoning; inference commonly proceeds by forward chaining and backward chaining. There are also examples of probabilistic reasoners, including Pei Wang's non-axiomatic reasoning system, and probabilistic logic networks.
List of semantic reasoners
Existing semantic reasoners and related software:
- Bossam (software), an RETE-based rule engine with native supports for reasoning over OWL ontologies, SWRL rules, and RuleML rules.
- Ergo from Coherent Knowledge Systems, a Rulelog rule engine
Free to use (Closed Source)
- Cyc inference engine, a forward and backward chaining inference engine with numerous specialized modules for high-order logic. ( ResearchCyc) ( OpenCyc)
- KAON2 is an infrastructure for managing OWL-DL, SWRL, and F-Logic ontologies.
- Internet Business Logic (software)—A reasoner designed for end-user app authors. Automatically generates and runs complex networked SQL queries. Explains the results in English at the end-user level.
Free software (open source)
- Cwm, a forward-chaining reasoner used for querying, checking, transforming and filtering information. Its core language is RDF, extended to include rules, and it uses RDF/XML or N3 serializations as required. (CWM, W3C software license)
- Drools, a forward-chaining inference-based rules engine which uses an enhanced implementation of the Rete algorithm. (Drools, Apache license 2.0)
- Flora-2, an object-oriented, rule-based knowledge-representation and reasoning system. (Flora-2, Apache 2.0)
- Jena (framework), an open-source semantic-web framework for Java which includes a number of different semantic-reasoning modules. (Apache Jena, Apache License 2.0)
- Prova, a semantic-web rule engine which supports data integration via SPARQL queries and type systems (RDFS, OWL ontologies as type system). (Prova, GNU GPL v2, commercial option available)
- dot15926 Editor—Ontology management framework initially designed for engineering ontology standard ISO 15926. Allows Python rule scripting and pattern-based data analysis. Supports extensions.
- Apache Marmotta includes a rule-based reasoner in its KiWi triple store.
- Wang, Pei. "Grounded on Experience Semantics for intelligence, Tech report 96". http://www.cogsci.indiana.edu/. CRCC. Retrieved 13 April 2015.
- Goertzel, Ben; Iklé, Matthew; Goertzel, Izabela Freire; Heljakka, Ari (2008). Probabilistic Logic Networks: A Comprehensive Framework for Uncertain Inference. Springer Science & Business Media. p. 42. ISBN 9780387768724.
- OWL 2 Reasoners listed on W3C OWL Working Group homepage
- SPARQL Query Language for RDF
- Introduction to Description Logics DL course by Enrico Franconi, Faculty of Computer Science, Free University of Bolzano, Italy
- Inference using OWL 2.0 Semantics by Craig Trim (IBM).
- Marko Luther, Thorsten Liebig, Sebastian Böhm, Olaf Noppens: Who the Heck Is the Father of Bob?. ESWC 2009: 66-80
- Jurgen Bock, Peter Haase, Qiu Ji, Raphael Volz. Benchmarking OWL Reasoners. In ARea2008 - Workshop on Advancing Reasoning on the Web: Scalability and Commonsense (June 2008)
- Tom Gardiner, Ian Horrocks, Dmitry Tsarkov. Automated Benchmarking of Description Logic Reasoners. Description Logics Workshop 2006
- OpenRuleBench Senlin Liang, Paul Fodor, Hui Wan, Michael Kifer. OpenRuleBench: An Analysis of the Performance of Rule Engines. 2009. Latest benchmarks at OpenRuleBench website.