prolog - datalog 和 prolog 的语义是什么?

标签 prolog datalog

数据记录是在集合还是多重集合上运行?这同样适用于序言吗?我找不到任何相关文档。

最佳答案

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

关于prolog - datalog 和 prolog 的语义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28305624/

相关文章:

clojure - not 子句在 Datomic 中如何工作?

prolog - 有没有办法检查序言中的元素是否为 bool 值?

Prolog:忽略输出中不需要的变量

prolog - 查找列表中谓词的出现次数

memory - Prolog - 如何清除内存并从头开始?

z3 - z3数据日志中的否定表示最优性

prolog - Datalog、CLIPS、Prolog

list - Prolog:从列表B中删除列表A中出现的所有元素

clojure - 可以通过 Datomic pull 语法获取枚举值吗?

sql - 图灵完备的图查询语言