Модели и методы разработки веб-приложений на основе онтологии предметной области, страница 3

Метаданные указанного вида вносятся в модель предметной области путем наследования концептов различных сущностей от концептов соответствующих типов ресурсов. А в зависимости от того, от каких концептов наследуется концепт ресурса, система может обрабатывать его тем или иным образом. Для связывания операций, требуемых для обработки объектов с концептами, к которым они относятся, предлагается применять системы шаблонов.

3  Принцип обработки RDF-данных на основе шаблонов

Обработка данных подразумевает либо их преобразование для получения производных данных или представления исходных данных в другом формате, либо выполнение действий, управляемых обрабатываемыми данными. Обе эти задачи можно свести к вычислению некоторой функции, зависящей от природы обрабатываемых данных: при преобразовании результатом вычисления будут являться новые данные, во втором случае — выполнение некоторых действий. Для построения метода обработки данных в формате RDF будем отталкиваться от задачи преобразования, которая потом будет обобщена и на задачу выполнения действий. Разрабатываемая модель схожа с методом преобразования данных в формате XML, с использованием шаблонов XSL [], поэтому будем называть ее моделью обработки RDF-данных на основе шаблонов.

Преобразование RDF-данных может быть построено по тому же принципу, что и язык XSL. Любое преобразование может быть определено в виде набора шаблонов, представляющих собой кортежи , где  — концепт, определяющего класс объектов, к которым применим данный шаблон,  — функция, проводящая преобразование, соответствующее данному шаблону. Для удобства будем пользоваться функцией , возвращающей концепт, связанный с заданным шаблоном.

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

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

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

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

3.1  Алгоритм выбора шаблона

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

Определение. Система шаблонов  называется правильно сформированной, если выполняется следующее условие:

.

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

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