2

Jena provides a generic Reasoner interface when returning the reasoner of a model. How can I determine if it is a Rule based, so I can cast it to a GenericRuleReasoner and use the methods for manipulating rules?

Note: without using instanceof :)

Example

// in one part of the app it something like this
OntModelSpec spec = OntModelSpec.OWL_MEM_MICRO_RULE_INF;
OntModel ontologyModel = ModelFactory.createOntologyModel(spec, model);

// in another part
Reasoner reasoner = ontologyModel.getReasoner();

So now the reasoner is a com.hp.hpl.jena.reasoner.rulesys.OWLMicroReasoner determined by .getClass() but I want to cast it to a GenericRuleReasoner by determining if it IS a rule capable one.

Stanislav Kralin
  • 11,070
  • 4
  • 35
  • 58
Azder
  • 4,698
  • 7
  • 37
  • 57

0 Answers0