Функциональность фреймворка OsaWL

Редактор онтологий

Редактор онтологий OsaWL предназначен для индивидуальной и коллективной разработки онтологий в графическом (графовое представление) и/или табличном видах. Набор инструментов редактора онтологий OsaWL позволяет просто и наглядно проектировать базы знаний (TBox) и манипулировать базой фактов (ABox) произвольных предметных областей.

Информация в онтологической платформе OsaWL хранится в виде структур, называемых триплетами❮Субъект, предикат, Объект❯. Триплет — это базовый “факт”, элементарное высказывание о некоторых знаниях. Субъекты и Объекты триплетов — это вершины сетевого (графового) представления знаний, а предикаты — это связи между вершинами.

Например, в триплете ❮ООО Ромашка, имеет сотрудника, Иван Иванов❯ ООО Ромашка играет роль Субъекта, Иван Иванов — Объекта, а имеет сотрудника — предиката. В настоящем документе будет также встречаться следующая форма записи триплета: p(R1, R2), где R1 — это Субъект, R2 — Объект, а p — предикат.

Редактор онтологий OsaWL позволяет решать следующие задачи:

  • Редактирование базовых сущностей онтологий: классов, отношений и свойств, атрибутов отношений, индивидов и их отношений
  • Стилизация внешнего вида объектов (форма, цвет, иконки, размер) для облегчения визуальной идентификации
  • Организация мультиоконного представления для быстрого доступа к связанным онтологиям, редактору правил, документам, семантическим запросам, определениям и др.
  • Импорт онтологий из форматов RDF/XML, OWL/XML, Turtle и других
  • Экспорт онтологий в OWL/XML
  • Совместное редактирование онтологий с отображением изменений в режиме реального времени
  • Коллективная разработка онтологий с поддержкой функций отправки фрагментов онтологии на согласование, мониторинга хода согласования, комментирования шагов согласования, вычисления уровня коллективной согласованности онтологий и их фрагментов
  • Фильтрация и поиск объектов онтологии
  • Ручное или автоматическое позиционирование объектов онтологии на полотне
  • Кластеризация (группировка) объектов онтологии для облегчения читаемости и навигации по онтологии
  • Создание и назначение тегов (текстовых меток) на объекты онтологии для быстрого поиска и фильтрации
  • Пошаговый анализ онтологии — режим, при котором отображаются объекты, имеющие непосредственные отношения с исследуемым объектом
  • Разграничение доступа к онтологиям и объектам онтологий
  • Фиксация и сравнение версий онтологий
  • Повторное использование онтологий и объектов онтологий
  • Слияние и мутация объектов онтологий: классов, отношений, экземпляров
  • Формирование описания онтологии в web-формате W3C включая разделы: аннотация, авторы, классы, отношения, свойства и экземпляры. Быстрая навигация между разделами онтологии и синхронизация с графовым представлением.

Редактор атрибутов отношений

Спецификация отношений дополнительными атрибутами позволяет машине логического вывода платформы OsaWL автоматически выводить (создавать) в базе фактов новые знания, а также ограничивать возможности индивидов по вступлению в отношения с другими индивидами.

Все атрибуты отношений учитываются ядром платформы OsaWL в процессе манипулирования базой фактов и позволяют поддерживать непротиворечивость данных.

Атрибут отношенияОписаниеПримеры
Является функциональнымЗапрещено одновременное наличие двух и более отношений p(X1, Y1) и p(X1, Y2), т.е. в любой момент времени индивид X1 не может быть связан по отношению p более чем с одним другим индивидомОтношение имеет отца является функциональным, т.к. человек не может иметь более одного биологического отца
Является не функциональнымРазрешено одновременное наличие двух и более отношений p(X1, Y1) и p(X1, Y2)Отношение имеет брата/сестру является не функциональным, т.к. человек может иметь сколько угодно братьев и сестер
Является рефлексивнымРазрешены отношения вида p(X1, X1), т.е. индивид X1 связан с индивидом X1 отношением pОтношение геометрически подобен является рефлексивным, т.к. треугольник подобен самому себе
Является не рефлексивнымЗапрещены отношения вида p(X1, X1)Отношение имеет отца является не рефлексивным, т.к. человек не может быть отцом самому себе
Является симметричнымЕсли в базе фактов имеется триплет p(X1, Y1) и отношение p является симметричным, то в базе фактов машиной логического вывода будет порожден новый триплет p(Y1, X1)Отношение имеет брата/сестру является симметричным, т.к. если у Василия есть брат Иван, то отсюда автоматически следует, что у Ивана есть брат Василий
Является транзитивнымЕсли базе фактов имеются триплеты p(X1, Y1) и p(Y1, Z1) и отношение p является транзитивным, то в базе фактов машиной логического вывода будет порожден новый триплет p(X1, Z1)Отношение имеет предков является транзитивным. Если Лев имеет предка Дмитрий, а Дмитрий имеет предка Вячеслав, то Лев имеет предка Вячеслав
Является инверсным функциональнымЗапрещено одновременное наличие двух и более отношений p(X1, Y1) и p(X2, Y1), т.е. в любой момент времени не может быть более одного индивида, связанного по отношению p с индивидом Y1Отношение имеет питомца является инверсным функциональным, т.к. если Дмитрий имеет питомца Мурка, то никакой другой человек не может иметь этого же питомца
Минимальная мощность отношенияЧисло, указывающее минимально-возможное количество индивидов, с которыми можно вступить в отношениеОтношение имеет родителей имеет минимальную мощность равную 2 (два), т.к. у любого человека не может быть менее двух биологических родителей
Максимальная мощность отношенияЧисло, указывающее максимально-возможное количество индивидов, с которыми можно вступить в отношениеОтношение имеет родителей имеет максимальную мощность равную 2 (два), т.к. у любого человека не может быть более двух биологических родителей

