Clisp is a production-based forward inference engine. It is a very basic thing. Many upper-layer reasoning tasks must be mapped to this inference engine for running.
In principle, clisp (or Jess) can handle reasoning tasks in various fields, as long as the system can provide clisp with special domain rules in this field (in the form of production) and fact information (provided in assertion form ). As a type of application, ontology reasoning can also be mapped to clisp inference machines.
But relevant rules in the ontology field must be provided for the inference engine. For example, to use clisp (Jess) for Owl reasoning, it is necessary to enter the rules related to the meaning of each language component of owl in the system in the form of generative rules. With these rules, you can use clisp to reason the ontology given in the owl form. Similarly, if we perform Inference On the ontology given in the DAML form, we need to provide relevant rules for the meaning of each language component of DAML in clisp.
Jess (Java expert shell System) is a clisp inference engine based on the Java language.
The advantage of Jess (clisp) is that the inference engine is open. Users can provide different rule systems to perform reasoning in different fields. Users can expand the inference capabilities of the inference engine. However, as a forward inference system, Jess uses space for time, which produces a large amount of intermediate data and has low space efficiency. Meanwhile, Because Jess (clisp) is a general inference engine, it is impossible to provide optimization capabilities for various specific fields, making it difficult to optimize the efficiency of such reasoning mechanisms.
Currently, Ontology-based reasoning is increasingly concentrated on several standard ontology languages, such as owl, DAML, RDFS/RDF. In this way, researchers are more efficient, the inference engine for these specific applications. Such as racer, fact, and pellet are specific and targeted inference engines. Their advantages are high efficiency and convenient to use. They are not general inference engines, and their reasoning capabilities are limited to several specific ontology languages, in addition, it is difficult for users to expand it.
It is worth noting that racer, fact, and pellet use the descriptive logic as the theoretical basis,AlgorithmThe tableau algorithm is used. These systems have done a lot of optimization work.
Jena is an application development kit for semantic web. It contains comprehensive content, and the inference engine is only part of it. The inference engine provided by Jena is similar to that provided by racer, fact, and pellet. It is an Ontology Inference Engine. However, Jena is not a 'inference engine design expert ', the inference engine contained in it is basically a forward inference system that clisp works with the production rules in the domain of the ontology. Therefore, it is not very efficient. Fortunately, there is a dig interface, which is a bit like ODBC in the database, allowing the front end to be mounted to different reasoning engines in the background. In this way, in Jean,
You can also use more 'professional' inference engines such as racer, fact, and pellet.
To sum up, the following distinction can be made:
1. the inference engine and racer in Jena are both inference engines for specific ontology languages, which are highly targeted and efficient.
2. Jess is a common clisp inference engine with lower layers.
This can be explained: when a user uses owl to represent the ontology, protege uses Jena or racer reasoning. When the user uses class/slot to represent the ontology, protege can only use Jess. In fact, in terms of capabilities, Jess can also complete owl Reasoning (the corresponding generative rule repository needs to be input), but the efficiency is low.