{'fraction_non_alphanumeric': 0.019340159271899887, 'fraction_numerical': 0.0, 'mean_word_length': 5.821705426356589, '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}}
Path-expression Queries over Multiversion XML Documents

In this paper we address the problem of evaluating path expression queries on multiversion XML documents. Such queries are typically implemented on static (i.e., non-versioned) documents as path joins, using numbering schemes that maintain the structural relationships among the document elements. We extend previously proposed pattern matching techniques so as to support versions. We first present an easily updatable numbering scheme that efficiently captures structural relationships among the elements of the dynamically evolving document. We then propose a variation of Pathstack, an optimal pattern matching algorithm, that addresses the characteristics of our environment. Finally, through a thorough experimental evaluation we investigate two storage techniques in terms of space utilization and query efficiency.