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 probalistic reasoners, including Pei Wang's non-axiomatic reasoning system, Novamente's probabilistic logic network, which tip their hat to reasoning Bayesian networks, and Pronto - probabilistic Description logic reasoner.
Existing semantic reasoners:
- Bossam, an RETE-based rule engine with native supports for reasoning over OWL ontologies, SWRL ontologies, and RuleML rules.
- Hoolet, an implementation of an OWL-DL reasoner. 
- Pellet, an open-source Java OWL DL reasoner. 
- KAON2 is an infrastructure for managing OWL-DL, SWRL, and F-Logic ontologies.
- RACER system, a semantic web reasoning system and information repository
- Jena (framework), an open source semantic web framework for Java.
- FaCT, a description logic (DL) classifier. 
- FaCT++, the new generation of FaCT OWL-DL reasoner. 
- SweetRules, an integrated set of tools for Semantic web rules and ontologies. 
|Supported expressivity for reasoning||?||?||SHOIN(D) and SROIQ(D)||SHIQ(D)||?||?||?||?||?|
|Reasoning algorithm||?||?||(forward chaining & backward chaining)||Novel (backward chaining)||?||?||?||?||?|
|Updating the OWL-Model with inferred knowledge / Serialization of resulting ontology||Yes / Partial||?||?||No / No||?||?||?||?||?|
|Rule Support||Yes (SWRL)||Yes (SWRL)||Yes (SWRL)||Yes (SWRL)||Yes (SWRL)||Yes (Own rule format)||No||No||Yes (SWRL, RuleML, Jess)|
|SWRL Math Built-Ins||Partial||?||No||?||?||No||No||No||?|
|SWRL String Built-Ins||Partial||?||No||Partial||?||No||No||No||?|
|SWRL Comparison Built-Ins||?||?||Yes||?||?||No||No||No||?|
|SWRL Boolean Built-Ins||?||?||No||?||?||No||No||No||?|
|SWRL Date, Time and Duration Built-Ins||?||?||No||?||?||No||No||No||?|
|SWRL URI Built-Ins||?||?||No||?||?||No||No||No||?|
|SWRL Lists Built-Ins||?||?||No||?||?||No||No||No||?|
|SWRL custom Built-Ins||Java||?||Partial (only for DObject)||Java||?||?||?||?||?|
|Version||0.9b45||?||1.5.1||?||1.9.0, Build 20051205||2.5.4||?||1.1.8||2.1|
|Licencing||Free/ closed-source||Free/ open-source||Free/ open-source||Free/ closed-source||Non-Free/ closed-source||Free/ open-source||Free/ closed-source||Free/ open-source||Free/ open-source|
- SPARQL Query Language for RDF
- DIG description logic reasoner interface
- Introduction to Description Logics DL course by Enrico Franconi, Faculty of Computer Science, Free University of Bolzano, Italyes:Web semántica