我收到此错误消息
启动应用程序时出错:创建查询引擎 Drools 时出错。例外:java.lang.NoSuchMethodError。消息:'void org.semanticweb.owlapi.util.PriorityCollection.add(java.io.Serializable)'
我正在使用 SWRL API for Java 在 OWL 本体上运行 SQWRL 查询。因此,我从 Maven 构建了 edu.stanford.swrl swrlapi-example,在 pom 文件中更新了默认 swrl API 和 swrlapi-drools-engine 从版本 1.0.3 到 2.0.9 以及 owl API 从默认 4.2.3 到 5.1。 17. 我在可执行文件 main 中运行这段代码:
OWLOntologyManager 本体管理器 = OWLManager.createOWLOntologyManager();
File file = new File("C:\\Users\\Hugo\\Desktop\\Universidad\\SUPAERO\\S4\\SWRLapiTEST\\Prueba.owl");
OWLOntology ontology = ontologyManager.loadOntologyFromOntologyDocument(file);
ontologyManager.createOntology();
SQWRLQueryEngine queryEngine = SWRLAPIFactory.createSQWRLQueryEngine(ontology);
程序在最后一个命令处停止。我不知道我做错了什么。如果我使用 swrl api 和 swrlapi-drools-engine 的 1.0.3 版,它可以工作,但是我想使用 tbox 和 abox 库中包含的一些命令,这些命令在那个古老的版本中没有实现。