问题标签 [pydatalog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 pyDatalog 中创建算术谓词?
如何将这种算术谓词转换为合法的 pyDatalog 谓词?
添加(X, Y, Z) ← X + Y = Z
例如:
?add(5, 7, Z)。
答案应该是:add(5, 7, 12)。
谢谢!
python - 为什么 pyDatalog 没有终止?
我正在查看 pydatalog,并根据此博客条目松散地创建了这个快速转换程序:
转换长度.py:
事情在 shell 中开始很好,但最后一个 print 语句只是挂起:
...而且我什至还没有用 X 代替 1 来查看几个值!
我在做一些明显错误的事情吗?
prolog - 练习 Datalog 的最佳方法?
练习 Datalog 的最佳方法是什么?
我应该在 pyDatalog 中练习吗?还是我应该选择 Prolog?(但 Datalog 和 Prolog 的语法不是不同吗?)
谢谢你。
python - Datalog:为什么 (X==False) & (Y==not(X)) 不评估?
我正在使用 pyDatalog(在 Python 2.7 中)。使用类似的算术函数+
,我可以引用一个较早的绑定变量:
但我不能not
以同样的方式使用布尔运算符:
operator-keyword - pyDatalog 是否有像 prolog 这样的“剪切”运算符?
这可能很简单,但我无法在任何地方找到答案。在 Prolog 中,当您想阻止它搜索其他答案时,一旦变量已经被实例化,您可以使用 ! 标志(通常称为“切割”标志)。您可以在此链接中看到它以了解我的意思: http ://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlse44
例如,给定规则:
如果我们查询:
这 !sign 将阻止 prolog 回溯并尝试通过重新实例化 X 来证明 (X =< Y)。这意味着所有答案中的 X 将具有相同的值。
pyDatalaog 中有这样的东西吗?
python - 如何从 pyDataLog 中撤回规则
我正在实现一个类似 FOIL 的算法,我想在其中有效地尝试不同的假设(即子句),同时保持其余数据不变。我想知道如何在不使用 clear() 函数的情况下收回规则?
python - pyDatalog 中的静态类型:可能吗?
例如,使用mypy库,可以指定一个函数输入一个字符串并输出一个字符串,如下所示:
在 pyDatalog 中,可以一次定义(比如说)一个一元函数一个值,如下所示:
有没有办法指定 favoriteWords 的参数必须是一个整数,并且输出必须是一个字符串?
z3 - bddbddb 中的非循环关系
我正在使用 Z3 评估使用 bddbddb 格式 ( http://bddbddb.sourceforge.net/ ) 编写的数据记录程序。
如何以 bddbddb 格式表达关系是非循环的这一事实?
我的意思是数据记录中的这样一条规则
:- 相对(X,Y),相对(Y,X)。