Архитектура основана на двух базовых сущностях - матрицах и коллекциях, разделенных архитектурно.
Матрицы - это жестко связанная информационная структура, правила построения которой (жесткая классификация) заданы жестко и контролируются редактором матриц в процессе создания и изменения матрицы для того, чтобы при любых построениях сохранялись базовые свойства веерных матриц.
Основной примитив - матрица, которая может состоять из неограниченного количества вложенных уровней раскрытия в единой логике. Базовый уровень - нулевой, который может состоять только из одной веерной матрицы, называемой далее родительской. Каждый уровень раскрытия может содержать количество матриц, раскрывающих предметы матрицы предыдущего уровня, количеством равным размерности матрицы предыдущего уровня минус один. Размерность матриц не ограничена.
Матрица может содержать подматрицы, которые не имеют связи по раскрытию. В этом случае, когда размерность таких подматриц будет попадать в иерархию раскрытия уровней родительской матрицы, пользователь может вручную включить такие подматрицы в иерархию раскрытия, указав для них родительский уровень и раскрываемый предмет.
Матрицы могут быть связаны целиком, т.е. раскрытием сущности любого уровня любой матрицы может быть другая законченная матрица любой размерности, то есть возможно построение развернутых вложенных картин мира.
Жестко заложенная классификация позволяет восстанавливать раскрытие онтологических уровней с любого уровня вложенности со всеми порождаемыми связями, т.е. реализовывать все свойства веерных матриц.
Базовыми примитивами описания ячеек матрицы являются текст и список понятий (словарь). Эти примитивы описания используются при публикации и выводе матриц, а также используются в базовом поиске онтологий наравне с прикрепленными к ячейке коллекциями.
Матрицы хранятся в виде нормализованной реляционной базы данных.
Коллекции - это набор сущностей, объединенных пользователем по какому-либо основанию, которые могут быть привязаны к ячейкам любой веерной матрицы для прямого их отождествления и обучения нейросети. Их смысл - коллекционирование сущностей, релевантно представляющих ту или иную картину мира, и/или классификация материалов (например, интервью).
Коллекции могут состоять из практически любых информационных сущностей - текстов, видео, изображений, документов, персон а также программных функций и событий и могут быть связаны как с отдельным предметом или методом, так и с предметной областью в целом. Связь с предметной областью в целом - добавление коллекции к первой ячейке первой строки матрицы (пустой от предметов), связь со всеми нужными столбцами или строками - добавлением коллекции с предмету или методу первой строки или первого столбца. Добавление коллекций уровня методов или всей предметной области никак не ограничивает использование коллекций для каждой ячейки в отдельности - в этом случае выстраивается иерархия коллекций - коллекция конкретной ячейки считается уточняющей для коллекции уровня метода или всей предметной области.
Коллекции жестко связаны с пользователем сервиса - т.е. каждый из пользователей, включая администраторов, может связывать ячейки матриц только с коллекциями, созданными им самим.
Работа с коллекциями доступна также по программному API, ключи доступа к которому создаются при регистрации и доступны в личном кабинете пользователя.
Коллекции хранятся в нереляционной базе данных.
Отдельная реализация коллекций позволяет проводит обучение нейросети независимо от структуры матриц.
Базовый функционал: каждая предметная область может быть описана простым словарем понятий. В этом случае принадлежность к предметной области определяется в тексте простым определением наличия в нем предметных понятий с учетом различных словоформ.
Расширенный функционал: к каждой предметной области или предмету картины мира может быть привязана коллекция объектов, характеризующая эту предметную область, служащая базой для обучения нейросети. В этом случае определение предметной области во входящем потоке информации осуществляется по критериям, заданным в процессе самообучения нейросети.
Дополнительный функционал: с предметом, теорией или предметной областью может быть прямо проассоциировано входящее событие, тип которого и служит основанием для извлечения онтологии.
Программный функционал: с теми же сущностями может быть связана функция или функтор, вызываемая при контакте с предметной областью или предметом.
Для связанных с предметными областями матриц коллекции, пополняемые или связываемые через API, веерная матрица может выступать в качестве жесткого исследовательского классификатора. Например, для классификации по картинам мира исследовательских интервью. В этом случае объекты коллекций могут быть автоматически быть выстроены согласно наследованию уровней раскрытия веерной матрицы, то есть наследованию и раскрытию разных предметных областей, что позволяет производить их автоматическое валидирование на соответствие гипотезе их соответствия той предметной области, с которой связана коллекция.