{'fraction_non_alphanumeric': 0.020149253731343283, 'fraction_numerical': 0.004477611940298508, 'mean_word_length': 5.541463414634146, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Discovering complex matches between database schemas

Schema matching, the problem of finding semantic correspondences between elements of two schemas, plays a key role in many applications, such as data warehouse, heterogeneous data sources integration and semantic Web. The existing approaches to automating schema matching almost focus on computing direct element matches (1:1 matches) between two schemas. However, relationships between real-world schemas involve many complex matches besides 1:1 matches. At present, there are few methods can discover complex matches, such as iMAP, but most of them have poor matching efficiency, because the candidate match space is so large which they need searching. A complex schema matching system called CSM is introduced in this paper. Firstly it can filter unreasonable matches on data types and values by preprocessor and clustering processor; then it employs a set of special-purpose searchers in match generator to explore a specialized portion of the search space and discovers 1:1 and complex matches; Finally it estimates candidate matches and selects optimal candidate matches by using similarity estimator and match selector respectively. Experiments show that, CSM does not only discover matches between schemas roundly, but also improve the matching recall and precision in practice.