将 Datalog 查询转换为 SQL(ite) 查询

Turning Datalog queries in to SQL(ite) queries

Datalog 是一种用于查询关系数据的可爱语言。简单明了,组合好,支持递归查询,无需额外语法。

SQLite is a fantastic embedded database with what seems to be a powerful query engine 能够处理递归查询 - 请参阅该页面底部的示例以生成 Mandelbrot 集并找到数独谜题的所有可能解决方案!

我很想知道是否有一种相当标准的方法可以将数据记录查询转换为 SQLite 支持的递归 SQL,或者是否有提供此功能的库设施。

DLVDB 是递归数据记录的解释器,其扩展数据使用 ODBC 数据库连接:http://www.dlvsystem.com/dlvdb/

除此之外,论文

小号。 Ceri、G. Gottlob 和 L. Tanca。 1989. 你一直想知道的关于 Datalog 的事(而且从来不敢问)。 IEEE 跨。在诺尔。和数据工程。 1, 1(1989 年 3 月),146-166。 http://dx.doi.org/10.1109/69.43410

提供理论背景和一些将 Datalog 转换为关系代数的指导。