datalog 和 prolog 的语义是什么?

what are the semantics of datalog and prolog?

数据记录是对集还是对多集进行操作?这同样适用于序言吗?我找不到任何相关文件。

Datalog 的语义是在有限集上定义的。

然而,Prolog 为您提供了答案替换序列,并且在 Prolog 的情况下具有约束答案。答案替换可能代表简单的解决方案,如 X = 1,但它们也可能代表无限多的解决方案,如 X = [_A,_B,_C]。答案替换的顺序可以看作是一个多重集,但由于精确的顺序很重要,所以它甚至更通用一些。如 X = 1 ; X = 2 ; X = 1.

带有约束的一般答案进一步扩展了这个概念。一个答案 X in 2..sup, X mod 2 #= 0 包含无限多个解,它也可能包含有限多个 X in 1..3,甚至 none 如 X in 2..sup, X mod 2 #= 0, X mod 2 #= 1.