public Proof < ? extends EntailmentInference > getEvidence ( final boolean atMostOne ) { return new Proof < EntailmentInference > ( ) { @ SuppressWarnings ( "unchecked" ) @ Override public Collection < OntologyInconsistencyEntailmentInference > getInferences ( final Object conclusion ) { if ( ! OntologyInconsistencyImpl . INSTANCE . equals ( conclusion ) ) { return Collections . emptyList ( ) ; } // else final Collection < ? extends IndexedIndividual > inconsistentIndividuals = getInconsistentIndividuals ( ) ; Iterable < OntologyInconsistencyEntailmentInference > result = Operations . map ( inconsistentIndividuals , INDIVIDUAL_TO_ENTAILMENT_INFERENCE ) ; int size = inconsistentIndividuals . size ( ) ; if ( isTopObjectPropertyInBottom_ ) { result = Operations . concat ( Operations . < OntologyInconsistencyEntailmentInference > singleton ( new TopObjectPropertyInBottomEntailsOntologyInconsistencyImpl ( conclusionFactory_ . getSubPropertyChain ( topProperty_ , bottomProperty_ ) ) ) , result ) ; size ++ ; } if ( isOwlThingInconsistent_ ) { result = Operations . concat ( Operations . < OntologyInconsistencyEntailmentInference > singleton ( new OwlThingInconsistencyEntailsOntologyInconsistencyImpl ( conclusionFactory_ . getContradiction ( owlThing_ ) ) ) , result ) ; size ++ ; } if ( atMostOne ) { final Iterator < OntologyInconsistencyEntailmentInference > iter = result . iterator ( ) ; if ( ! iter . hasNext ( ) ) { return Collections . emptyList ( ) ; } // else return Collections . singleton ( iter . next ( ) ) ; } // else return Operations . getCollection ( result , size ) ; } } ; }
Explains why an ontology inconsistency is entailed . If it is not entailed the returned proof is empty .