Reasoning and inference tools
Logic and proof are two key elements in the Semantic Web. While Semantic Web languages such as OWL may define sub-class relationships between two classes, without a logic engine this statement is meaningless to a machine.
For example, we could create a fragment of OWL code like this:
<owl:Class rdf:ID="SnakeRobot"> <rdfs:subClassOf rdf:resource="#Robot" /> </owl:Class>
At the moment, a computer would not be able to infer from the above code that a SnakeRobot is a sub-class of Robot. The machine needs something else to interpret the OWL code and make the inference. There currently is not a single widely accepted effort to produce such an inference engine. Instead, there is a large variety of reasoning and inference tools to choose from, each with a different assortment of benefits and disadvantages.
Many applications for the Semantic Web, such as protégé and Jena, are able to use an interface to connect with a DIG reasoner for more efficiently handling large, complex ontologies. These available DIG reasoners include Pellet, FaCT, and RacerPro.
Many of the described tools below may be found on other lists, such as W3C's OWL Implementations and DAML Tools. Feel free to wade through these listings as well. Additionally, SemWebCentral has a collection of open source tools for the Semantic Web.
- FaCT Description Logic Reasoner
- Jena Java Rule-Based Inference System
- Kaon2 Inference Engine (Closed-Source)
- Otter Automated Deduction System
- OWLJessKB Semantic Web Reasoning Tool
- Pellet OWL Reasoner
- RacerPro OWL Reasoner (Closed-Source)
- SWRL (Semantic Web Rule Language)