protegeproject / swrlapi

Java API for working with the SWRL rule and SQWRL query languages
Other
99 stars 40 forks source link

reasoner not yet wired up #65

Closed IbrahimMohammed47 closed 3 years ago

IbrahimMohammed47 commented 4 years ago

Hello, I'm using SWRL API version 2.0.8 to build a project. While i'm mainly using it to manage rules, I also wanted the features that come with any owl reasoner (specifically reasoner.getSubClasses()) So instead of using a new 3rd-party reasoner, i thought SWRL API provides an out-of-the-box owl reasoner that can do the job, But the problem is i don't know how to implement it. I found this ruleEngine.getOWLReasoner() but it throws the exception java.lang.RuntimeException: reasoner not yet wired up, I'm sorry if i'm missing something but i'm totally new to this field. Thanks in advance

martinjoconnor commented 4 years ago

The functionality you are referring to is the OWLAPI-based reasoner framework used by Protege that allows a variety of reasoner to be invoked from that tool. Unfortunately, the SWRLAPI's rule engine does not currently implement that functionality. The SWRLRuleEngine interface does have a getOWLReasoner method but the implementation of the OWLReasoner class in the SWRLAPI has not been completed.

There is a separate OWL 2 RL-based reasoner provided with the SWRLAPI but that does not provide the same functionality as the OWLAPI-based OWLReasoner interface:

https://github.com/protegeproject/swrlapi/wiki/OWL2RLTab