Semantic reasoner


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 applications

Notable semantic reasoners and related software:

Free to use (closed source)

  • 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.

    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.
  • Drools, a forward-chaining inference-based rules engine which uses an enhanced implementation of the Rete algorithm.
  • , a forward-chaining Java rule engine that uses the Rete algorithm and is compliant with the Java Rule Engine API.
  • , a reasoning engine performing forward- and backward-chaining along Euler paths, supporting the Semantic Web Stack and implementing Notation3.
  • D3web, a platform for knowledge-based 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.
  • , a lightweight and friendly.NET library for realizing intelligent Semantic Web applications.
  • 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.
  • , Defeasible-Inference Platform is a Web Ontology Language reasoner and Protégé desktop plugin for representing and reasoning with defeasible subsumption. It implements a Preferential entailment style of reasoning that reduces to "classical entailment" i.e., without the need to modify the underlying decision procedure.

    Semantic Reasoner for Internet of Things (open-source)

S-LOR is under GNU GPLv3 license.
S-LOR is a rule-based reasoning engine and an approach for sharing and reusing interoperable rules to deduce meaningful knowledge from sensor measurements.