问题标签 [datalog]

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.

0 投票
0 回答
446 浏览

python - 如何在pyDatalog中动态创建函数符号?

例如,我在 Datalog 中有这样的规则:

在此处输入图像描述

如何使用“加载”在 pyDatalog 中动态创建这些规则?

谢谢!

0 投票
2 回答
657 浏览

clojure - 原子中的一对多关系

假设我有一个看起来像这样的数据 -

我想按姓名查找作者以及他们博客的所有标题和博客数。到目前为止,我有

我只能获得博客的总数。如何仅使用数据日志查询来获取博客的标题?我也不能在博客实体上拥有 belongs_to 关系。

更新

“作者/博客”的架构如下所示:

0 投票
1 回答
161 浏览

prolog - 数据记录代码在 Racket 中不起作用

我正在尝试将此 Prolog 代码移植到 Racket 中的 Datalog,使用本页底部的示例。

但它在[X,Z|L]代码的最后一行给出了这个错误:

如何在 Datalog 中表示列表?谢谢你的帮助。

0 投票
1 回答
458 浏览

prolog - 练习 Datalog 的最佳方法?

练习 Datalog 的最佳方法是什么?

我应该在 pyDatalog 中练习吗?还是我应该选择 Prolog?(但 Datalog 和 Prolog 的语法不是不同吗?)

谢谢你。

0 投票
2 回答
205 浏览

python - Datalog:为什么 (X==False) & (Y==not(X)) 不评估?

我正在使用 pyDatalog(在 Python 2.7 中)。使用类似的算术函数+,我可以引用一个较早的绑定变量:

但我不能not以同样的方式使用布尔运算符:

0 投票
2 回答
1697 浏览

prolog - 幼稚和半幼稚的评估有什么区别?

我一直在尝试实现一种算法来对数据记录程序进行半幼稚的评估,但在任何地方都无法得到一个简单的答案来解释简单单词的差异。

根据我的理解,天真是一种自下而上的评估技术,所以是半天真的。

在第一次迭代中,两种评估技术都从一个空集开始。

随着迭代的进一步进行,双方最终都会进行迭代并产生元组,直到达到新的元组。

所以半天真从规则的头部或主体开始?

有人可以解释一下 EDB 和 IDB 如何在上述程序的每次迭代结束时更新。是每个谓词下存储的元组。就像一个单独的边缘列和一个单独的路径列一样,或者它们被存储为一个集合。

全球统一和地方统一有什么区别?

0 投票
1 回答
55 浏览

datalog - 数据记录中的构建序列

我正在使用带有否定的数据记录版本。我正在尝试编写一个程序,为关系中的每一行分配递增的序列号。例子:

给定一些EDB

items("a", "b") items("a", "c") items("b", "b")

我希望能够生成以下 IDB,为中的每一行分配一个序列值items

items_with_seq("a", "b", 0) items_with_seq("a", "c", 1) items_with_seq("b", "b", 2)

0 投票
2 回答
886 浏览

datomic - 原子聚合:计数相关实体而不会丢失零计数的结果

我有一个由问题组成的域模型,每个问题都与许多评论和确认相关联。

我想做一个Datalog 查询,它为每个问题提取一堆内容属性,以及相关的评论和确认的数量,包括这些关系何时为空(例如,某些问题没有评论或没有确认),其中如果返回的计数应为 0。

我已经看到了以下要点,它显示了如何使用“权重”变量(sum ...)并将(or-join)其与“权重”变量结合以在关系为空时获得零计数。

但是,当有 2 个关系时,我看不到如何使这项工作。我尝试了以下方法,但返回的计数不正确:

最初是在 Clojurians Slack 上问的。

0 投票
0 回答
91 浏览

parsing - Antlr 语法令牌未被识别

您好,我需要 antlr4 语法方面的帮助。我一直在尝试为 Datalog 语法创建一个解析器。这只是整个代码的一小部分。无论我试图解析它被识别为大写还是小写。谓词标记未被识别

例如下面的代码应该解析

但它被解析为

对于我的其余代码,它的解析方式类似。我如何解决它?

我哪里错了。请帮忙

0 投票
0 回答
82 浏览

model - 查询 Datalog 最小不动点评估

有人可以帮我弄这个吗?以下陈述是真的吗?

如果数据记录程序的最小定点评估没有终止,则最小模型必须是无限的

我的答案:

是的,这是真的,在函数的情况下,最小定点评估不会终止。

谢谢