Cтраница 1
Базовая конъюнкция может быть частью правила Пролога; она также может быть получена в результате композиции правил Пролога. [1]
Базовая конъюнкция называется соединенной тогда и только тогда, когда ее нельзя разделить на две части, не содержащие общих переменных. В дальнейшем будем полагать, что базовая конъюнкция является соединенной. Если некоторая базовая конъюнкция не является соединенной, будем рассматривать каждую соединенную часть как отдельную базовую конъюнкцию. [2]
Цепная базовая конъюнкция соответствует цепному запросу-соединению, а циклическая базовая конъюнкция соответствует циклическому запросу-соединению, в главе 8 при рассмотрении языка программирования Дейталог будет представлен метод отображения целей логического программирования в запросы реляционной алгебры. [3]
Оттранслируйте базовые конъюнкции, полученные в упр. [4]
Каждая базовая конъюнкция соответствует запросу-соединению ( называемому также конъюнктивным запросом) к базе данных. [5]
Система PRIMO рассматривает базовые конъюнкции как единичные запросы типа соединения. Таким образом, интерфейс базы данных использует избирательность оператора соединения для уменьшения числа кортежей, загружаемых в основную память. С другой стороны, факты помещаются в память в том же формате, что и исходные предикаты базы данных, и механизм Пролога повторяет выполнение соединения в основной памяти. Этим достигается максимальная прозрачность: механизм Пролога выполняет исходную программу пользователя, а не трансформированную программу с явными правилами для базовых конъюнкций. [6]
В TCPR-сиетемах определение базовых конъюнкций происходит так же, как и в ЬСРЯ-системах. Таким образом, улучшение базовых конъюнкций достигается за счет перемещения констант из головы в тело правил. [7]
Отсечение не может появляться внутри базовой конъюнкции. Таким образом, отсечение делит правило на две части: до и после отсечения. Базовые конъюнкции одыскиваются внутри каждой из этих частей. [8]
Если правило содержит несколько независимых базовых конъюнкций ( например, когда правило содержит дизъюнкции или отсечения, см. разд. [9]
Рассмотрим, каким образом определяется базовая конъюнкция в интерфейсе Пролога. [10]
ТСРЯ-системы могут улучшить только некоторые базовые конъюнкции рекурсивных правил, при этом анализ существенно усложняется. [11]
Интерфейс ESTEAM включает алгоритм последовательного построения базовых конъюнкций, начиная с целей Пролога. При слабом связывании все взаимодействия с базой данных происходят перед активацией механизма Пролога. При сильном связывании построение базовых конъюнкций запросов происходит одновременно с вычислением Пролог-программы. Интерфейс ESTEAM допускает дизъюнкцию, отрицание, рекурсию и специальный предикат отсечения ( рассмотренный в разд. Допускаются также агрегатные запросы. [12]
В первом правиле производится попытка сопоставить текущую базовую конъюнкцию с данными в основной памяти. Первое правило удовлетворяется, если в памяти Пролога имеются унифицируемые с текущей базовой конъюнкцией кортежи, иначе попытка выполнения правила завершается неудачей. [13]
В СРЯ-системах интерфейс Пролога решает задачу определения максимальных базовых конъюнкций, интерфейс базы данных формирует соответствующий запрос-соединение и управляет его выполнением. Когда результирующие кортежи извлечены из базы данных, интерфейс базы данных передает их либо по одному, либо все вместе ( как обсуждалось в разд. Следует отметить, что сборка базовых конъюнкций изменяет семантику программы Пролога, поскольку при этом модифицируется выполнение по отношению к первоначальной программе. Предложенные трансформации программы влияют на порядок и повторяемость кортежей в результирующем множестве, хотя само результирующее множество остается тем же. Таким образом, механизм Пролога, возвращающий множество ответов, должен маскировать указанные различия, тогда как в традиционном механизме Пролога этого делать не нужно. [14]
Каждый блок в SQL представляет при этом базовую конъюнкцию. [15]