Оголошеннявнутрішньої бази фактів

На цьому етапі ми розглянемовнутрішню базу фактів.

Внутрішня база фактів складається з фактів, які ви можете безпосередньо додавати та видаляти з вашої програми наПролозіпід час її виконання. Ви можете оголошувати предикати, що описують внутрішню базу даних у розділіdatabaseпрограми та застосовувати ці предикати так само, як використовуються предикати, описані в розділіpredicates.

Прологінтерпретує факти, що належать до бази даних, так само, як звичайні предикати. Факти предикатів внутрішньої бази фактів зберігаються в таблиці, яку можна легко змінювати, тоді як звичайні предикати досягнення максимальної швидкості компилируются в двійковий код.

Оголошення внутрішньої бази фактів

У цьому прикладі можна використовувати предикатpersonтаким же чином, як використовуються інші предикати (male, female, child). Єдина відмінність полягає в тому, що ви можете додавати та видаляти факти для предикатуpersonпід час роботи програми.

Слід зазначити такі два обмеження на предикати, оголошені розділ фактів:

  • дозволяється додавати до бази даних лише факти, але не правила;
  • факти бази що неспроможні містити вільні перемінні.

Допускається наявність кількох розділівdatabase, але для цього потрібно явно вказати ім'я кожного розділуdatabase.

Опис розділуdatabaseз ім'ямmydatabaseстворює базу даних фактів з ім'ямmydatabase. Якщо ви не даєте імені внутрішньої бази фактів, то за умовчанням їй надається стандартне ім'яdbasedom.

На наступному кроці ми розглянемовикористання внутрішніх баз фактів.