【问题标题】:Unable to resolve error from Hermit reasoner无法解决 Hermit reasoner 的错误
【发布时间】:2016-04-13 02:53:09
【问题描述】:

我正在尝试在本体上运行推理器。 Hermit 显示如下错误:

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 被执行但不推断公理的输出,仅推断基于类等价的子类信息。

更新1

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

更新2

这是本体的 URL:

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

请检查是否遇到同样的错误

【问题讨论】:

    标签: semantic-web owl protege linked-data


    【解决方案1】:

    问题是“0.5”被键入为double,但支持的方面(在规范中)必须是十进制或有理类型,而不是双精度数。 '0.5' 本身很好,类型需要改变。

    在你的主本体中,你有这个片段:

    <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 值键入为&amp;xsd;decimal

    【讨论】:

    • 将 URL 添加到本体。你能看看吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 2018-01-05
    • 2013-03-27
    • 2018-06-05
    相关资源
    最近更新 更多