Motivated by old and new applications, we investigate Datalog as a language for sequence databases. We reconsider classical features of Datalog programs, such as negation, recursion, intermediate predicates, and relations of higher arities. We also consider new features that are useful for sequences, notably, equations between path expressions, and "packing". Our goal is to clarify the relative expressiveness of all these different features, in the context of sequences. Towards our goal, we establish a number of redundancy and primitivity results, showing that certain features can, or cannot, be expressed in terms of other features. These results paint a complete picture of the expressiveness relationships among all possible Sequence Datalog fragments that can be formed using the six features that we consider.
翻译:在新旧应用程序的推动下,我们调查数据log,将其作为序列数据库的一种语言;我们重新考虑数据程序的传统特征,如否定、循环、中间上游和更高层关系等;我们还考虑对序列有用的新特征,特别是路径表达式和“包装”之间的方程式。我们的目标是澄清所有这些不同特征在序列中的相对表达性。为了实现我们的目标,我们确定了一些冗余和原始性结果,表明某些特征可以或者不能用其他特征来表达。这些结果描绘出所有可能的序列数据碎片之间的表达性关系的完整图画,这些碎片可以使用我们考虑的六个特征来形成。