datalog和prolog的语义是什么?

时间:2015-02-03 17:59:53

标签: prolog datalog

数据记录是在集合还是多集合上运行?这同样适用于prolog吗?我无法找到任何关于此的文件。

1 个答案:

答案 0 :(得分:3)

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,甚至包含X in 2..sup, X mod 2 #= 0, X mod 2 #= 1中没有的解决方案。