Datalog легко идентифицировать с подмножеством Prolog, в котором не используются функциональные символы, а только константы и переменные. Но чистый журнал данных, который не использует отрицание, имеет дополнительное ограничение (*):
- Каждый факт обоснован.
- Каждая переменная в заголовке правила также встречается в теле правила.
Можем ли мы заключить, что односторонней унификации достаточно для ответа на иерархические запросы Datalog? Или есть примеры, демонстрируемые в SWI-Prolog 8.3.19, которые имеют (=>)/2 для одностороннего
unfication, которые представляют собой чистый Datalog, но не работают с односторонней унификацией?
(*)
Что вы всегда хотели знать о журнале данных
Ceri et. др. - 1989 г.
https://www.researchgate.net/publication/3296132