public Boolean createReasoner(OWLOntology ont) {
Configuration config=new Configuration();
//Configuration.PrepareReasonerInferences prefs = new Configuration.PrepareReasonerInferences();
//config.prepareReasonerInferences = prefs;
//config.freshEntityPolicy = owlAPIConfiguration.getFreshEntityPolicy();
//config.individualNodeSetPolicy = owlAPIConfiguration.getIndividualNodeSetPolicy();
//config.individualTaskTimeout = owlAPIConfiguration.getTimeOut();
config.reasonerProgressMonitor = new HxProgressMonitor();
config.ignoreUnsupportedDatatypes = false;
config.throwInconsistentOntologyException = false;
reasoner = new Reasoner(config, ont);
// Get a Start date/time
Date d1 = new Date();
// Set the config to inference every type available
Set<InferenceType> precompute = EnumSet.of(InferenceType.CLASS_HIERARCHY);
precompute.addAll(reasoner.getPrecomputableInferenceTypes());
// Do the actual inferencing
reasoner.precomputeInferences(precompute.toArray(new InferenceType[precompute.size()]));
//Get a Stop date/time
Date d2 = new Date();
// Compute the execution time
DecimalFormat myDecimalFormatter = new DecimalFormat("###,###.###");
System.out.println("HxReasoner.precompute: inference execution time: " +
myDecimalFormatter.format((((double) d2.getTime() - d1.getTime()) / 1000) / 60) +
" minutes");
}