Цифрова незалежність з оновленням Immich 3.0
Гіперреляційний підхід до управління знаннями

В основі kb-prolog лежить концепція гіперреляційного графа, що виводить роботу з даними на якісно новий рівень. У традиційних семантичних моделях дані представляються у вигляді простих тріплетів «суб'єкт — предикат — об'єкт». Однак реальні знання рідко бувають такими лінійними; вони потребують контексту, атрибутів та уточнень. Гіперреляційна модель дозволяє додавати властивості до самих зв'язків, а механізм реїфікації дає можливість перетворювати будь-яке твердження на повноцінний об'єкт. Це означає, що система може робити заяви про власні твердження, створюючи багатошарову структуру знань, де метадані стають такими ж доступними для аналізу, як і основні дані.

Технологічний фундамент проєкту базується на Content Addressable Storage (CAS) — сховищі, адресуйованому за вмістом. На відміну від традиційних файлових систем, де доступ здійснюється за шляхом або ім'ям файлу, тут ідентифікатором даних слугує їхній криптографічний хеш SHA-256. Такий підхід гарантує абсолютну цілісність інформації та забезпечує автоматичну дедуплікацію: якщо два ідентичні фрагменти знань потрапляють у систему, вони зберігатимуться в одному екземплярі. Атомарна фіксація метаданих графа разом із хешами перетворює базу знань на незмінний лог, що є критично важливим для забезпечення достовірності даних.
Особлива увага приділена часовому аспекту та еволюції знань. Реалізована функція «подорожей у часі» (Time-travel) дозволяє відстежувати історію змін кожного твердження. Завдяки механізму replaces_id, кожне оновлення не затирає старий запис, а створює нову версію, пов'язану з попередньою. Це формує безперервний ланцюг версій, дозволяючи досліднику або розробнику відновити стан бази знань на будь-який момент минулого та проаналізувати траєкторію зміни конкретного факту.
Обчислювальним ядром системи є середовище виконання Trealla Prolog. Вибір мови логічного програмування обумовлений її природною спорідненістю з графовими структурами та здатністю до ефективного пошуку за складними правилами. Для забезпечення високої продуктивності та взаємодії із зовнішнім світом використовується мова C та механізм Foreign Function Interface (FFI). Це дозволяє інтегрувати легковагову базу даних SQLite для зберігання метаданих та графічну бібліотеку Raylib для візуалізації процесів.
Завершує концепцію інтерактивний інтерфейс, що перетворює абстрактні логічні висновки на наочну карту знань. Візуалізатор на базі Raylib надає можливість не лише переглядати вузли графа та здійснювати пошук за ними, а й працювати з попереднім переглядом пов'язаних зображень. Таким чином, kb-prolog представляє собою замкнений цикл: від низькорівневого хешованого зберігання даних до високорівневого логічного виведення та візуального аналізу.

