A Look at Upcoming Innovations in Electric and Autonomous Vehicles kb-prolog вышел в открытый доступ. Prolog снова в деле!

kb-prolog вышел в открытый доступ. Prolog снова в деле!

kb-prolog вышел в открытый доступ. Prolog снова в деле!

Разработчик Mateu опубликовал гиперреляционную базу знаний на Prolog - прототип для магистерской диссертации, который уже интересен всерьёз

На GitHub появился необычный проект: разработчик под псевдонимом Mateu выложил kb-prolog - гиперреляционную базу знаний с локальным хранилищем, адресуемым по содержимому. Формально это прототип для магистерской работы. По факту - цельная система с интерактивным интерфейсом, версионированием данных и нетривиальной архитектурой.

Что внутри и почему это не очередной учебный проект

Основа kb-prolog - гиперреляционный граф. Знания хранятся в виде четырёхэлементных утверждений: субъект, предикат, объект и набор свойств. Ключевой момент - субъекты и объекты сами могут быть утверждениями. Это реификация: система умеет делать утверждения об утверждениях, что принципиально отличает её от классических троек в духе RDF. Такой подход давно обсуждается в академической среде как более выразительная альтернатива стандартным графам знаний, но реализаций в открытом доступе - единицы.

Хранилище работает через SHA-256. Файлы хешируются и атомарно фиксируются вместе с метаданными графа. Дедупликация происходит автоматически - повторный контент просто не копируется. Это архитектура в духе content-addressable storage, хорошо знакомая тем, кто работал с Git или IPFS.

Отдельного внимания заслуживает поддержка time-travel. Каждое обновление порождает новую версию утверждения, связанную с предыдущей через поле replaces_id. История восстанавливается по цепочке. Звучит просто - на практике это редкость для подобных систем.

Prolog как главная среда, а не как экзотика

Среда выполнения - Trealla Prolog. Это не дань академической моде: Prolog органично подходит для работы с реляционными структурами и логическими запросами. Доступ к SQLite и графической библиотеке Raylib организован через FFI - разделяемые C-библиотеки подгружаются по мере надобности.

Сам код написан на C и Prolog, опубликован под лицензией GPL v3.0. Открытая лицензия означает, что любой может форкнуть, доработать и встроить компоненты в собственные исследовательские или прикладные проекты.

Графический интерфейс и перспективы

Проект комплектуется визуальным просмотрщиком графов на базе Raylib. Там есть предварительный просмотр изображений, строка запросов и поиск по узлам. Для академического прототипа - уровень неожиданно высокий.

Интерес к подобным системам в последние годы заметно вырос - во многом благодаря буму вокруг графов знаний в контексте больших языковых моделей. Гиперреляционные структуры рассматриваются как способ хранить более богатый контекст, чем позволяют классические триплеты. kb-prolog занимает в этом пространстве скромную, но чёткую нишу: локальная, прозрачная, хорошо документированная система без зависимости от облачных сервисов.

  • Язык реализации: C и Prolog
  • Среда выполнения: Trealla Prolog
  • Хеширование: SHA-256
  • Лицензия: GNU GPL v3.0
  • Интерфейс: графический просмотрщик на Raylib
  • Хранилище: SQLite через FFI