public List<T> getCurrentlyBestAxioms(double accuracyThreshold) {
   List<T> bestAxioms = new ArrayList<T>();
   for (EvaluatedAxiom<T> evAx : getCurrentlyBestEvaluatedAxioms(accuracyThreshold)) {
     bestAxioms.add(evAx.getAxiom());
   }
   return bestAxioms;
 }
  public List<EvaluatedAxiom<T>> getCurrentlyBestEvaluatedAxioms(
      int nrOfAxioms, double accuracyThreshold) {
    List<EvaluatedAxiom<T>> returnList = new ArrayList<EvaluatedAxiom<T>>();

    // get the currently best evaluated axioms
    List<EvaluatedAxiom<T>> currentlyBestEvAxioms = getCurrentlyBestEvaluatedAxioms();

    for (EvaluatedAxiom<T> evAx : currentlyBestEvAxioms) {
      if (evAx.getScore().getAccuracy() >= accuracyThreshold && returnList.size() < nrOfAxioms) {
        if (returnOnlyNewAxioms) {
          if (!existingAxioms.contains(evAx.getAxiom())) {
            returnList.add(evAx);
          }
        } else {
          returnList.add(evAx);
        }
      }
    }

    return returnList;
  }
 public void explainScore(EvaluatedAxiom<T> evAxiom) {
   AxiomScore score = evAxiom.getScore();
   int posExampleCnt = score.getNrOfPositiveExamples();
   int negExampleCnt = score.getNrOfNegativeExamples();
   int total = posExampleCnt + negExampleCnt;
   StringBuilder sb = new StringBuilder();
   String lb = "\n";
   sb.append("######################################").append(lb);
   sb.append("Explanation:").append(lb);
   sb.append("Score(")
       .append(evAxiom.getAxiom())
       .append(") = ")
       .append(evAxiom.getScore().getAccuracy())
       .append(lb);
   sb.append("Total number of resources:\t").append(total).append(lb);
   sb.append("Number of positive examples:\t").append(posExampleCnt).append(lb);
   sb.append("Number of negative examples:\t").append(negExampleCnt).append(lb);
   sb.append("Based on sample:            \t").append(score.isSampleBased()).append(lb);
   if (sample != null) {
     sb.append("Sample size(#triples):      \t").append(sample.size()).append(lb);
   }
   sb.append("######################################");
   System.out.println(sb.toString());
 }