Я пытаюсь добавить правило SWRL в мою онтологию, используя SWRLAPI и OWLAPI. Я пытаюсь использовать версию OWLAPI, которая совместима с SWRLAPI. Тем не менее, я все еще получаю ошибки при создании правила. Кажется, проблема с управлением зависимостями. Я использую gradle в качестве менеджера зависимостей, поэтому это должно было решить проблему.
Исключение составляет:
Ошибка создания правила движка Drools. Исключение: java.lang.NoClassDefFoundError. Сообщение: org / drools / runtime / rule / AgendaFilter "
Мой файл зависимостей build.gradle:
dependencies {
compile group: 'net.sourceforge.owlapi', name: 'owlapi-distribution', version: '4.1.3'
compile group: 'net.sourceforge.owlapi', name: 'org.semanticweb.hermit', version: '1.4.1.513'
compile 'edu.stanford.swrl:swrlapi:2.0.5'
compile 'edu.stanford.swrl:swrlapi-drools-engine:2.0.5'
}
Исключительная ситуация возникает при выполнении createSWRLRuleEngine метод:
public void addNewSWRLRule(SWRLRuleModel rule) throws SWRLBuiltInException, SWRLParseException {
SWRLRuleEngine swrlRuleEngine = SWRLAPIFactory.createSWRLRuleEngine(ontology);
swrlRuleEngine.infer();
swrlRuleEngine.createSWRLRule(rule.getName(), rule.getRule(), rule.getComment(), true);
}
Есть ли зависимость, которую необходимо добавить вручную, чтобы решить эту проблему?