Преобразование запросов Datalog в запросы SQL(ite)

Журнал данных — прекрасный язык для запросов реляционных данных. Он простой, понятный, хорошо скомпонован и поддерживает рекурсивные запросы без дополнительного синтаксиса.

SQLite — это фантастическая встроенная база данных с тем, что кажется мощный механизм запросов, способный обрабатывать рекурсивные запросы — см. примеры внизу этой страницы для создания множеств Мандельброта и поиска всех возможных решений головоломок Судоко!

Мне интересно узнать, существует ли довольно стандартный способ преобразования запроса журнала данных в рекурсивный SQL, поддерживаемый SQLite, или существуют библиотеки, предоставляющие эту возможность.


person Benjohn    schedule 19.01.2017    source источник


Ответы (1)


DLVDB — это интерпретатор рекурсивного журнала данных, который использует подключение к базе данных ODBC для своих расширенных данных: http://www.dlvsystem.com/dlvdb/

Кроме того, бумага

С. Чери, Г. Готтлоб и Л. Танка. 1989. Что вы всегда хотели знать о журнале данных (и никогда не осмеливались спросить). IEEE транс. на Знай. и Data Eng. 1, 1 (март 1989 г.), 146–166. http://dx.doi.org/10.1109/69.43410

предоставляет теоретические основы и некоторые указания по переводу Datalog в реляционную алгебру.

person tkrennwa    schedule 19.01.2017
comment
Круто - спасибо. Я надеялся, что это будет несколько сотен строк Lua или что-то в этом роде. Ну что ж! - person Benjohn; 07.02.2017