A semantic reasoner is software that infers logical consequences from asserted facts, rules, or axioms. It is commonly used with ontologies and knowledge representation systems to derive implicit relationships, validate consistency, or answer logic-based queries.
(Also reasoning engine, rules engine, or simply reasoner.) 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.