예제 #1
0
 /**
  * Calculate the comparison of all x all individuals. Since all individuals are being compared,
  * and will be necessary for evaluating statistics we will store in an array.
  *
  * @throws IncoherentStateException
  * @throws UnknownFilterException
  */
 public void computeIxI() throws UnknownFilterException, IncoherentStateException {
   Set<String> individualIds = kb.getIndividualIdsInSignature();
   for (String iid : individualIds) {
     int ibit = kb.getIndividualIndex(iid);
     EWAHCompressedBitmap ibm = kb.getDirectTypesBM(iid);
     Set<String> iids = kb.getClassIds(ibm);
     ProfileQuery q = ProfileQueryFactory.createQuery(iids);
     // compare against all other individuals
     q.setLimit(-1);
     MatchSet ms = profileMatcher.findMatchProfile(q);
     matchScores[ibit] = ms.getScores();
   }
 }