Cтраница 2
Если вы не дадите имени для внутренней базы данных, то по умолчанию ей присваивается стандартное имя dbasedom. Имена предикатов базы данных являются уникальными. [16]
В результате выполнения этого запроса все кортежи удовлетворяющие заданному условию, помещаются в резидентную базу данных Пролога. В качестве имени предиката для полученных фактов берется имя первого отношения в операторе FROM. Выполнение SQL-запроса происходит синхронно: механизм Пролога приостанавливается до тех пор, пока выбранные кортежи полностью не загрузятся в основную память. [17]
При записи m - арного предиката через бинарные предикаты используется специальное соглашение, позволяющее сохранить и явно указать соответствующие функциональные отношения. Каждая функция становится именем бинарного предиката, первый аргумент которого является именем исходного т-арного предиката, а второй - значением относящегося к этой функции аргумента. [18]
В рассматриваемой программе они состоят из имени предиката, ind и аргумента, несущего информацию. Первый элемент представляет собой название публикации ( издания), второй - название темы, а третий - список страниц, где находятся ссылки на эту тему. Первые два аргумента в ind являются строками, третий - списком строк. Заметьте, что если тема присутствует в нескольких публикациях, она будет иметь несколько индексов. [19]
Определим графический формализм И / ИЛИ-де-ревьев для представления грамматик и, следовательно, программ на Прологе, а также стратегий их выполнения. В И / ИЛИ-дереве узлы помечены именами предикатов, входящих в правила грамматики. [20]
Цели представляются как выражения, состоящие из имен предикатов и логических связок и, или, не. Ограничения на ходы сторон - это тоже выражения, состоящие из имен предикатов и связок и и затем: связка и имеет обычный логический смысл, а затем задает порядок. [21]
При записи m - арного предиката через бинарные предикаты используется специальное соглашение, позволяющее сохранить и явно указать соответствующие функциональные отношения. Каждая функция становится именем бинарного предиката, первый аргумент которого является именем исходного т-арного предиката, а второй - значением относящегося к этой функции аргумента. [22]
В дальнейшем нас интересует исключительно представление бинарных предикатов. Добавим несколько штрихов по поводу терминологии, широко используемой для концептуальных графов бинарных предикатов. Вообще имя бинарного предиката представляет некую функцию. Узел концептуального графа, указывающий это имя, называется связывающим узлом, ибо он связывает два концепта, представленных двумя аргументами бинарного предиката. Функция, представленная этим связывающим узлом, носит по той же причине название концептуального отношения. Термины имя бинарного предиката и аргумент, представляющие соответственно функцию и концепт, часто заменяют на связывающий узел и узел-концепт в графическом представлении. [23]
Концептуальный граф представляет логическую формулу. Имена и аргументы предикатов представлены в нем соответственно двумя типами узлов. Дуги графа соединяют имена предикатов с их аргументами. Эти графы близки к моделям, используемым специалистами по БД. [24]
Графическое представление m арных предикатов основано на следующем соглашении. Стрелка, соответствующая m - му аргументу, направлена к прямоугольнику, представляющему этот аргумент. Все остальные стрелки направлены от прямоугольников к кругу, представляющему имя предиката. [25]
Аргументом вызова является либо структура в форме Р / А, либо атом. В первом случае точка наблюдения устанавливается на процедуре для предиката Р с размерностью А. Во втором случае она устанавливается на каждой процедуре, для которой имя предиката совпадает с данным атомом, независимо от размерности. [26]
Ответы более удобочитаемы, чем термы Пролога. Полнота поиска обеспечивается предикатом fail. При нормальном использовании предиката все ( A, F) аргумент F является именем предиката из БД, а аргумент А-притяжательным местоимением подходящего рода. [27]
Любой предикат из каждой группы взаимно рекурсивных предикатов рассматривается отдельно. Эти группы образуют сильно связанные компоненты графа зависимостей, описанного в гл. С точки зрения пользователя система генерирует размеченную цель, состоящую из имени предиката цели со строкой верхних индексов. Буквы Ь и f верхних индексов указывают, связан ли данный аргумент или свободен соответственно. [28]
Несмотря на то, что в книге используется Турбо Пролог, вы можете работать и с другими версиями Пролога. В отличие от стандартного Пролога Турбо Пролог имеет несколько встроенных функций, которые дают программисту возможность максимально задействовать графику, звук, память, порты ввода-вывода и т.п. IBM PC. Другие версии Пролога не имеют этих свойств. В Турбо Прологе, однако, отсутствуют некоторые новейшие свойства, в частности способность рассматривать правила как данные, способность сопоставлять имя предиката с переменной. Впрочем, в книге мы не рассматриваем ни новейших, ни низкоуровневых ( машинных) свойств Турбо Пролога. Та-ким образом, все описанные здесь программы должны ра-ботать почти на любой версии Пролога. [29]
На рис. 5.4 изображены двухуровневые деревья продукций ( правил грамматики) из § 5.1.2. Цифры в круглых скобках указывают номера продукций. За корнями Деревьев, соответствующих продукциям ( 1) - ( 3), следуют множества И-узлов, отмеченные дугами окружностей, пересекающих отрезки прямых, представляющих дуги графа. Множество двухуровневых деревьев определяет грамматику. Пакет представляет собой множество продукций, имеющих одно и то же имя предиката в заголовке. ИЛИ-узлы пакета соответствуют предикатам его заголовка. [30]