我正试图在一个本体上运行推理。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#minInclusive和0.5,但都没有找到。
是什么导致了这个错误,我该如何纠正它?
使用Pellet时,我收到一条Reasoner: Initialization in Progress消息很长一段时间,但什么也没有发生。Snorocket会被执行,但不会推断出公理的输出,只会根据类的等价性推断出子类信息。
UPDATE1
问题出在其中一个导入的本体上。我分别导入了每一个,以确定错误的根源。
UPDATE2
以下是本体的URL:
http://ovae.googlecode.com/svn/trunk/src/ontology/ovae.owl
请检查是否出现相同的错误
发布于 2016-04-13 17:39:04
问题是"0.5“的类型是double,但支持的facet(在规范中)必须是十进制或有理类型,而不是双精度类型。'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值类型化为&xsd;decimal
https://stackoverflow.com/questions/36587701
复制相似问题