首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中使用opencyc owl时出现DisjointClasses错误

在java中使用opencyc owl时出现DisjointClasses错误
EN

Stack Overflow用户
提问于 2014-01-06 01:41:19
回答 1查看 96关注 0票数 1

我目前正在做一个自然语言处理项目,试图使用openCYC作为知识库。目前,我只是尝试加载本体并使用java owl api v3.4.8和HermiT实例化一个推理器,但是每当我尝试实例化推理器时,我都会收到错误消息

线程java.lang.IllegalArgumentException异常:错误:解析的DisjointClasses(http://sw.opencyc.org/concept/Mx4rEHSj4Q0sQVGnAmZNRRJ20Q)。

当前代码:

代码语言:javascript
复制
File ontology = new File("owl-export-unversioned.owl");

    OWLOntologyManager m = OWLManager.createOWLOntologyManager();

    System.out.println("Loading...");
    OWLOntology o = m.loadOntologyFromOntologyDocument(ontology);
    System.out.println("Loaded");

    Reasoner hermit=new Reasoner(o);
    System.out.println(hermit.isConsistent());

这是否意味着opencyc本体本身存在问题?还是我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2014-01-06 15:25:54

问题是openCyc包含一个错误的公理:只有一个参数的DisjointClasses。OWL规范指定DisjointClasses必须有两个或更多参数。

OWL API将允许您解析这个本体,但是HermiT会抱怨这个公理,甚至更多。

您可以使用OWL2DLProfile检查哪些公理违反了OWL2DL概要。这将报告相同类型的其他错误公理。不过,您必须自己决定什么是正确的解决方案- OWL API还没有修复实现。

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

https://stackoverflow.com/questions/20936896

复制
相关文章

相似问题

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