(1) List3 = null; res_score = 0; = size(CList); = size(PList); |
(2) for to do - - for each concept in CList |
(3) for to do - - for each concept in PList |
(4) score = 0; |
(5) degree = MatchingScore(Concept , Concept ) |
(6) if (degree ≠ DISSIMILAR) then |
(7) if (degree = EXACT) then |
Score = 1.00 /distance(, ); end if |
(8) if (degree = PLUGIN) then |
Score = 0.75 /distance(, ); end if |
(9) if (degree = SUBSUME) then |
Score = 0.5 /distance(, ); end if |
(10) else score = 0; |
(11) end if |
(12) List3← score; |
(13) end for |
(14) score ← Max(List3); - - returns max scored matched concepts from CList & PList |
(15) if (score ≠ 0) then |
(16) Find int k ← index(Max(List3)); - - returns index of max scored matched concepts from the lists |
(17) DeleteRow(); DeleteRow(); - - delete concepts from CList & PList |
(18) ; - - decrease sizes of the CList & PList |
(19) ; j ← 1; - - start the for loops again for the next concept |
(20) Calculate res_score = res_score + score; |
(21) List3 ← null; goto Step , take next |
(22) else |
(23) Calculate res_score = res_score + 0; - -goto Step , for next |
(24) end if |
(25) end for |
(26) if (res_score = 0) then no matching exists; return 0; |
(27) else return{res_score = res_score/((size(CList)/size(PList)) )}; - - : Jaro_Winkler_Distance, |
final res_score gives the IntoleranceScore() |
(28) end if |