A semantic reasoner, reasoning engine, rules engine, or simply a reasoner, is a piece of software able to infer
logical consequence
Logical consequence (also entailment or logical implication) is a fundamental concept in logic which describes the relationship between statement (logic), statements that hold true when one statement logically ''follows from'' one or more stat ...
s from a set of asserted facts or
axioms
An axiom, postulate, or assumption is a statement that is taken to be true, to serve as a premise or starting point for further reasoning and arguments. The word comes from the Ancient Greek word (), meaning 'that which is thought worthy or f ...
. 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
Description logics (DL) are a family of formal knowledge representation languages. Many DLs are more expressive than propositional logic but less expressive than first-order logic. In contrast to the latter, the core reasoning problems for DLs are ...
language. Many reasoners use
first-order predicate logic to perform reasoning;
inference
Inferences are steps in logical reasoning, moving from premises to logical consequences; etymologically, the word '' infer'' means to "carry forward". Inference is theoretically traditionally divided into deduction and induction, a distinct ...
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
Cyc (pronounced ) is a long-term artificial intelligence (AI) project that aims to assemble a comprehensive ontology and knowledge base that spans the basic concepts and rules about how the world works. Hoping to capture common sense knowledge ...
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 F-logic (Frame logic) is a knowledge representation and ontology language. It combines the advantages of conceptual modeling with Object-oriented programming, object-oriented, Frame (artificial intelligence), frame-based languages, and offers a Decl ...
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
Drools is a business rule management system (BRMS) with a forward and backward chaining inference-based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm.
Drools support ...
, 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
A knowledge-based system (KBS) is a computer program that reasons and uses a knowledge base to solve complex problems. Knowledge-based systems were the focus of early artificial intelligence researchers in the 1980s. The term can refer to a b ...
(
expert systems
In artificial intelligence (AI), an expert system is a computer system emulating the decision-making ability of a human expert.
Expert systems are designed to solve complex problems by Automated reasoning system, reasoning through bodies of knowl ...
).
*
Flora-2 Flora-2 is an open source semantic rule-based system for knowledge representation and reasoning.
The language of the system is derived from F-logic, HiLog,
W. Chen, M. Kifer and D.S. Warren (1993)''HiLog: A Foundation for Higher-Order Logic Program ...
, an object-oriented, rule-based knowledge-representation and reasoning system.
*
Jena
Jena (; ) is a List of cities and towns in Germany, city in Germany and the second largest city in Thuringia. Together with the nearby cities of Erfurt and Weimar, it forms the central metropolitan area of Thuringia with approximately 500,000 in ...
, an open-source semantic-web framework for Java which includes a number of different semantic-reasoning modules.
OWLSharp a lightweight and friendly .NET library for realizing intelligent Semantic Web applications.
NRulesa forward-chaining inference-based rules engine implemented in
C# which uses an enhanced implementation of the
Rete algorithm
*
Prova
{{other uses
Prova is an open source programming language that combines Prolog with Java.
Description
Prova is a rule-based scripting system that is used for middleware. The language combines imperative and declarative programming by using a p ...
, 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
The Web Ontology Language (OWL) is a family of Knowledge representation and reasoning, knowledge representation languages for authoring Ontology (information science), ontologies. Ontologies are a formal way to describe Taxonomy, taxonomies and ...
reasoner and
Protégé
Mentorship is the patronage, influence, guidance, or direction given by a mentor. A mentor is someone who teaches or gives help and advice to a less experienced and often younger person. In an organizational setting, a mentor influences the perso ...
desktop plugin for representing and reasoning with defeasible subsumption.
[Britz, K. and Varzinczak, I., (2018). Rationality and context in defeasible subsumption. In International Symposium on Foundations of Information and Knowledge Systems (pp. 114-132). Springer, Cham.] It implements a
Preferential entailment Preferential entailment is a non-monotonic logic based on selecting only models that are considered the most plausible. The plausibility of models is expressed by an ordering among models called a preference relation, hence the name preference enta ...
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 (Sensor-based Linked Open Rules) semantic reasonerS-LOR is under GNU GPLv3 license.
S-LOR (Sensor-based Linked Open Rules) is a rule-based reasoning engine and an approach for sharing and reusing interoperable rules to deduce meaningful knowledge from sensor measurements.
See also
*
Business rules engine
A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation ("An employee can be fired for any reason or no reason but not for an illegal r ...
*
Doxastic logic
Doxastic logic is a type of logic concerned with reasoning about beliefs.
The term ' derives from the Ancient Greek (''doxa'', "opinion, belief"), from which the English term ''doxa'' ("popular opinion or belief") is also borrowed. Typically, a ...
*
Expert systems
In artificial intelligence (AI), an expert system is a computer system emulating the decision-making ability of a human expert.
Expert systems are designed to solve complex problems by Automated reasoning system, reasoning through bodies of knowl ...
*
Logic programming
Logic programming is a programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical form, representing knowledge about some problem domain. Computation is performed by applyin ...
*
Method of analytic tableaux
In proof theory, the semantic tableau (; plural: tableaux), also called an analytic tableau, truth tree, or simply tree, is a decision procedure for sentential logic, sentential and related logics, and a proof procedure for formulae of first-order ...
*
Solver
A solver is a piece of mathematical software, possibly in the form of a stand-alone computer program or as a Library (computing), software library, that 'solves' a mathematical problem. A solver takes problem descriptions in some sort of generic ...
References
External links
OWL 2 Reasoners listed on W3C SW Working Group homepageSPARQL Query Language for RDF* 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 ReasonersMirror available 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
{{Semantic Web
Knowledge representation
Knowledge engineering
Ontology (information science)
Semantic Web
Automated reasoning