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 logic 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 non-axiomatic reasoning systems, and probabilistic logic networks. Notable semantic reasoners and related software: Cyc inference engine, a forward and backward chaining inference engine with numerous specialized modules for high-order logic. KAON2 is an infrastructure for managing OWL-DL, SWRL, and F-Logic ontologies. 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. Drools, a forward-chaining inference-based rules engine which uses an enhanced implementation of the Rete algorithm. Evrete, a forward-chaining Java rule engine that uses the Rete algorithm and is compliant with the Java Rule Engine API (JSR 94). D3web, a platform for knowledge-based systems (expert systems). Flora-2, an object-oriented, rule-based knowledge-representation and reasoning system. Jena, an open-source semantic-web framework for Java which includes a number of different semantic-reasoning modules. NRules a forward-chaining inference-based rules engine implemented in C# which uses an enhanced implementation of the Rete algorithm Prova, a semantic-web rule engine which supports data integration via SPARQL queries and type systems (RDFS, OWL ontologies as type system). DIP, Defeasible-Inference Platform (DIP) is an Web Ontology Language reasoner and Protégé desktop plugin for representing and reasoning with defeasible subsumption.
Stefano Spaccapietra, Christine Parent