首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解决来自Hermit推理程序的错误

无法解决来自Hermit推理程序的错误
EN

Stack Overflow用户
提问于 2016-04-13 10:53:09
回答 1查看 588关注 0票数 1

我正试图在一个本体上运行推理。Hermit显示以下错误:

代码语言:javascript
复制
Error 1 Logged at Tue Apr 12 22:20:40 EDT 2016
UnsupportedFacetException: The facet with URI 'http://www.w3.org/2001/XMLSchema#minInclusive' does not support '"0.5"^^xsd:double' as value. The value should be an integer, a decimal, or a rational, but this seems not to be the case in the datatype restriction org.semanticweb.HermiT.datatypes.owlreal.OWLRealDatatypeHandler@1fc700c
    org.semanticweb.HermiT.datatypes.owlreal.OWLRealDatatypeHandler.validateDatatypeRestriction(OWLRealDatatypeHandler.java:139)
    org.semanticweb.HermiT.datatypes.DatatypeRegistry.validateDatatypeRestriction(DatatypeRegistry.java:101)
    org.semanticweb.HermiT.structural.OWLClausification$DataRangeConverter.visit(OWLClausification.java:819)
    uk.ac.manchester.cs.owl.owlapi.OWLDatatypeRestrictionImpl.accept(OWLDatatypeRestrictionImpl.java:139)
    org.semanticweb.HermiT.structural.OWLClausification$DataRangeConverter.convertDataRange(OWLClausification.java:763)
    org.semanticweb.HermiT.structural.OWLClausification$NormalizedAxiomClausifier.visit(OWLClausification.java:601)
    uk.ac.manchester.cs.owl.owlapi.OWLDataSomeValuesFromImpl.accept(OWLDataSomeValuesFromImpl.java:95)
    org.semanticweb.HermiT.structural.OWLClausification.clausify(OWLClausification.java:216)
    org.semanticweb.HermiT.structural.OWLClausification.preprocessAndClausify(OWLClausification.java:154)
    org.semanticweb.HermiT.Reasoner.loadOntology(Reasoner.java:221)
    org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:212)
    org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:187)
    org.semanticweb.HermiT.Reasoner$ReasonerFactory.createHermiTOWLReasoner(Reasoner.java:2359)
    org.semanticweb.HermiT.Reasoner$ReasonerFactory.createReasoner(Reasoner.java:2329)
    org.protege.editor.owl.model.inference.ReasonerUtilities.createReasoner(ReasonerUtilities.java:21)
    org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.ensureRunningReasonerInitialized(OWLReasonerManagerImpl.java:398)
    org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.run(OWLReasonerManagerImpl.java:354)
    java.lang.Thread.run(Unknown Source)

我需要帮助来纠正这个错误。我通过在文本编辑器中打开本体来查找url、http://www.w3.org/2001/XMLSchema#minInclusive0.5,但都没有找到。

是什么导致了这个错误,我该如何纠正它?

使用Pellet时,我收到一条Reasoner: Initialization in Progress消息很长一段时间,但什么也没有发生。Snorocket会被执行,但不会推断出公理的输出,只会根据类的等价性推断出子类信息。

UPDATE1

问题出在其中一个导入的本体上。我分别导入了每一个,以确定错误的根源。

UPDATE2

以下是本体的URL:

http://ovae.googlecode.com/svn/trunk/src/ontology/ovae.owl

请检查是否出现相同的错误

EN

回答 1

Stack Overflow用户

发布于 2016-04-13 17:39:04

问题是"0.5“的类型是double,但支持的facet(在规范中)必须是十进制或有理类型,而不是双精度类型。'0.5‘本身很好,类型需要改变。

在您的主要本体中,您有以下片段:

代码语言:javascript
复制
<rdfs:Datatype>
    <owl:onDatatype rdf:resource="&xsd;decimal"/>
    <owl:withRestrictions rdf:parseType="Collection">
        <rdf:Description>
            <xsd:minExclusive rdf:datatype="&xsd;double">0.5</xsd:minExclusive>
        </rdf:Description>
    </owl:withRestrictions>
</rdfs:Datatype>

您需要将minExclusive值类型化为&xsd;decimal

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

https://stackoverflow.com/questions/36587701

复制
相关文章

相似问题

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