I написал переводчик , который преобразует подмножество Prolog в пользовательские функции SQL.
Этот предикат в Прологе можно перевести на SQL:
is_between(A,B,C) :-
A<B,B<C.
Это вывод транслятора в виде функции MySQL:
CREATE FUNCTION is_between(A double,B double,C double) RETURNS BIT BEGIN
RETURN A>B and B>C;
END
Аналогично, есть компилятор Пролог-в-SQL компилятор для SWI-Prolog и другой транслятор , который преобразует нерекурсивное подмножество Datalog в SQL.