Не удалось устранить ошибку от Hermit Reasoner

Я пытаюсь запустить рассуждения на онтологии. Отшельник показывает следующую ошибку:

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 выполняется, но не выводит аксиомы, а только информацию о подклассах, основанную на эквивалентности классов.

ОБНОВЛЕНИЕ1

Проблема связана с одной из импортированных онтологий. Я импортировал каждый по отдельности, чтобы определить корень ошибки.

ОБНОВЛЕНИЕ2

Вот URL-адрес онтологии:

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

Пожалуйста, проверьте, если вы получаете ту же ошибку


person kurious    schedule 13.04.2016    source источник


Ответы (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 было введено как &xsd;decimal

person Ignazio    schedule 13.04.2016
comment
Добавлен URL в онтологию. Не могли бы вы взглянуть? - person kurious; 14.04.2016