{'fraction_non_alphanumeric': 0.012206572769953052, 'fraction_numerical': 0.0, 'mean_word_length': 5.091428571428572, '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}}
Computing Repairs from Active Integrity Constraints

Repairing an inconsistent knowledge base is a well known problem for which several solutions have been proposed and implemented in the past. In this paper, we start by looking at databases with active integrity constraints - consistency requirements that also indicate how the database should be updated when they are not met - as introduced by Caroprese et al.We show that the different kinds of repairs considered by those authors can be effectively computed by searching for leaves of specific kinds of trees. Although these computations are in general not very efficient (deciding the existence of a repair for a given database with active integrity constraints is NP-complete), on average the algorithms we present make significant reductions on the number of nodes in the search tree. Finally, these algorithms also give an operational characterization of different kinds of repairs that can be used when we extend the concept of active integrity constraints to the more general setting of knowledge bases.