2016-04-13 19 views
1

Ich versuche, Reasoners auf einer Ontologie zu laufen. Hermit zeigt den folgenden Fehler:Kann Fehler von Hermit-Reasoner nicht beheben

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) 

Ich brauche Hilfe, um den Fehler zu beheben. Ich suchte nach der URL http://www.w3.org/2001/XMLSchema#minInclusive sowie 0.5 durch Öffnen der Ontologie in einem Texteditor, aber weder gefunden.

Was verursacht den Fehler und wie kann ich ihn beheben?

Mit Pellet, bekomme ich eine Reasoner: Initialization in Progress Nachricht für eine lange Zeit, aber nichts passiert. Snorocket wird ausgeführt, aber leitet nicht die Ausgabe von Axiomen ab, nur Unterklasseninformationen basierend auf Klassenäquivalenz.

UPDATE1

Das Problem ist, mit einem der importierten Ontologien. Ich importierte jedes einzeln, um die Wurzel des Fehlers zu bestimmen.

UPDATE2

Hier ist die URL der Ontologie:

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

Bitte überprüfen Sie, ob Sie den gleichen Fehler

Antwort

2
bekommen

Das Problem ist, dass die "0,5" als double eingegeben wird , aber die unterstützten Facetten (in den Spezifikationen) müssen Dezimalzahlen oder rationale Typen sein, nicht doubles. Die '0,5' selbst ist in Ordnung, der Typ muss sich ändern.

In Ihrem Haupt-Ontologie, haben Sie dieses Fragment:

<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> 

Sie müssen den minExclusive Wert als &xsd;decimal

+0

Added die URL in die Ontologie eingegeben werden. Kannst du bitte einen Blick darauf werfen? – kurious