public char match ( ISense source , ISense target ) throws MatcherLibraryException { char result = IMappingElement . IDK ; try { String sSynset = source . getGloss ( ) ; // get gloss of Immediate ancestor of target node String tLGExtendedGloss = getExtendedGloss ( target , 1 , IMappingElement . LESS_GENERAL ) ; // get relation frequently occur between gloss of source and extended gloss of target char LGRel = getDominantRelation ( sSynset , tLGExtendedGloss ) ; // get final relation char LGFinal = getRelationFromRels ( IMappingElement . LESS_GENERAL , LGRel ) ; // get gloss of Immediate descendant of target node String tMGExtendedGloss = getExtendedGloss ( target , 1 , IMappingElement . MORE_GENERAL ) ; char MGRel = getDominantRelation ( sSynset , tMGExtendedGloss ) ; char MGFinal = getRelationFromRels ( IMappingElement . MORE_GENERAL , MGRel ) ; // Compute final relation if ( MGFinal == LGFinal ) { result = MGFinal ; } if ( MGFinal == IMappingElement . IDK ) { result = LGFinal ; } if ( LGFinal == IMappingElement . IDK ) { result = MGFinal ; } } catch ( LinguisticOracleException e ) { final String errMessage = e . getClass ( ) . getSimpleName ( ) + ": " + e . getMessage ( ) ; log . error ( errMessage , e ) ; throw new MatcherLibraryException ( errMessage , e ) ; } return result ; }
Computes the relation for extended semantic gloss matcher .