{'fraction_non_alphanumeric': 0.027462121212121212, 'fraction_numerical': 0.0, 'mean_word_length': 4.8397790055248615, '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}}
A bottom-up algorithm for query decomposition

In order to access data from various data repositories, in Global-As-View approaches an input query is decomposed into several subqueries. Normally, this decomposition is based on a set of mappings, which describe the correspondence of data elements between a global schema and local ones. However, building mappings is a difficult task, especially when the number of participating local schemas is large. In our approach, an input query is automatically decomposed into subqueries without using mappings. An algorithm is proposed to transform a global path expression (e.g. an XPath query) into local path expressions executable in local schemas. This algorithm considers parts of a path expression from right to left, that is, the algorithm traverses from the bottom to the top of a schema tree depending on the structure of local schemas. Compared to top-down approaches, such as by Lausen and Marron, our algorithm can reduce the time for forming subqueries for local (e.g. XML) schemas to a large extent.