Редактор отношений между отношениями

Отношение между отношениямиОписаниеПримеры
ИнверсияЕсли отношения p1 и p2 связаны отношением инверсии, то при наличии в базе фактов триплета p1(X1, Y1) машина логического вывода создаст новый триплет p2(Y1, X1) и наоборот, т.е.
• p1(X1, Y1) ⇨ p2(Y1, X1)
• p2(Y1, X1) ⇨ p1(X1, Y1)
Отношение имеет мужа инверсно отношению имеет жену, т.к. если Татьяна имеет мужа Дмитрий, то Дмитрий имеет жену Татьяна
НадсвойствоЕсли отношение р2 является надсвойством для отношения р1, то при наличии в базе фактов триплета р1(Х1, Y1) машина логического вывода создаст новый триплет p2(X1, Y1), т.е.
• p1(X1, Y1) ⇨ p2(X1, Y1)
Отношение имеет предков является надсвойством для отношений имеет отца и имеет мать. Если Лев имеет отца Дмитрий и Лев имеет мать Татьяна, то Лев имеет предков Дмитрий и Татьяна
НепересечениеЕсли отношение р1 не пересекается с отношение р2, то при наличии в базе фактов триплета р1(X1, Y1) не может существовать триплет p2(X1, Y1) и наоборотОтношение имеет мужа не пересекается с отношением имеет отца. Если Татьяна имеет мужа Дмитрий, то Татьяна не может иметь отца Дмитрий и наоборот

Редактор правил

Редактор правил OsaWL позволяет описать последовательность логических рассуждений, которые приводят к выводу новых фактов. Правила OsaWL используются при решении следующих задач:

  • Определение “динамических” классов, экземплярами которых будут являться любые объекты, удовлетворяющие условиям правила
  • Вычисление отношений между индивидами
  • Ограничение диапазонов отношений
  • Имяобразование индивидов
  • Вычисление скалярных свойств индивидов, в том числе используя функции агрегации данных

Графический редактор правил

Графический редактор правил позволяет описать последовательность логических рассуждений объединяя триплеты в цепочки и накладывая ограничения на равенство или не равенство субъектов и объектов триплетов. Созданное правило может быть использовано для вычисления отношений между индивидами.

На изображении выше представлено правило для вычисления полных братьев и сестер для любого человека на основании следующей цепочки рассуждений: если два различных человека имеют общих отца и мать, то они являются братьями (сестрами, братом и сестрой).

Текстовый редактор правил

Текстовый редактор правил позволяет описать последовательность рассуждений в виде логических условий или формул для вычисления значений свойств.

Примеры текстовых правил:

  • [Оборудование].[имеет_повреждение].[нормативное_время_устранения_минуты] > 1 — правило может быть использовано для создания “динамического” класса “Оборудование с повреждением”, экземплярами которого в любой момент времени будет только оборудование с наличием повреждения, время устранения которого занимает более одной минуты
  • [Задача].[принадлежит_проекту].[имеет_код] + “.” + [Задача].[имеет_код] + «. » + [Задача].[имеет_название] — правило может быть использовано для имяобразования экземпляров класса “Задача” (задачи проекта) на основании кода проекта, которому принадлежит задача, кода и названия самой задачи
  • [АнализИсполненияБюджета].[годАнализа].inverse([годПериода]).inverse([период]).[план].sum() — правило может быть использовано для расчета суммарного плана по бюджету на год

Редактор семантических запросов

Редактор семантических запросов позволяет в визуальной форме сконструировать запрос к базе фактов (ABox) или базе знаний (TBox) платформы OsaWL. Редактор семантических запросов может быть использован для решения следующих задач:

  • извлечение данных из базы знаний и базы фактов для последующего анализа
  • дополнительная фильтрация извлекаемых данных, в том числе с использованием динамических ограничений: результаты запроса могут зависеть от пользователя, выполняющего запрос, и времени выполнения запроса
  • представление результатов запроса в различных форматах — табличный, графовый, сводная таблица
  • группировка и агрегация результатов запроса
  • довычисление результатов — описание дополнительных формул для расчета производных значений
  • повторное многократное использование семантических запросов при создании отчётов, документов и дашбордов

