JSON Schema is an evolving standard for the description of families of JSON documents. JSON Schema is a logical language, based on a set of assertions that describe features of the JSON value under analysis and on logical or structural combinators for these assertions. As for any logical language, problems like satisfaction, not-elimination, schema satisfiability, schema inclusion and equivalence, as well as witness generation, have both theoretical and practical interest. While satisfaction is trivial, all other problems are quite difficult, due to the combined presence of negation, recursion, and complex assertions in JSON Schema. To make things even more complex and interesting, JSON Schema is not algebraic, since we have both syntactic and semantic interactions between different keywords in the same schema object. With such motivations, we present in this paper an algebraic characterization of JSON Schema, obtained by adding opportune operators, and by mirroring existing ones. We present then algebra-based approaches for dealing with not-elimination and witness generation problems, which play a central role as they lead to solutions for the other mentioned complex problems.
翻译:Jsson Schema是一种逻辑语言,其依据是一套描述所分析的Jsson价值特征以及这些说法的逻辑或结构组合的断言。关于任何逻辑语言,如满意度、非灭绝性、可喜可喜性、包含和等同性以及证人的产生,都具有理论和实践上的兴趣。虽然满意度微不足道,但所有其他问题都相当困难,因为Jsson Schema的否定、重复和复杂说法共同存在。为了使事情更加复杂和有趣,Jsson Schema不是代数,因为我们在同一方形物体的不同关键词之间有着合成和语义上的交互作用。出于这种动机,我们在本文中介绍了Jsson Schema的代数特征,通过添加适时的操作者,并通过反映现有的问题。我们随后提出了基于代数的处理非灭绝和证人产生问题的方法,这些方法在解决上述其他复杂问题的过程中发挥着核心作用。