//package uk.ac.man.cs.lethe.dl.abduction.experiments
//
//
//import scala.collection.JavaConverters._
//
//import java.io.File
//
//import org.semanticweb.owlapi.apibinding.OWLManager
//import org.semanticweb.owlapi.model.parameters.Imports
//import org.semanticweb.owlapi.model._
//
//import org.semanticweb.HermiT.Reasoner;
//
//
//import uk.ac.man.cs.lethe.internal.dl.filters.OWLOntologyFilters
//
//
//object CheckOntology {
//
//  def main(args: Array[String]) = {
//    if(args.size!=1)
//      printUsageAndExit()
//
//    print(args(0)+" ")
//    System.out.flush()
//
//    val manager = OWLManager.createOWLOntologyManager()
//    val ontology = manager.loadOntologyFromOntologyDocument(new File(args(0)))
//
//    print(".")
//    System.out.flush()
//
//    OWLOntologyFilters.restrictToALC(ontology)
//
//    val equivalentClasses =
//      ontology.getLogicalAxioms().asScala.filter(_.isInstanceOf[OWLEquivalentClassesAxiom])
//
//    equivalentClasses.foreach{ ax =>
//      ontology.removeAxiom(ax)
//      ontology.addAxioms(ax.asInstanceOf[OWLEquivalentClassesAxiom].asOWLSubClassOfAxioms())
//    }
//
//
//    val logicalAxioms = ontology.getLogicalAxioms()
//
//    if(logicalAxioms.size<100 || logicalAxioms.size>50000) {
//      println(" not supported. Wrong size: "+logicalAxioms.size)
//      System.exit(0)
//    }
//
//    print(".")
//    System.out.flush()
//
//    val reasoner =
//      new Reasoner
//	.ReasonerFactory()
//	.createReasoner(ontology);
//
//    if(!reasoner.isConsistent()) {
//      println(" not supported. Inconsistent.")
//      System.exit(0)
//    }
//
//    println(" supported.")
//  }
//
//  def printUsageAndExit(): Unit = {
//    println("Usage: ")
//    println("java "+this.getClass+" ONTOLOGY-FILE")
//    println()
//    println("  Check whether the current ontology is supported for the evaluation.")
//    println("  Specifically: whether its ALC fragment has between 100 and 50,000 axioms and is consistent.")
//    System.exit(0)
//  }
//
//}
