2016-04-13 7 views
1

Я пытаюсь запустить рассуждений по онтологии. Отвердитель отображает следующую ошибку:Невозможно устранить ошибку из соображений 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 [email protected]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

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

ответ

2

Проблема заключается в том, что «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

+0

Добавлены URL в онтологию. Можете ли вы, пожалуйста, посмотреть? – kurious