Я не могу понять, как рассчитывать среднее, максимальное и минимальное значение с помощью языка декларативного логического языка Datalog.Максимальный минимум и среднее значение в Datalog
Например. Учитывая эту простую схему
Flows(Stream, River)
Rivers(River, Length)
Если я хочу
а) средняя длина рек,
б) самая длинная река,
с) и река с меньшим количеством потоков
Каковы правильные запросы Datalog?
Я прочитал теорию Datalog, но не могу понять, как эти простые запросы на другом языке могут быть решены с помощью Datalog и не найдены ни одного подобного образца.
Примечание
регистрации данных, которые я использую с основными арифметическими функциями, как y is z+1
, y is z-1
, y is z\1
или y is z*1
, и вы можете использовать X<Y
или Y>X
заявления, и отрицание, так что теоретически должно быть возможно сделать этот вид допроса в так как он обладает достаточной выразительной силой.
Datalog, который я использую, имеет основные арифметические функции, такие как 'y is z + 1' или' y is z * 1' и т. Д., И вы можете использовать 'X X', поэтому теоретически должно быть возможно делать такой допрос в некотором роде, поскольку он обладает достаточной выразительной силой. – AndreaF
Поверьте мне, это невозможно в стандартном Datalog, без расширений для агрегации. Datalog не завершен. См. Также Запись данных в Википедии. – user474491
Как я уже сказал, не является стандартным Datalog и поддерживает эти операции – AndreaF