Читать книгу Философия и цифровые технологии. Сборник статей - Александр Болдачев - Страница 37

Событийная
онтология
Архитектура на основе событийной семантики
Событийная семантика

Оглавление

Традиционные ИТ-архитектуры основаны на однозначном разделении данных и метаданных. Данные обычно хранятся в виде числовых и строковых значений в СУБД, а метаданные, описывающие содержательную сторону предметной области (отношения объектов и бизнес-логику), задаются структурой хранилищ и встраиваются в программу. При семантическом подходе смысловая составляющая предметной области отделяется от структуры приложения (кода программ и схем баз данных). Это достигается за счет использования специальных форматов записи, совмещающих данные и метаданные, – форматов, в которых значения свойств и стандартизированные с помощью общих словарей текстовые обозначения свойств сохраняются в едином кортеже данных. Из сгруппированных таким образом данных формируются семантические сети, или онтологии, фиксирующие отношения сущностей предметных областей, что позволяет делать инструменты обработки данных независимыми. Такое отделение семантики от кода призвано унифицировать алгоритмы информационных систем, стандартизировать обмен данными между независимыми приложениями и обеспечивает возможность модификации структуры данных (добавление новых сущностей и свойств) без изменения алгоритмов. Кроме того, появляется возможность реализовать логический вывод неявных фактов и семантический поиск (например, «выявить всех сотрудников, принимавших участие в проекте `Х` и имевших доступ к оборудованию `Y`, а затем уволившихся в 2021 году»).

Наиболее продвинутой реализацией семантической технологии на данный момент считается набор стандартов W3C для Semantic Web [3]. Основу стандартов составляют: спецификация записи данных (Resource Description Framework, RDF), язык описания онтологий (Web Ontology Language, OWL) и язык запросов SPARQL. Семантические инструменты широко применяются при создании больших хранилищ семантически связанных данных, таких как DBpedia и Freebase, позже влившихся в Google Knowledge Graph, а также для реализации отраслевых и корпоративных баз знаний.

Однако семантические сети (графы знаний) традиционно содержат только актуальные данные, фиксирующие статичное состояние предметной области. Это связано с тем, что спецификации RDF/OWL/SPARQL и другие подобные семантические инструменты не содержат представления о времени, а следовательно, не поддерживают работу с темпорально распределенными, причинно-зависимыми, организованными во временные последовательности данными. Делаются попытки преодолеть это ограничение с помощью разнообразных расширений (TOQL, SOWL, T-SPARQL, OWL-Time и др.), предусматривающих внедрение в объектные семантики механизмов отслеживания изменений во времени. Для этого используются разные способы: добавление специального временного предиката, операторов «до», «всегда», «позже» и др.; задание интервалов, на которых фиксируется истинность утверждений; введение четырехмерного представления объекта, включающего время его жизненного цикла (по типу 4D-онтологии инженерного стандарта ISO 15926); отслеживание временных версий графа. Однако подобные расширения решают лишь задачу привязки изменений свойств объектов к конкретным моментам времени и не содержат инструментов для семантического связывания последовательностей событий в процессы. Именно для решения этой проблемы и была разработана событийная семантика.

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

В формате события его семантическое содержание записывается кортежем. Семантическое содержание такого триплета трактуется как фиксация значения Value, имеющего тип ValueType (свойство или акт), на сущности, определенной событием BasicEvent. Поскольку все данные в EventFlow записываются в виде событий, то следует говорить, что любое событие (и приписывание значения свойства, и совершение акта) фиксируется на некотором предшествующем событии. Например, все свойства индивида (сотрудника компании) записываются как события фиксации их значений в предметной области.

Принципиальное отличие событийной семантики от объектной (в том числе имеющей темпоральные расширения) – введение между событиями обусловливающих связей, задающих отношения логического или причинного следования. События A и B считаются обусловливающими для события C, если констатируется обязательность их существования для выполнения C. Обусловливающие связи записываются в специальном поле формата события Condition, содержащем идентификаторы событий, послуживших условиями для совершения текущего события (C, Condition: A and B). Таким образом, онтология деятельности представляется в событийной семантике не только графом, устанавливающим связи между индивидами сущностей и значениями их свойств, но и темпоральным ориентированным ациклическим графом, фиксирующим временные последовательности обусловливающих друг друга событий.

Другим отличием событийной семантики от объектной является ее субъектность – обязательность указания актора, зафиксировавшего событие. В общем случае событием считается не изменение как таковое, а исключительно факт различения этого изменения участником деятельности – актором, в качестве которого может выступать человек, программный агент, датчик. Это требование важно не только с точки зрения смысла, вкладываемого в событие актором, но и с технологической точки зрения, поскольку значение события Value фиксируется конкретным актором (человеком или датчиком), а следовательно, зависит от состояния актора. Включение актора в формат события позволяет учитывать несогласованные, а порой и противоречивые утверждения, отражающие различные точки зрения, что существенно во многих предметных областях. Кроме того, наличие в формате события ссылки на актора позволяет одним запросом к событийному графу получать полное описание актора как участника конкретной деятельности.

Событийный граф содержит два типа событий: модельные события (описывающие семантическую и темпоральную связанность сущностей и актов) и предметные события, фиксирующие конкретные значения свойств индивидов и акты их изменения. Модельное событие можно представлять как шаблон, декларирующий наличие свойства у сущности или возможное действие актора с этой сущностью, а предметное событие – как результат «заполнения» этого шаблона конкретным значением в ходе какой-либо деятельности. К примеру, по модельному событию может быть создано поле экранной формы, в результате заполнения которого в граф будет добавлено новое предметное событие со значением, введенным актором. Модельные события, задающие фиксированное множество свойств некоторой сущности или действия, группируются в модели. В событийной семантике устанавливается правило, согласно которому предметное событие может быть создано только по конкретной модели. То есть каждое новое событие проверяется не только на выполнимость (наличие обусловливающих событий), но и на соответствие конкретной модели, в которой, помимо семантического содержания события и условия его выполнимости, задаются и особые ограничивающие свойства, устанавливающие, например, количество допустимых для индивида предметных событий, область возможных значений, права доступа и др.

Поле Condition модельного события содержит логическое выражение, составленное из ссылок на значения других модельных событий. Во время исполнения модели в логическое выражение подставляются значения предметных событий, и если выражение принимает значения true, то в граф добавляется новое предметное событие, соответствующее модельному. При этом в поле Condition предметного события заносятся идентификаторы событий, обусловивших его генерацию, то есть данные о ребрах событийного графа.

Философия и цифровые технологии. Сборник статей

Подняться наверх