Оголошеннявнутрішньої бази фактів
На цьому етапі ми розглянемовнутрішню базу фактів.
Внутрішня база фактів складається з фактів, які ви можете безпосередньо додавати та видаляти з вашої програми наПролозіпід час її виконання. Ви можете оголошувати предикати, що описують внутрішню базу даних у розділіdatabaseпрограми та застосовувати ці предикати так само, як використовуються предикати, описані в розділіpredicates.
Прологінтерпретує факти, що належать до бази даних, так само, як звичайні предикати. Факти предикатів внутрішньої бази фактів зберігаються в таблиці, яку можна легко змінювати, тоді як звичайні предикати досягнення максимальної швидкості компилируются в двійковий код.
Оголошення внутрішньої бази фактів
У цьому прикладі можна використовувати предикатpersonтаким же чином, як використовуються інші предикати (male, female, child). Єдина відмінність полягає в тому, що ви можете додавати та видаляти факти для предикатуpersonпід час роботи програми.
Слід зазначити такі два обмеження на предикати, оголошені розділ фактів:
- дозволяється додавати до бази даних лише факти, але не правила;
- факти бази що неспроможні містити вільні перемінні.
Допускається наявність кількох розділівdatabase, але для цього потрібно явно вказати ім'я кожного розділуdatabase.
Опис розділуdatabaseз ім'ямmydatabaseстворює базу даних фактів з ім'ямmydatabase. Якщо ви не даєте імені внутрішньої бази фактів, то за умовчанням їй надається стандартне ім'яdbasedom.
На наступному кроці ми розглянемовикористання внутрішніх баз фактів.