{'fraction_non_alphanumeric': 0.018962075848303395, 'fraction_numerical': 0.0, 'mean_word_length': 5.153374233128834, '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 Optimisation and Rule Graphs

Previous researchers note the problem for semantic optimisation of database queries caused by its production of a large number of semantically equivalent alternative queries, from which one must be quickly chosen. The present paper observes that this is caused by the nonuniform structure of rules, which also (i) prevents fast access to rules, (ii) allows the rule base to become impractically large, and (iii) such rules anyway are of low utility for SQO. Simple rules are less expressive but more useful in this application. Single-antecedent, single-consequent rules are the main component of the rule base. The rule set then constitutes a graph whose edges are the rules. This Condition Dependency graph provides a map of possible query reformulation operations so that guided direct modification of the single existing query is possible instead of blind sequential application of rules and cost evaluation for the resulting set of alternative queries.