首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决启动应用程序时出错:使用SWRL API时创建查询引擎Drools时出错?

如何解决启动应用程序时出错:使用SWRL API时创建查询引擎Drools时出错?
EN

Stack Overflow用户
提问于 2021-03-23 22:34:10
回答 1查看 26关注 0票数 0

我收到以下错误消息

启动应用程序时出错:创建查询引擎Drools时出错。例外: java.lang.NoSuchMethodError。消息:‘无效org.semanticweb.owlapi.util.PriorityCollection.add(java.io.Serializable)’

我正在使用SWRL API for Java在OWL本体上运行SQWRL查询。因此,我从Maven构建了swrlapi edu.stanford.swrl示例,在pom文件中将默认的swrl API和swrlapi drools-engine从版本1.0.3更新到了2.0.9,并将owl API从默认的4.2.3更新到了5.1.17。我在可执行文件main中运行以下代码:

OWLOntologyManager ontologyManager = OWLManager.createOWLOntologyManager();

代码语言:javascript
复制
  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);

程序在最后一条命令处停止。我不知道我做错了什么。如果我使用1.0.3版本的swrl api和swrlapi drools-engine,但我想使用tbox和abox库中包含的一些命令,这些命令在旧版本中没有实现。

EN

回答 1

Stack Overflow用户

发布于 2021-03-24 04:02:00

您看到的异常是类路径中存在多个不兼容的OWLAPI版本的症状。确保您只有一个正在使用的版本(与您所说的5.1.17相同)。如果找不到问题,请添加有关如何设置类路径的详细信息(您可以在代码的开头打印java.class.path环境变量,以获得所使用的确切类路径)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66765289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档