LarKC Reasoner Hierarchy and Possible Naming Convention
We are going to implement many reasoners as plug-ins at the LarKC platform. I think it is time for us to discuss how reasoning plug-ins should be organized at the platform and what the name convention should be. The following is a preliminary idea that we (Zhisheng and Gaston) have been discussing regarding the classification of reasoners plugins.
Feel free to post yours comments/ideas/suggestions.
Simple Reasoner: Reasoner Plug-ins in this class are mainly prototype reasoners used to test/exercise the current implementation of the LarKC API. An example of this type of this type of reasoner is the eu.larkc.plugin.reason.simple.?SparqlQueryEvaluationReasoner implemented in the current version of the API.
Standard Reasoner: Under this class we can place any reasoner that wraps up existing standard/popular reasoners such as Pellet, KAON2, FaCT++, etc.
For the rest we could follow the same schema used in D4.1 (see list of deliverables in WP4) to classify different types of reasoner.
Approximation Reasoners: any reasoner which is designed for approximate reasoning or with similar functionalities. Examples of these would be:
- SimplePIONReasoner
?AccumulatedSelectionReasoner, etc.
Rule-based Reasoners: For example,
?SimpleRuleBasedReasoner
Resource-bounded Reasoners: Examples would be:
Contexual/Module Reasoners: Examples would be:
Other Reasoners: for the reasoners which cannot be classified into any one above.
It is still unclear whether or not we need one class to cover distributed reasoners and parallel reasoners.
