Semantic reasoner

From Wikipedia, the free encyclopedia

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 probalistic reasoners, including Pei Wang's non-axiomatic reasoning system, Novamente's probabilistic logic network, which tip their hat to reasoning Bayesian networks, and Pronto[1] - probabilistic Description logic reasoner.

Contents

[edit] Semantic reasoners

Existing semantic reasoners:

  • Bossam, an RETE-based rule engine with native supports for reasoning over OWL ontologies, SWRL ontologies, and RuleML rules.
  • Hoolet, an implementation of an OWL-DL reasoner. [2]
  • Pellet, an open-source Java OWL DL reasoner. [3]
  • KAON2 is an infrastructure for managing OWL-DL, SWRL, and F-Logic ontologies.
  • RACER system, a semantic web reasoning system and information repository
  • Jena (framework), an open source semantic web framework for Java.
  • FaCT, a description logic (DL) classifier. [4]
  • FaCT++, the new generation of FaCT OWL-DL reasoner. [5]
  • SweetRules, an integrated set of tools for Semantic web rules and ontologies. [6]

[edit] Reasoner comparison

Bossam Hoolet Pellet KAON2 RacerPro Jena FaCT FaCT++ SweetRules
OWL-DL Entailment  ?  ? Yes Yes Yes Yes Yes Yes No
Supported expressivity for reasoning  ?  ? SHOIN(D) and SROIQ(D) SHIQ(D)  ?  ?  ?  ?  ?
Reasoning algorithm  ?  ? (forward chaining & backward chaining) Novel (backward chaining)  ?  ?  ?  ?  ?
Updating the OWL-Model with inferred knowledge / Serialization of resulting ontology Yes / Partial  ?  ? No / No  ?  ?  ?  ?  ?
Consistency checking  ? Yes Yes  ? Yes Yes  ?  ? No
DIG Support No No Yes Yes Yes Yes Yes Yes No
SPARQL Support No No Yes Yes Yes Yes No No No
Rule Support Yes (SWRL) Yes (SWRL) Yes (SWRL) Yes (SWRL) Yes (SWRL) Yes (Own rule format) No No Yes (SWRL, RuleML, Jess)
SWRL/OWLX Parser Yes Yes Yes No Yes No No No Yes
SWRL/RDF Parser Yes  ? Yes No Yes No No No Yes
SWRL Math Built-Ins Partial  ? No  ?  ? No No No  ?
SWRL String Built-Ins Partial  ? No Partial  ? No No No  ?
SWRL Comparison Built-Ins  ?  ? Yes  ?  ? No No No  ?
SWRL Boolean Built-Ins  ?  ? No  ?  ? No No No  ?
SWRL Date, Time and Duration Built-Ins  ?  ? No  ?  ? No No No  ?
SWRL URI Built-Ins  ?  ? No  ?  ? No No No  ?
SWRL Lists Built-Ins  ?  ? No  ?  ? No No No  ?
SWRL custom Built-Ins Java  ? Partial (only for DObject) Java  ?  ?  ?  ?  ?
Documentation available Yes No Yes No Yes Yes Partial No Yes
Version 0.9b45  ? 1.5.1  ? 1.9.0, Build 20051205 2.5.4  ? 1.1.8 2.1
Licencing Free/ closed-source Free/ open-source Free/ open-source Free/ closed-source Non-Free/ closed-source Free/ open-source Free/ closed-source Free/ open-source Free/ open-source

[edit] See also

[edit] External links

Languages