{'fraction_non_alphanumeric': 0.027497708524289642, 'fraction_numerical': 0.0036663611365719525, 'mean_word_length': 5.578313253012048, '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}}
Semantic query optimization for ODMG-93 databases

Presents a graphical technique for semantic query optimization for ODMG-93 compliant databases. The OQL object query is represented as a graph based on the information contained in the ODL object schema. The graph reflects the constraints on possible objects satisfying the query. Vertices represent objects, which may be members of interfaces, ranges of values, constant values, objects returned by subqueries, object collections (count, sum, etc.) or constructs (sets, lists, etc.). Key constraints and inverse relationships contained in the schema are used to perform join elimination, join simplification and scan reduction via graph transformations. A marking scheme on the graph is used to perform subquery-to-join transformations and the detection of unnecessary duplication elimination. We argue that our approach generalizes previous research on object-based query optimization by providing a more natural representation of the query, allowing simpler, more intuitive transformations and leading to more efficient evaluation plans.