Semantic reasoner: Difference between revisions
Added Cyc to list |
|||
Line 19: | Line 19: | ||
* [[BaseVISor]], a versatile [[forward chaining]] inference engine specialized to handle facts in the form of RDF triples with support for OWL 2 RL and XML Schema Datatypes ([http://vistology.com/basevisor/basevisor.html BaseVISor]). |
* [[BaseVISor]], a versatile [[forward chaining]] inference engine specialized to handle facts in the form of RDF triples with support for OWL 2 RL and XML Schema Datatypes ([http://vistology.com/basevisor/basevisor.html BaseVISor]). |
||
* [[Cwm (software)|Cwm]], a forward-chaining reasoner which can be 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. ([http://www.w3.org/2000/10/swap/doc/cwm.html CWM]) |
* [[Cwm (software)|Cwm]], a forward-chaining reasoner which can be 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. ([http://www.w3.org/2000/10/swap/doc/cwm.html CWM]) |
||
* [[Cyc]] inference engine, a forward and backward chaining inference engine with numerous specialized modules for high-order logic. ([http://research.cyc.com/] ResearchCyc) ([http://ppencyc.org/] OpenCyc) |
|||
* [[Drools]], a forward chaining inference based rules engine that uses an enhanced implementation of the [[Rete algorithm]]. |
* [[Drools]], a forward chaining inference based rules engine that uses an enhanced implementation of the [[Rete algorithm]]. |
||
* [[Euler (inference engine)|Euler (EYE)]], a [[Rule Interchange Format|RIF]]-compatible backward-chaining N3 reasoner enhanced with [[Euler path]] detection. ([http://eulersharp.sourceforge.net/ Euler Proof Mechanism]) |
* [[Euler (inference engine)|Euler (EYE)]], a [[Rule Interchange Format|RIF]]-compatible backward-chaining N3 reasoner enhanced with [[Euler path]] detection. ([http://eulersharp.sourceforge.net/ Euler Proof Mechanism]) |
||
Line 39: | Line 40: | ||
! '''BaseVISor''' |
! '''BaseVISor''' |
||
! '''Bossam''' |
! '''Bossam''' |
||
! '''Cyc''' |
|||
! '''Hoolet''' |
! '''Hoolet''' |
||
! '''Pellet''' |
! '''Pellet''' |
||
Line 54: | Line 56: | ||
| style="background: #fdd" | No |
| style="background: #fdd" | No |
||
| style="background: #ddd" | Unknown |
| style="background: #ddd" | Unknown |
||
| style="background: #dfd" | Yes |
|||
| style="background: #dfd" | Yes |
| style="background: #dfd" | Yes |
||
| style="background: #dfd" | Yes |
| style="background: #dfd" | Yes |
||
Line 69: | Line 72: | ||
| style="background: #ffd" | R-entailment, OWL 2 RL |
| style="background: #ffd" | R-entailment, OWL 2 RL |
||
| style="background: #ddd" | Unknown |
| style="background: #ddd" | Unknown |
||
| style="background: #dfd" | High-order |
|||
| style="background: #ddd" | Unknown |
| style="background: #ddd" | Unknown |
||
| style="background: #ffd" | SROIQ(D) |
| style="background: #ffd" | SROIQ(D) |
||
Line 84: | Line 88: | ||
| style="background: #ffd" | Rule-based, Rete |
| style="background: #ffd" | Rule-based, Rete |
||
| style="background: #ffd" | Rule-based |
| style="background: #ffd" | Rule-based |
||
| style="background: #dfd" | First-order with high-order extensions |
|||
| style="background: #ffd" | First-order prover |
| style="background: #ffd" | First-order prover |
||
| style="background: #ffd" | Tableau |
| style="background: #ffd" | Tableau |
||
Line 99: | Line 104: | ||
| style="background: #dfd" | Yes |
| style="background: #dfd" | Yes |
||
| style="background: #ddd" | Unknown |
| style="background: #ddd" | Unknown |
||
| style="background: #dfd" | Yes |
|||
| style="background: #dfd" | Yes |
| style="background: #dfd" | Yes |
||
| style="background: #dfd" | Yes |
| style="background: #dfd" | Yes |
||
Line 112: | Line 118: | ||
|- |
|- |
||
! style="background: #ececec; text-align: left; font-family: monospace; font-weight: normal;" | DIG Support |
! style="background: #ececec; text-align: left; font-family: monospace; font-weight: normal;" | DIG Support |
||
| style="background: #fdd" | No |
|||
| style="background: #fdd" | No |
| style="background: #fdd" | No |
||
| style="background: #fdd" | No |
| style="background: #fdd" | No |
||
Line 129: | Line 136: | ||
| style="background: #dfd" | Yes (Own rule format) |
| style="background: #dfd" | Yes (Own rule format) |
||
| style="background: #dfd" | Yes (SWRL & own rule format) |
| style="background: #dfd" | Yes (SWRL & own rule format) |
||
| style="background: #dfd" | Yes (Own rule format) |
|||
| style="background: #dfd" | Yes (SWRL) |
| style="background: #dfd" | Yes (SWRL) |
||
| style="background: #dfd" | Yes (SWRL—DL Safe Rules) |
| style="background: #dfd" | Yes (SWRL—DL Safe Rules) |
||
Line 144: | Line 152: | ||
| style="background: #dfd" | 2.0 |
| style="background: #dfd" | 2.0 |
||
| style="background: #dfd" | 0.9b45 |
| style="background: #dfd" | 0.9b45 |
||
| style="background: #ddd" | Unknown |
|||
| style="background: #ddd" | Unknown |
| style="background: #ddd" | Unknown |
||
| style="background: #dfd" | 2.0.2 |
| style="background: #dfd" | 2.0.2 |
||
Line 157: | Line 166: | ||
|- |
|- |
||
! style="background: #ececec; text-align: left; font-family: monospace; font-weight: normal;" | Licensing |
! style="background: #ececec; text-align: left; font-family: monospace; font-weight: normal;" | Licensing |
||
⚫ | |||
| style="background: #ffd" | Free/ closed-source |
| style="background: #ffd" | Free/ closed-source |
||
| style="background: #ffd" | Free/ closed-source |
|||
⚫ | |||
| style="background: #dfd" | Free/ open-source |
| style="background: #dfd" | Free/ open-source |
||
| style="background: #dfd" | Free/ open-source & Non-Free/ closed-source |
| style="background: #dfd" | Free/ open-source & Non-Free/ closed-source |
Revision as of 19:05, 17 February 2012
This article may need to be rewritten to comply with Wikipedia's quality standards. (February 2010) |
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 probabilistic reasoners, including Pei Wang's non-axiomatic reasoning system, Novamente's probabilistic logic network, and Pronto - probabilistic description logic reasoner.
List of semantic reasoners
Existing semantic reasoners and related software:
Non-free software
- Bossam (software), an RETE-based rule engine with native supports for reasoning over OWL ontologies, SWRL rules, and RuleML rules.
- DLog, Resolution based Description Logic ABox reasoner that translates to Prolog (DLog).
- OntoBroker, highly scalable SemanticWeb middleware (OntoBroker).
- OWLIM, a high-performance semantic repository developed in Java and available in two versions: free SwiftOWLIM and commercial BigOWLIM. Supports a subset of OWL-Lite semantics, which can be configured through rule-set definition and selection.[1] (OWLIM)
- RacerPro, a semantic web reasoning system and information repository (RacerPro)
- TopSPIN, rule-based reasoner embedded in TopBraid Suite support OWL 2 RL reasoning (TopBraid).
- SHER, a scalable Pellet-backed OWL DL reasoner (SHER).
Free software
- BaseVISor, a versatile forward chaining inference engine specialized to handle facts in the form of RDF triples with support for OWL 2 RL and XML Schema Datatypes (BaseVISor).
- Cwm, a forward-chaining reasoner which can be 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. (CWM)
- Cyc inference engine, a forward and backward chaining inference engine with numerous specialized modules for high-order logic. ([1] ResearchCyc) ([2] OpenCyc)
- Drools, a forward chaining inference based rules engine that uses an enhanced implementation of the Rete algorithm.
- Euler (EYE), a RIF-compatible backward-chaining N3 reasoner enhanced with Euler path detection. (Euler Proof Mechanism)
- FaCT, a description logic (DL) classifier. (FaCT)
- FaCT++, the new generation of FaCT OWL-DL reasoner. (FaCT++)
- Hoolet, reasons over OWL-DL ontologies by translating them to full first-order logic and then applying a first-order theorem prover. (Hoolet)
- Jena (framework), an open source semantic web framework for Java which includes a number of different semantic reasoning modules.
- KAON2 is an infrastructure for managing OWL-DL, SWRL, and F-Logic ontologies.
- Large_Knowledge_Collider or LarKC is a large scale distributed reasoner that focuses on performance by allowing incomplete reasoning
- Pellet, an open-source Java OWL DL reasoner. (Pellet)
- Prova, an open-source Semantic Web rule engine which supports data integration via SPARQL queries and type systems (RDFS, OWL ontologies as type system). (Prova)
- SweetRules, an integrated set of tools for Semantic web rules and ontologies. (SweetRules)
- TopBraid SPIN API, API for [SPIN], which is a collection of RDF vocabularies enabling the use of SPARQL to define constraints and inference rules on Semantic Web models. (SPIN API)
- HermiT, the first publicly-available OWL reasoner based on a novel “hypertableau” calculus which provides much more efficient reasoning than any previously-known algorithm. (HermiT)
Reasoner comparison
BaseVISor | Bossam | Cyc | Hoolet | Pellet | KAON2 | RacerPro | Jena | FaCT | FaCT++ | SweetRules | OWLIM | OntoBroker | HermiT | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OWL-DL Entailment | No | Unknown | Yes | Yes | Yes | Yes | Yes | No complete reasoner included with standard distribution | Yes | Yes | No | No | Yes | Yes |
Supported expressivity for reasoning | R-entailment, OWL 2 RL | Unknown | High-order | Unknown | SROIQ(D) | SHIQ(D) | SHIQ(D-) | varies by reasoner (incomplete for nontrivial description logics) | SHIQ | SROIQ(D) | Unknown | R-entailment, OWL 2 RL | OWL: SHIQ(D) (for OntoBroker 6.1: Subset of OWL-RL); F-logic: normal logic, wellfounded semantics | SHOIQ+ |
Reasoning algorithm | Rule-based, Rete | Rule-based | First-order with high-order extensions | First-order prover | Tableau | Resolution & Datalog | Tableau | Rule-based | Tableau | Tableau | Rule-based | Rule-based | OWL: Resolution & Datalog; F-logic: Rule-based (BottomUp, MagicSet, DynamicFiltering, QSQ) | Hypertableau |
Consistency checking | Yes | Unknown | Yes | Yes | Yes | Yes | Yes | Incomplete for OWL DL | Yes | Yes | No | Yes | Yes | Yes |
DIG Support | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | No |
Rule Support | Yes (Own rule format) | Yes (SWRL & own rule format) | Yes (Own rule format) | Yes (SWRL) | Yes (SWRL—DL Safe Rules) | Yes (SWRL—DL Safe Rules) | Yes (SWRL—not fully supported) & own rule format | Yes (Own rule format) | No | No | Yes (SWRL, RuleML, Jess) | Yes (Own format) | Yes (SWRL, RIF, F-logic, ObjectLogic) | Yes (SWRL—DL Safe Rules) |
Version | 2.0 | 0.9b45 | Unknown | Unknown | 2.0.2 | 2008-06-29 | 2.0 preview | 2.5.4 | Unknown | 1.1.8 | 2.1 | 2.x/3.x | 6.1 | 1.3.4 |
Licensing | Free/ closed-source | Free/ closed-source | Free/ closed-source (academic and research use) & Non-Free / closed-source | Free/ open-source | Free/ open-source & Non-Free/ closed-source | Free/ closed-source | Non-Free/ closed-source | Free/ open-source | Free/ open-source | Free/ open-source | Free/ open-source | Free/ open-source & Non-Free/ closed-source | Non-Free/ closed-source | Free/ open-source |
See also
External links
- OWL 2 Reasoners listed on W3C OWL Working Group homepage
- SPARQL Query Language for RDF
- Introduction to Description Logics DL course by Enrico Franconi, Faculty of Computer Science, Free University of Bolzano, Italy
- 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 Reasoners. 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
- OpenRuleBench Senlin Liang, Paul Fodor, Hui Wan, Michael Kifer. OpenRuleBench: An Analysis of the Performance of Rule Engines. 2009. Latest benchmarks at OpenRuleBench website.
- Pronto, a probabilistic description logic reasoner.