На изображении ниже представлен графический редактор семантического запроса и результаты выполнения запроса в табличной форме:

Редактор документов и публикаций

Редактор документов и публикаций OsaWL позволяет создавать документы с помощью WYSIWYG- или Markdown-редактора, а также объединять документы в публикации произвольной структуры.

С помощью документов могут быть решены следующие задачи:

  • создание текстовых документов произвольного содержания с использованием заголовков, списков, таблиц, изображений, видео, контейнеров, цитат, аббревиатур и сокращений, ссылок и пр.
  • встраивание результатов семантических запросов в текст документа в виде таблиц или сводных таблиц. Такие таблицы будут автоматически синхронизированы с базами знаний и фактов и будут оставаться актуальными
  • встраивание графовых представлений онтологий в текст документа, которые будут меняться вместе с онтологиями
  • встраивание ссылок на термины в текст документа с возможностью отображения их определений
  • связывание документов с любыми объектами платформы OsaWL
  • экспорт документов в форматы PDF и MS Word, печать документов
  • встраивание диаграмм — блок-схем, диаграмм последовательности, диаграмм классов, состояний, связь-сущность диаграмм и др.

Настоящий документ является примером документа, созданного с использованием редактора документов OsaWL.

Редактор диаграмм

Редактор диаграмм OsaWL позволяет создавать блок-схемы, диаграммы, описывать бизнес-процессы и архитектуры предприятий.

Создаваемые элементы диаграмм являются экземплярами трех классов (или их наследников): УзлыКоннекторы и Контейнеры, которые входят в онтологию диаграмм платформы OsaWL, поэтому могут вступать в отношения с любыми другими экземплярами платформы.

Базовая версия платформы OsaWL включает три базовые нотации:

  • BPMN 2.0
  • ArchiMate 3.0
  • Стандартная (базовый набор узлов, коннекторов и контейнеров)

Платформа предоставляет инструментарий для создания дополнительных (пользовательских) нотаций, включая графическое представление элементов нотаций. На изображении ниже представлен пример диаграммы, созданной с использованием пользовательской нотации для описания ИТ-инфраструктуры.

С помощью редактора диаграмм OsaWL могут быть решены следующие задачи:

  • Разработка блок-схем, диаграмм, описаний бизнес-процессов и архитектур предприятий в базовых или пользовательских нотациях
  • Редактирование свойств и отношений элементов диаграмм, как экземпляров соответствующих классов (так же известно как редактирование пользовательских данных элементов диаграмм)
  • Отображение связанных данных с элементами диаграмм в табличном виде. Содержание связанных данных определяется с помощью механизма семантических запросов
  • Переходы между связанными диаграммами, формирование иерархии диаграмм
  • Автоматическая генерация диаграмм с использованием механизмов семантических запросов

Редактор отчетов

Редактор отчетов OsaWL позволяет решать следующие задачи:

  • Формирование шаблонов отчетов, в том числе многостраничных
  • Предварительный просмотр отчетов
  • Использование семантических запросов в качестве источников данных для отчетов
  • Условное цветокодирование данных в отчете (например, при необходимости выделить отрицательные отклонения)
  • Различные формы представления данных в отчете, в том числе в виде графиков и диаграмм
  • Дополнительная фильтрация данных на уровне отчета
  • Создание дополнительных расчетных показателей в шаблоне отчета и агрегация данных
  • Параметризация отчетов
  • Экспорт отчетов во все распространенные “офисные” форматы файлов

Редактор определений

Редактор определений OsaWL позволяет решать следующие задачи:

  • Редактирование и хранение определений для объектов онтологий: экземпляров классов, классов, скалярных свойств, отношений. В текстах определений могут быть размещены ссылки на другие объекты онтологий и результаты семантических запросов
  • Автоматическое создание глоссария терминов предметной области. Навигация по определениям терминов. Навигация между связанными терминами. Списочное и иерархическое представления глоссария

Редактор ролевой модели

Ролевая модель OsaWL реализована с помощью концепции Представлений классов, которые позволяют разграничить доступ пользователей к классам и экземплярам классов, а также описать форму представления экземпляров в табличном виде и виде формы (карточки) редактирования.

У класса может быть любое количество представлений, содержащих разные состав и названия полей, различные настройки поведения полей.

На изображении ниже в упрощенном виде представлена онтология представлений и соответствие элементов пользовательского интерфейса элементам онтологии.

API для работы с онтологическим ядром

Платформа OsaWL предоставляет возможность взаимодействия с онтологическим ядром платформы с использованием REST API, предоставляющим методы для создания, удаления, чтения и изменения объектов онтологий с учетом ролевой модели доступа.