УДК 004.89, 004.682, 004.832.2
СОВМЕСТНОЕ ПРИМЕНЕНИЕ МЕТОДОВ РАСПРОСТРАНЕНИЯ
ОГРАНИЧЕНИЙ И СТРУКТУРНОЙ ДЕКОМПОЗИЦИИ
ДЛЯ АПРИОРНОГО АНАЛИЗА ЗАПРОСОВ К ОНТОЛОГИЯМ
1 2 А.А. Зуенко , П.А. Ломов
Институт информатики и математического моделирования
ФИЦ «Кольский научный центр Российской академии наук», Апатиты, Россия,
'zuenko @iimm. ru, 2lomov@iimm. ru
Аннотация
В отличие от реляционных СУБД, ориентированных на поддержку ссылочной целостности интенсивно меняющихся данных, при использовании RDF-репозиториев для хранения онтологий нет необходимости оперировать такими атомарными структурами, как элементарный кортеж таблицы, а можно использовать более подходящие структуры для группирования и обобщения информации. В статье онтология рассматривается как совокупность отношений (унарных и бинарных), выраженных с помощью специализированных матрицеподобных структур - С-систем, что позволяет ставить и решать задачи вывода на онтологии как задачи удовлетворения ограничений. Рассматриваемая в статье задача априорного анализа и упрощения SPARQL-запросов решается для онто-логий, которые разработаны с применением онтологических паттернов содержания, что обеспечивает предсказуемость структуры потенциальных запросов. Каждому паттерну сопоставляется совокупность шаблонов SPARQL-запросов. Разработан метод априорного анализа и преобразования шаблонов SPARQL-запросов в форму, позволяющую ускорить последующее исполнение конкретизированных пользовательских запросов. Метод основан на совместном применении методов структурной декомпозиции и авторских методов удовлетворения нечисловых ограничений. Применение методов структурной декомпозиции дает возможность разбивать шаблон SPARQL-запроса на части, распараллеливать выполнение подзадач, что особенно актуально при обращении к RDF-репозиториям большого объёма. Для соединения отношений, выраженных в виде совокупности С-систем, применяются авторские методы удовлетворения нечисловых ограничений, которые представляют собой модификации известных методов достижения совместности в вершинах и по дугам. Предлагаемый подход к представлению онтологии, а также к организации процедур вывода на онтологиях, позволяет снизить потребный объём памяти на хранение онтологии и обеспечить приемлемую скорость выполнения SPARQL-запросов.
Ключевые слова: онтология, паттерны онтологического проектирования, задача удовлетворения ограничений, программирование в ограничениях, SPARQL, RDF-репозиторий.
Цитирование: Зуенко А.А. Совместное применение методов распространения ограничений и структурной декомпозиции для априорного анализа запросов к онтологиям. / А.А. Зуенко, П.А. Ломов // Онтология проектирования. - 2018. - Т.8, №4(30). - С.571-593. - DOI: 10.18287/2223-9537-2018-8-4-571-593.
Введение
В современных информационных системах для обеспечения унифицированного представления знаний предметной области в виде совокупности связанных между собой объектов, процессов и явлений применяют онтологии. В качестве хранилищ онтологий, как правило, выступают RDF-репозитории, представляющие онтологии в виде набора RDF-триплетов «субъект-свойство-объект». В качестве языка запросов к RDF-репозиториям в этом случае используется язык SPARQL, позволяющий описывать запросы с помощью комбинаций шаблонов триплетов.
Распространённой проблемой применения RDF-хранилищ в информационных системах является замедление выполнения SPARQL-запросов при достижении большого (более 10 миллионов триплетов) объема хранимых данных. Такое снижение производительности связано с необходимостью перебирать большое количество триплетов при выполнении запроса, содержащего несколько конъюнкций и/или дизъюнкций шаблонов. По этой причине, как правило, выполняют предварительную группировку триплетов в таблицы (cluster-property table), соответствующие:
■ одному свойству (предикату);
■ свойству (предикату) для сущностей одного класса;
■ комбинациям субъектов, предикатов и объектов, которые часто встречаются в большинстве запросов.
Наряду с этим, при обработке запроса задействуется оптимизатор, выбирающий наиболее дешёвый план выполнения запроса на основе функции оценки стоимости, которая учитывает количество промежуточных результатов, порождаемых связкой шаблонов триплетов в том или ином плане выполнения.
Для повышения скорости выполнения SPARQL-запросов к онтологиям был разработан способ компактного представления онтологии в виде совокупности специализированных матрицеподобных структур (С-систем), а также основанный на этом представлении метод обработки SPARQL-запросов, реализованный в рамках парадигмы программирования в ограничениях [1]. При работе с онтологиями большого размера компактное представление онтологии и применение авторских методов распространения нечисловых ограничений позволило существенно ускорить выполнение SPARQL-запросов по сравнению с традиционным подходом к их обработке, базирующимся на динамическом программировании. Предложенный метод был успешно апробирован на онтологии интегрированного пространства знаний (ИПЗ) [2]. Однако он охватывал только этап непосредственного исполнения запроса, и не затрагивал этап его априорного (до стадии исполнения) анализа.
Особенностью представленных в статье исследований является то, что априорный анализ SPARQL-запросов предлагается выполнять для онтологий, разработанных с применением онтологических паттернов содержания (Content ontology Design Pattern, CDP) [3]. Паттерны представляют собой небольшие целостные фрагменты онтологии, формализующие обобщенные ситуации предметной области (например, участие в событии, исполнении роли, наличие частей у объекта и др.). Их использование позволяет обеспечить качество разрабатываемой онтологии, так как каждый паттерн является проверенным решением, доказавшим свою эффективность. По мнению авторов, помимо упрощения и ускорения процесса разработки онтологии, применение паттернов создает предпосылки для повышения эффективности запросов к онтологиям. Каждому онтологическому паттерну ставится в соответствие набор квалификационных вопросов (Competency questions) на естественном языке, которые указывают, какую информацию можно получить с помощью представляемого им фрагмента онтологии. При формировании списка квалификационных вопросов предполагается, что именно вопросы из этого списка наиболее часто адресуются информационной системе. Другими словами, квалификационные вопросы являются наиболее частотными, типовыми. Они могут быть легко преобразованы в соответствующие шаблоны SPARQL-запросов, содержащие неизвестные целевые атрибуты и атрибуты, значения которых присваиваются при конкретизации запроса пользователем и обеспечивают фильтрацию данных. Таким образом, структура подобных шаблонов SPARQL-запросов, описывающая используемые связи и концепты онтологии, известны заранее, а конкретные константы (экземпляры концептов онтологии) подставляются в шаблон в качестве условий фильтрации конечным пользователем. Чтобы анализ структуры запроса, построенного на основе такого шаблона, не производился при
каждом исполнении запроса целесообразно априорно единожды выполнить процедуру проверки и упрощения шаблона запроса и многократно использовать результаты анализа для повышения эффективности исполнения конкретизированных запросов данного типа.
Оригинальность предлагаемых исследований состоит в том, что задачу априорного анализа семантической корректности шаблона запроса, а также задачу его упрощения предлагается решать в форме задач удовлетворения ограничений.
Представленный в статье подход основан на интеграции структурных алгоритмов теории удовлетворения ограничений с предлагаемыми алгоритмами распространения нечисловых ограничений и нацелен на априорный анализ структуры запроса, её упрощение, а также на раннее выявление некорректных запросов и подготовку структур данных для эффективного выполнения конкретизированных запросов.
1 Методы решения задач удовлетворения ограничений
Рассмотрим общую постановку задачи удовлетворения ограничений и подходы к ее решению. Согласно [4], задача удовлетворения ограничений (Constraint Satisfaction Problem, CSP) состоит из трёх компонент:
■ X - множество переменных {X1, X2, ..., Xn};
■ D - множество доменов {D1, D2, ..., Dn}, где Di является областью определения переменной X;
■ C - множество ограничений {Ci, C2, ..., Cm}, которые предписывают допустимые комбинации значений переменных.
Состояние задачи описывается как присваивание значений некоторым (частичное присваивание) или всем переменным (полное присваивание): (X- = Vi, Xj = Vj, ...}. Решением задачи CSP является полное присваивание, которое удовлетворяет всем ограничениям.
Далее рассматриваются только задачи удовлетворения ограничений с конечными областями определения переменных.
Методы решения задач удовлетворения ограничений могут быть разбиты на три класса [5, 6]. Первый класс содержит различные варианты алгоритмов поиска в глубину с возвратами, которые строят решение путем расширения частичного присваивания шаг за шагом, используя различные эвристики и применяя разумные стратегии возврата из тупиковых вершин. Ко второму классу относятся алгоритмы распространения ограничений, которые исключают из пространства поиска некоторые элементы, не входящие в решение, обеспечивая снижение размерности задачи (см. например [7, 8]). Эти алгоритмы не строят сами по себе решение, поскольку исключают не все элементы, не входящие в решение. Они применяются или для препроцессинга задачи до использования алгоритмов другого типа, или перемежаются с шагами алгоритма другого типа (например, поиска с возвратами) для повышения производительности последнего. Наиболее популярными методами в рамках данного класса являются методы достижения совместности в вершинах (Node consistency) и по дугам (Arc consistency) [9, 10]. При этом полагается, что переменным соответствуют вершины некоторого графа, а бинарным ограничениям - его дуги. Точное определение понятия совместности довольно громоздко, поэтому здесь не приводится. Алгоритмы распространения ограничений позволяют свести исходную задачу CSP <X, D, C> к более простой задаче <X', D', C'>, где каждая область переменных в D' является подмножеством соответствующей области в D, а ограничения C' содержат то же множество решений CSP, что и ограничения C, но вид ограничений C', как правило, существенно проще.
Наконец, структурные алгоритмы (см. например, [11, 12]) используют информацию о структуре первичного или двойственного графа ограничений задачи. Алгоритмы этого клас-
са производят декомпозицию исходной задачи CSP на слабо связанные подзадачи, которые могут быть решены с помощью методов предыдущих двух классов.
Рассмотрим основные подходы, которые лежат в основе структурных алгоритмов. Другими словами, опишем способы, позволяющие использовать для быстрого поиска решений структуру самой задачи, представленную в виде графа ограничений.
Структура или топология задач CSP может описываться с помощью различных графовых моделей: (первичного) графа ограничений, гиперграфа ограничений, двойственного графа ограничений.
Первичный граф ограничений CSP (V, D, С) - это неориентированный граф G = (V, E), вершины V которого соответствуют переменным CSP, причём две вершины соединяются ребром в графе G, если соответствующие переменные участвуют в одном и том же ограничении.
Граф ограничений может быть использован для разбиения всей задачи на совокупность более простых с точки зрения вычислительной сложности подзадач.
Если в составе задачи CSP можно выделить полностью независимые друг от друга подзадачи, то их можно решать отдельно друг от друга, а полученные решения впоследствии скомбинировать в решение исходной задачи.
Для разбиения задачи CSP на независимые подзадачи {CSPг■}, можно рассмотреть связные компоненты графа ограничений. Предположим, что каждая подзадача CSPг■ содержит с переменных из общего количества п переменных, где с - константа. В таком случае получится п/с подзадач, и для решения каждой из них потребуется, самое большее, объем работы с1с, где с1 - размер доменов переменных. Таким образом, общий объём работы измеряется величиной O(d сп/с), которая линейно зависит от п; без такой декомпозиции общий объём работы измерялся бы величиной O(d п), которая экспоненциально зависит от п. Поэтому полностью независимые подзадачи являются очень привлекательными. Однако они встречаются редко.
В большинстве случаев подзадачи любой задачи CSP связаны друг с другом по переменным. В простейшем случае граф ограничений является деревом: любые две переменные связаны не больше чем одним путём. Алгоритм решения CSP с древовидной структурой обладающий низкой вычислительной сложностью (задача CSP может быть решена за линейное время [13]), включает следующие этапы.
1) выбрать в качестве корня дерева любую переменную и упорядочить переменные от корня к листьям таким образом, чтобы родительская вершина каждой вершины в дереве предшествовала этой вершине в таком упорядочении. Обозначить эти переменные по порядку как .Аа,...,Хп. Теперь каждая переменная, кроме корня, имеет только одну родительскую переменную.
2) в цикле по ' от п до 2 применять проверку совместности по дугам (X, X'), где X - родительская вершина вершины X/, удаляя значения из области определения Di по мере необходимости.
3) в цикле по' от 1 до п присваивать X/ любое значение, совместное со значением, присвоенным X, где X - родительская вершина вершины Х/.
Поскольку существует эффективный алгоритм для деревьев, следует рассмотреть вопрос о том, можно ли каким-то образом приводить к древовидным структурам более общие графы ограничений. Существуют два основных способа решения этой задачи; один из них основан на удалении вершин, а другой - на слиянии вершин друг с другом и образовании супервершин. Первый подход предусматривает присваивание значений некоторым переменным так, чтобы оставшиеся переменные образовывали дерево. В рамках первого подхода наиболее известными методами являются метод множеств разрыва цикла [14] и метод нахождения связных компонент графа ограничений [15, 16].
К типичным методам, реализованным в рамках второго подхода, относятся: метод древовидной декомпозиции (tree decomposition) [15, 17, 18] и метод древовидной кластеризации (tree-clustering) [17].
1.1 Метод множеств разрыва цикла
Метод множеств разрыва цикла (cycle cutset) [14] основан на том, что присваивание значения переменной устраняет её из дальнейшего рассмотрения в этой ветви дерева поиска. Это сильно меняет связность оставшейся части графа ограничений. Общий алгоритм решения указанным способом описан ниже [4].
1) выбрать подмножество S из множества переменных задачи CSP, такое, что граф ограничений после удаления S становится деревом. Подмножество S называется множеством разрыва цикла.
2) для каждого возможного присваивания переменным в S, которое удовлетворяет всем ограничениям в S, выполнить следующее:
■ удалить из областей определения оставшихся переменных любые значения, несовместные с данным присваиванием для S;
■ если оставшаяся задача CSP имеет решение, вернуть это решение вместе с присваиванием для S.
Если множество разрыва цикла имеет размер c, то общее время работы алгоритма составляет O(d c-(n-c)d 2). Несмотря на то, что задача поиска наименьшего множества разрыва цикла является NP-трудной, известны эффективные приближенные алгоритмы её решения.
1.2 Древовидная декомпозиция
Любая древовидная декомпозиция должна удовлетворять следующим требованиям:
■ каждая переменная из первоначальной задачи должна появляться, по меньшей мере, в одной из подзадач;
■ если две переменные первоначальной задачи связаны ограничением, то они должны появляться вместе (наряду с этим ограничением), по меньшей мере, в одной из подзадач;
■ если какая-то переменная появляется в двух подзадачах в дереве, то должна появляться в каждой подзадаче вдоль пути, соединяющего эти подзадачи.
Ширина дерева древовидной декомпозиции графа на единицу меньше размера наибольшей подзадачи; ширина дерева самого графа определяется как минимальная ширина дерева среди всех его древовидных декомпозиций.
Если граф имеет ширину дерева w и дана соответствующая древовидная декомпозиция, то соответствующая задача может быть решена за время O(nd w1). Это означает, что задачи CSP с графами ограничений, характеризующимися конечной шириной дерева, могут быть решены за полиномиальное время. Задача поиска декомпозиции с минимальной шириной дерева является NP-трудной, но существуют эвристические методы, которые хорошо работают на практике.
Описанные выше методы структурной декомпозиции имеют следующие общие черты. Каждая подзадача общей задачи CSP решается независимо; если какая-либо из них не имеет решения, то вся задача также не имеет решения. Если удается решить все подзадачи, то предпринимается попытка составить глобальное решение.
2 Компактное представление онтологии с помощью нечисловых матриц и вывод на онтологии как распространение нечисловых ограничений
Любую онтологию можно рассматривать как совокупность отношений, что даёт возможность ставить и решать задачи вывода на онтологиях как задачи удовлетворения ограничений. Однако табличное представление отношений не позволяет обеспечить достаточную эффективность процедур вывода. Поэтому разработка способов «сжатого» представления многоместных отношений представляется актуальной проблемой.
Многоместные отношения могут быть выражены более компактно, чем полным перечислением своих кортежей. Любое отношение может быть представлено как объединение декартовых произведений некоторых множеств. Эта мысль наглядно проиллюстрирована на рисунке 1, где слева показано отношение, записанное в виде обычной таблицы, а справа -«сжатая» форма записи многоместного отношения в виде специализированной матрицы. Здесь области определения переменных: X - {а, Ь, с, d}, У - {1, 2, 3, 4, 5}. Фактически при матричной записи на рисунке 1Ь между компонентами одной строки опускается знак операции х (декартово произведение), а между строками явно не записывается знак операции и (объединение множеств).
X У
1
2
4
5 2
4 1
5
X
(а)
{с} {1, 2, 4, 5} {Ь} {2, 4} {1, 5} (Ь)
Рисунок 1 - Табличное представление ограничения (а); представление ограничения в виде специализированной матрицы (Ь)
Предлагаемый математический аппарат для «сжатого» представления многоместных отношений используют два типа матрицеподобных структур [19, 20]. Первый тип - это С-системы. С-система - это нечисловая матрица, где в качестве ячеек выступают не отдельные элементы, а множества.
Распишем С-систему, представленную на рисунке 1Ь в явном виде, то есть в форме алгебраического выражения над множествами: >} {1,2,4,5}"
Т^] = {Ь} {2,4} = {с} х {1,2,4,5} и {Ь} х {2,4} и х {1,5}.
{1,5}
Графически каждый С-кортеж соответствует некоторой области в признаковом пространстве (декартову произведению), а вся С-система - объединению этих областей.
Другой тип матрицеподобных структур, обеспечивающий компактное представление многоместных отношений, - это D-система. Данная матрица записывается в обратных скобках. Ниже приводится D-система P[XY], которая эквивалентна рассмотренной ранее С-системе T[XY], поскольку обе эти структуры описывают одну и ту же таблицу, представленную на рисунке 1а:
= ({c,d} x{1,2,3,4,5} u {a,b,c,d} x{2,4}) n
"{c, d} {2,4} P[ XY ] = {b, c} {1,5} 0 {1,2,4,5}
n ({b,c} x{1,2,3,4,5} u {a,b,c,d} x{1,5}) n ({a,b,c,d} x{1,2, 4,5}).
Пустая компонента «0» - это фиктивная компонента, не содержащая значений.
D-система расписывается как сложное алгебраическое выражение. Каждая строка D-системы описывает область в признаковом пространстве. Эта область имеет более сложную структуру, чем декартово произведение (объединение декартовых произведений). Вся D-система есть пересечение областей, соответствующих отдельным строкам.
Напомним, что эффективный алгоритм решения задачи CSP для случая, когда первичный граф ограничений представляет собой дерево, опирается на такие методы распространения ограничений, как достижение совместности в вершинах (Node consistency) и по дугам (Arc consistency) [9, 10]. Использование специализированных матриц для представления качественных зависимостей привело к необходимости модифицировать алгоритмы обеспечения совместности. Уточним особенности процесса редуцирования пространства поиска (распространения ограничений) на основе матричного представления ограничений. Для этого приведём утверждения, позволяющие реализовывать эквивалентные преобразования совокупности ограничений для случая, когда ограничения представлены в виде набора С-систем [1, 21]. Целью преобразований является приведение CSP к более простому виду, где содержится меньшее количество С-систем, строк С-систем, столбцов (атрибутов) С-систем, значений в доменах атрибутов и т.п.
Утверждение 1 (У1). Если все строки (кортежи) C-системы пусты, то есть содержат хотя бы по одной пустой компоненте каждая, то С-система пуста (соответствующая задача CSP несовместна).
Утверждение 2 (У2). Если все компоненты некоторого атрибута (столбца С-системы) являются полными, то данный атрибут можно удалить из С-системы (удаляются все компоненты, стоящие в соответствующем столбце), а пара «удаляемый атрибут - его домен» сохраняется в векторе частичного решения.
Утверждение 3 (У3). Если домен некоторого атрибута С-системы содержит значения, не встречающиеся в соответствующем столбце, то эти значения удаляются из данного домена.
Утверждение 4 (У4). Если строка C-системы содержит хотя бы одну пустую компоненту (строка пуста), то строка удаляется.
Утверждение 5 (У5). Если компонента некоторого атрибута содержит значение, не принадлежащее соответствующему домену, то это значение удаляется из компоненты.
Утверждение 6 (У6). Если одна строка C-системы полностью доминирует (покомпонентно содержит) другую строку, то доминируемая строка удаляется из С-системы.
Аналогичные правила были сформулированы для случая, когда требуется распространить ограничения, выраженные в виде совокупности D-систем [22-24].
Часть из приведенных утверждений позволяет исключать значения из доменов и компонент атрибутов (У3, У5) или даже сами столбцы-атрибуты (У2), а часть дает возможность исключать из рассмотрения лишние строки (У4, У6).
Признак успешного завершения процесса поиска - элиминация из С-системы всех строк и столбцов без образования пустых строк. Другими словами, результирующее состояние в этом случае будет характеризоваться только совокупностью непустых усеченных доменов в векторе решения.
Признаком несовместности CSP является пустота С-системы (У1).
2.1 Модификации алгоритмов достижения вершинной и дуговой совместностей
Рассмотрим реализацию алгоритма достижения вершинной совместности для случая, когда CSP выражена в виде совокупности С-систем. Унарное ограничение моделируется С-системой, состоящей из одной строки, в которой имеется в точности одна нефиктивная компонента. Ввиду явного перечисления всех допустимых значений для указанного атрибута в нефиктивной компоненте С-системы, существенно упрощается реализация алгоритма обеспечения вершинной совместности: требуется просто пересечь два множества, одно из которых описывает старый домен атрибута, а второе соответствует нефиктивной компоненте. В результате пересечения образуется новый домен атрибута, откуда исключены значения, не входящие в единственную непустую компоненту. При этом само ограничение исключается из дальнейшего рассмотрения. Особенностью процедур распространения ограничений с использованием предлагаемых матрицеподобных структур является то, что остальные ограничения задачи CSP, записанные в виде С-систем, модифицируются, «настраиваясь» на новые домены переменных. В результате «настройки» из компонент С-системы могут вычеркиваться строки, столбы, значения из компонент, часть компонент может стать фиктивными. В процессе «настройки» могут образовываться новые унарные ограничения. Таким образом, процесс обеспечения вершинной совместности носит итеративный характер: «усечение доменов переменных» - «настройка С-систем на новые домены» - «усечение доменов переменных» и т.д.
Алгоритм обеспечения совместности по дугам для случая С-систем реализуется также довольно просто. Каждое бинарное отношение, моделируемое той или иной С-системой, на графе ограничений можно изобразить двумя дугами: дугой (X, Y) и дугой (Y, X), где X, Y -некоторые переменные (в нашей терминологии - атрибуты). По сути, дуги задают направление проверки бинарного отношения: в первом случае исключаются «лишние» значения из домена переменной X (домен переменной X обозначается DX), а во втором - из домена переменной Y (домен переменной Y обозначается DY). Дугу (X, Y) можно сделать совместной, удаляя из DX все значения, для которых не существует таких значений в DY, чтобы удовлетворялось соответствующее бинарное ограничение. В рамках предлагаемого подхода к обработке нечисловых ограничений, для обеспечения совместности одной дуги (X, Y) достаточно перечислить во вновь формируемом домене переменной X все значения, встречающиеся в компонентах того столбца С-системы, который соответствует атрибуту X. Данный алгоритм также носит итеративный характер, в процессе «настройки» на новые домены могут появляться новые унарные ограничения, а прежние бинарные ограничения упрощаются или вовсе исключаются из рассмотрения, обеспечивая сокращение пространства поиска.
2.2 Моделирование запросов к онтологиям
В качестве примера выберем один из паттернов онтологии ИПЗ [2], используемый для представления процессов исследований и соотнесенных с ними объектов. UML-схема данного паттерна приведена на рисунке 2. В соответствии с данным паттерном «Процесс исследования» (Investigation) содержит (отношение participates-in) персон (Person), реализующих роль «Исследователь» (Researcher role), и сущности, реализующие роли «Объект исследования» (Investigation object role), и «Предмет исследования» (Investigation subject role). Процесс исследования предполагает некоторое заключение (Conclusion), которое является «Информационным объектом» (Information content entity) о некоторой сущности предметной области (Entity). Для паттерна заданы следующие квалификационные вопросы: «Какой предмет в контексте данного объекта планировалось исследовать?», «Кто участвовал в исследованиях данной сущности?», «Какие результаты были получены в данном исследовании?» и др.
Рисунок 2 - UML-схема онтологического паттерна содержания «Исследование» (Investigation)
Рассмотрим применение предлагаемого подхода на примере анализа шаблона SPARQL-запроса, соответствующего одному из квалификационных вопросов - «Какие выводы и о каких предметах исследования сделал исследователь X?»:
PREFIX IKS: < http://www.iimm.ru/ontologies/oiks>
PREFIX INV: < http://www.iimm.ru/ontologies/cdp/investigation-process> SELECT ?conclusion ?entity WHERE {
0X_person0 IKS:bearer-of
?role rdf:type
?role IKS:realizes-in
?entity IKS:bearer-of
?objRole IKS:realizes-in
?inv IKS:has-specified-output
?conclusion IKS:about
?role.
INV:Researcher-role.
?inv.
?objRole.
?inv.
?conclusion. ?entity.
Рассмотрим его выполнение на конкретном наборе данных (см. рисунок 3). Для наглядности во фрагменте присутствуют только те классы и отношения, которые представлены в рассматриваемом SPARQL-запросе.
Для классов, экземпляров классов, и связей фрагмента онтологии, показанного на рисунке 3, введём специальные обозначения. Каждому классу фрагмента онтологии сопоставим определённую переменную (атрибут), а каждому экземпляру класса определённое значение данной переменной так, как это показано в таблице 1. Тогда в пределах рассматриваемого фрагмента получим следующие соответствия «атрибут - домен атрибута»: X - {а1, а2, а3, а4,а5,а6}, У - {Ь1, Ь2, Ь3, Ь4,Ь5,Ь6,Ь7,Ь8,Ь9}, Ъ - {с1, с2, с3, с4,с5,с6} ,
W - ^ ^ d3, d4,^5,^бЬ ь - ^ ^^e7,e8},
м - {.Л, ./2, Уз, ./4, У5, ./6, ./7, У,А9, Л>, У\, У2, Аз, /ы}.
Рисунок 3 - Фрагмент данных в RDF-репозитории
Теперь каждой связи онтологии, которая фигурирует в рассматриваемом шаблоне SPARQL-запроса, сопоставим ограничение:
■ R\\_XY] - отношение «bearer-of» между классами X («PERSON») и Y («RESEARCHER_ROLE») ;
■ R2\YZ] - отношение «realizes-in» между классами Y («RESEARCHER_ROLE») и Z («INVESTIGATION»);
■ R3\WZ] - отношение «realizes-in» между классами W («INV_OBJ_ROLE») и Z («INVESTIGATION»);
■ R4\LW] - отношение «bearer-of» между классами L («ENTITY») и W(«INV_OBJ_ROLE»);
■ R5\ZM] - отношение «has-specified-output» между классами Z («INVESTIGATION») и M («CONCLUSION»);
■ R6\ML] - отношение «about» между классами M («CONCLUSION») и L («ENTITY»).
Таблица 1 - Обозначение классов и экземпляров классов
Названия классов и экземпляров классов Обозначение классов Обозначение значений переменных
КЛАСС «PERSON» X
«Иванов» ai
«Петров» a2
«Сидоров» a3
«Федоров» a4
«Лисов» as
«Сухов» a6
КЛАСС «RESEARCHER_ROLE» Y
«иссл-роль43» bi
«иссл-роль12» b2
«иссл-роль17» Ьз
«иссл-роль16» b 4
«иссл-роль96» bs
«иссл-роль31» be
«иссл-роль93» bv
«иссл-роль45» bs
«иссл-роль59» b9
КЛАСС «INVESTIGATION» Z
«иссл-процесс78» Ci
«иссл-процесс12» C2
«иссл-процесс36» C3
«иссл-процесс51 » C4
«иссл-процесс72» Cs
«иссл-процесс62» Ce
КЛАСС «INV_OBJ_ROLE» W
«исс -объ-роль14» d1
«исс-объ-роль32» d2
«исс-объ-роль87» d3
«исс-объ-роль85» d4
«исс-объ-роль89» ds
«исс-объ-роль90» de
КЛАСС «ENTITY» L
«Магнитный поток» ei
«Магнитное поле» e2
«Эквивалентный ток» e3
«Схема замещения» e4
«Закрученный свет» es
«Терагерцовое излучение» ee
«Лазер» ev
«Фокусировка» es
КЛАСС «CONCLUSION» M
«закл-ие13» fi
«закл-ие97» f2
«закл-ие12» f3
«закл-ие32» f4
«закл-ие58» fs
«закл-ие19» fe
«закл-ие21» fv
«закл-ие23» fs
«закл-ие24» f9
«закл-ие34» fio
«закл-ие27» fii
«закл-ие37» fi2
«закл-ие25» fi3
«закл-ие33» fi4
На рисунке 3 перечисленные отношения Я1-Я6 обозначены стрелками. Учитывая конкретные экземпляры классов, можно записать перечисленные выше отношения в виде предлагаемых матриц ограничений, а именно в виде С-систем:
Отношение R1[XY]
Отношение R2[YZ]
{a1} {b1,b2} ■
{a2} b4, b5}
{a3} {b6}
{a4} {b7}
{a5} {b8}
_{a6} {b9} _
Отношение R4[LW]
k} Ц}
{e2} {d2 , d3}
k} {d2}
k} {d4}
{e7} {d5 , d6}_
к} {b2, К b6}
{b4} {b5, b7} {b8} {b9}
{c1}
{c2} &}
{c4} {c5}
{c6}
Отношение R3[WZ]
{d1} {c1}
d2} {c2}
d3} {c3}
d4} {c4}
d5} {c5}
d6} {c6}
Отношение R5[ZM]
k} {f1, f2}
{c2} {f3, f4, f5}
{c3} {f6, f7}
{c4} {f8, f9, У1о}
{c5} {fu, f 12}
k} {./13, /4}
Отношение R6[ML]
{f1, f6}
f f3, f4} {e2}
f f6} {e3}
{fs, f7} {e4}
{f8, f9, f11} {e5}
{ f9, f11, f14 } {e6}
{/1O' ¿3} {e7}
. {f12, Z14> {e8}_
На примере матрицы R1 поясним, что обозначает подобная запись. Первая строка данной матрицы соответствует двум стрелкам (дугам) на рисунке 3, проведённым от экземпляра «Иванов» (значение a1) класса «PERSON» (переменная X) к экземплярам «иссл-роль43» (значение b1) и «иссл-роль12» (значение b2) класса «RESEARCHER_ROLE» (переменная Y). По аналогии, каждой строке всех перечисленных С-систем соответствует некоторое множество дуг между экземплярами соответствующих классов онтологии, изображённых на рисунке 3.
Реализация рассматриваемого шаблона запроса с помощью матриц ограничений будет сводиться к вычислению соединения бинарных отношений:
R1[XY] и R2[YZ] n R3[WZ] n R4[LW] n R5[ZM] n R6[ML].
В настоящей работе задачу соединения нескольких отношений, выраженных в виде совокупности нечисловых матриц, предлагается рассматривать как задачу удовлетворения ограничений и решать её с помощью упомянутых авторских методов распространения нечисловых ограничений.
3 Структурная декомпозиция и априорный анализ запросов
Эффективность и целесообразность применения различных методов ускорения обработки запросов, во многом, определяется наличием информации о возможных типах запросов, а также задачами, для решения которых используется хранилище онтологии. Наличие априорной информации о запросах к онтологии обуславливается методикой её разработки, включающей, как правило, этап тестирования возможности получения ответов на контрольные вопросы. Формирование контрольных вопросов осуществляется с учетом будущих задач, на решение которых направлена онтология. Использование онтологических паттернов содер-
жания при разработке онтологий гарантирует наличие контрольных (квалификационных) вопросов. Набор квалификационных вопросов является обязательным атрибутом паттерна, поскольку позволяет точно указать разработчику онтологии, какую информацию о каких сущностях и их взаимосвязях можно будет получить. Тем самым, обеспечивается возможность подбора того паттерна, который потенциально будет позволять отвечать на большинство пользовательских запросов.
Наличие набора наиболее ожидаемых вопросов позволяет проводить априорный анализ структуры соответствующих SPARQL-запросов к онтологии. Однако это не ограничивает пользователя в отношении формулировок запросов иного вида, в частности, пользовательский запрос может соответствовать комбинации квалификационных. Также возможна ситуация, когда пользовательский запрос не соотносится ни с одним из квалификационных вопросов или их комбинацией.
Особенности методов априорного анализа запросов также сильно зависят от характера использования хранилища онтологий. Существует несколько вариантов использования хранилищ онтологий. Одним из вариантов является хранилище для транзакционных систем (Online Transaction Processing, OLTP). Заметим, что на данный момент более эффективными и распространёнными хранилищами для OLTP-систем признаются реляционные базы данных, а не RDF-репозитории. Поэтому данный вариант подробно в работе не рассматривается. Еще одним вариантом является применение онтологий и RDF-репозиториев для управления нормативно-справочными данными (Reference Data Management, RDM), управления мастер-данными (Master Data Management, MDM) и/или организации систем интерактивной аналитической обработки (Online Analytical Processing, OLAP). В этих случаях частота изменения данных довольно невысока.
Таким образом, среди всего множества вариантов можно выделить два крайних случая. Первый вариант предполагает ориентацию хранилища на оперативную модификацию информации и обработку ad hoc - запросов. Второй вариант подразумевает низкую частоту изменений данных и предопределённый набор квалификационных вопросов, соответственно изначально заданный перечень шаблонов SPARQL-запросов.
И в первом, и во втором случае априорный анализ запроса способен существенно ускорить процесс его исполнения. В первом случае имеется возможность проанализировать и упростить структуру конкретного запроса, выявить некорректности в условиях фильтрации запроса. Второй вариант позволяет выполнить более глубокий априорный анализ. Каждый квалификационный вопрос транслируется в соответствующий шаблон SPARQL-запроса. Единожды выполнив анализ и упрощение шаблона запроса, появляется возможность многократно использовать результаты предварительных вычислений для повышения эффективности обработки однотипных конкретизированных запросов. Тот факт, что данные практически не изменяются, позволяет для каждого шаблона запроса заранее подготовить структуры данных с целью ускорения выполнения конкретизированных запросов.
Итак, можно выделить следующие основные этапы априорного анализа запросов:
1) Применение алгоритмов структурной декомпозиции для разбиения шаблона запроса (или конкретного запроса) на части. Выполняется при анализе как шаблонов запросов, так и при анализе конкретных запросов.
2) Анализ совместности условий фильтрации шаблона запроса (или конкретного запроса). Данный этап актуален, прежде всего, при анализе конкретных запросов.
3) Подготовка структур данных для быстрого выполнения конкретных запросов, описываемых шаблоном. Данный этап присутствует только при анализе шаблонов запросов. Дальнейшее объяснение предлагаемого подхода к априорному анализу запросов к онто-
логиям выполнено на примере рассмотренного выше шаблона SPARQL-запроса, который
соответствует квалификационному вопросу «Какие выводы и о каких предметах исследования сделал исследователь X?» и ситуации, когда редко осуществляется модификация данных в репозитории.
Представим данный шаблон SPARQL-запроса в виде графа ограничений (рисунок 4).
Рисунок 4 - Граф задачи CSP, представляющий шаблон запроса
3.1 Этап структурной декомпозиции
Применение описанных ранее алгоритмов структурной декомпозиции позволяет разбить шаблон запроса/запрос на слабо связанные части шаблона/подзапросы. На последующих этапах это позволяет независимо вычислять результаты подзадач, а затем выполнять их соединение для получения ответа на исходную задачу. На рисунке 5 приведен пример структурной декомпозиции графа задачи CSP, которая описывает шаблон запроса (рисунок 4). Разбиение исходной задачи CSP на подзадачи выполняется путем присваивания значений переменной Z.
Рисунок 5 - Пример структурной декомпозиции шаблона запроса после присваивания значений переменной X
В этом случае для решения исходной задачи требуется рассмотреть две слабо связанные подзадачи CSP:
1) Я3[№2] и Я4[Ь1] и Я5[2М] и Я6[МЬ];
2) ^[ХТ] и Я2[Т2].
На рисунке 6 показан пример того, как можно осуществить разбиение ранее описанного шаблона запроса альтернативным способом с применением метода древовидной декомпозиции. В этом случае для решения исходной задачи требуется рассмотреть три слабо связанные подзадачи CSP:
1) ЩХУ] и ^2];
2) и ЩЩ];
3) Я5ХМ] и Яб[МЦ.
3.2 Этап подготовки структур данных для быстрого выполнения конкретизированных запросов
Поскольку наиболее трудоемкой операцией в ходе исполнения SPARQL-запросов к КОБ-хранилищам является соединение триплетов, то для шаблонов запросов, в ряде случаев, имеет смысл вычислять подобные соединения заранее, получая одно многоместное отношение (ограничение). Для каждой подзадачи CSP, полученной в процессе структурной декомпозиции шаблона запроса, можно заранее вычислить соответствующее многоместное отношение. Затем, эти отношения можно соединить в одно. Приведём описанные вычисления, взяв за основу декомпозицию шаблона, показанную на рисунке 5.
Рассмотрим первую из двух подзадачу CSP: Я3[Ж^| N К4[ЬЩ и Я5[2М] N К6[МЬ].
Продемонстрируем, как осуществляется упрощение данной задачи CSP на основе алгоритмов распространения нечисловых ограничений. Поскольку в рассматриваемой задаче CSP отсутствуют унарные ограничения, то проанализируем имеющиеся ограничения на совместность по дугам. Последовательно анализируя ограничения К^-Яз, выясняем, что они совместны по дугам. Анализ ограничения Я4[Ь'^ показывает, что условие совместности по дугам для него не выполняется: первый столбец данной матрицы не содержит значений е4, е5 и е8 переменной Ь. Другими словами значения, е4, е5 и е8 не имеют поддержки в Я4[Ь'^, поэтому данные значения должны быть исключены из домена атрибута Ь. Согласно утверждению У3, домен атрибута Ь сужается до множества (е^ е2, е3, е6, е7}.
После того, как ограничение Я4[Ь'^ стало совместно по дугам, активируется ограничение Яб[МЬ], также содержащее в схеме атрибут Ь, домен которого был изменен. Теперь выполняется «настройка» ограничения Яб[МЬ] на новый домен переменной Ь. При этом, по правилу У5 из второго столбца матрицы Я6[МЬ] удаляются значения е4, е5 и е8, образуя пустые компоненты, а затем, опираясь на У4, удаляются строки 4, 5 и 8, соответственно. В результате матрица Я6[МЬ] примет вид: отношение К'6[МЬ]
м ь
/ ./6} к}
{/2, /3, /4} К}
{/4, /6} к}
{/9, /11, /14} к}
{/10, /13 } к}
Данное ограничение несовместно по дугам, так как в первом столбце матрицы отсутствуют значения f5, f7, f8, fi2, которые содержатся в домене переменной M. Согласно утверждению У3, домен атрибута M сужается до множества {fi,f2,/з,f4, fe, f%fio,fu,fi3,fi4}.
Теперь активируется ограничение R5[ZM], в схеме которого присутствует затронутая изменениями переменная M. После «настройки» ограничения R5[ZM] на новый домен переменной M с использованием утверждения У4, имеем следующее упрощённое ограничение:
Отношение R'5[ZM\
Z M
>1} {/1, /2}"
{C2} {/3, /4}
{C3} {/6}
{C4} {/9, /10}
{C5} {/11}
{/1з, /14}
Процесс распространения ограничений останавливается. Имеем следующую упрощённую задачу CSP. Домены переменных: X - {a1, a2, a3, a4, a5, a6}, Y - {b1, b2, b3, b4, b5, b6, b7, b8, b9},
Z - {q, C2 , C3, C4,C5, C6} , W - d2 , d3 , d4, d5 , d6} , L - e2, e3, e6, e7} ,
M- {fi, /2, /3,/4,f6,/9,fio,fli, fi3,/14}-
Ограничения: матрицы R1 - R4 остаются без изменений, а матрицы R5 и R6 заменяются матрицами R'5 и R'6. Для упрощённой подзадачи CSP (R3[WZ] N R4[LW] N R'5[ZM\ N R '6[ML]) получим дерево поиска, показанное на рисунке 7.
Узлы дерева соответствуют переменным, выбираемым на каждом шаге поиска, а дуги помечены различными значениями данных переменных. Каждая ветвь дерева поиска оканчивается либо незакрашенным белым квадратом (случай, когда решение получено), либо квадратом, окрашенным в черный цвет (случай, когда выявлено противоречие и требуется осуществлять возврат к одной из родительских вершин данного узла). Если в дереве поиска у родительского узла имеется только один дочерний, то это означает, что значение переменой, соотнесенной с дочерним узлом, было получено в результате процедур распространения ограничений без организации процедур ветвления.
На основе представленного дерева поиска может быть выписана С-система К8[7ЖЬМ], описывающая все решения подзадачи CSP:
7 ж ь м
1 "{с,} к} к} Ш
2 к} К} к} {/3, /4}
3 к} К} к} Ш
4 К} К} к} {/9}
5 _к} К} к} Ш
Каждая строка С-системы соответствует некоторой нетупиковой ветви дерева поиска. Для второй подзадачи CSP, а именно, для Я-^ХУ] N К2[У7], оказывается, что она изначально совместна и в вершинах, и по дугам. Для данной задачи получим дерево поиска, по-
На основе представленного дерева поиска может быть выписана С-система Я9[ХУ2]
X У 7
1 к} к} к}
2 к} к} к}
3 {а2} {¿3} к}
4 {а3} к} к}
5 {а2} {¿4} к}
6 {а2} {¿5} к}
7 К} {¿7} к}
8 {а5} {¿8} к}
9 _К} {¿9} к}
Совместно рассматривая ограничения К8[7ЖЬМ] и К9[ХУ7], можно упростить К9[ХУ7], исключив из этой матрицы те значения переменной Z (соответственно и те строки матрицы), которые отсутствуют в К8[7ЖЬМ]. Получаем следующее отношение К '9[ХУ7]:
X У 2
1 {«1) {¿1) к)"
2 {«1) к) к)
3 {«2) к) к)
4 {«3) к) к)
6 {«2) {¿5) К)
7 К) {¿7) К)
9 _{«6) {¿9) к)_
ЬМ] N Я 9X72]:
X У 2 Ж Ь М
кЛ {¿1} К) Ц) к) Ш
кЛ к) к) К) К) к3, Л)
кЛ {¿2) К) к) ш
к) к) к) К) к) {.>3, Л)
к) к) к) К) к) ш
Ю к) к) К) К) к3, Л)
Ю к) к) К) к) ш
{«2) {¿5) К) К) к) ш
{«4} {¿7) ю ю к) {/9)
к) К) К) к) Ш
Чтобы оценить сложность процедуры поиска решений для двух рассмотренных задач СБР, используем следующую меру - количество значений, участвующих в разметке дуг дерева поиска. Получаем следующие оценки: для первой подзадачи - 25. для второй подзадачи - 24 значения. Суммарная сложность - 49. Если бы исходная задача CSP, представленная на рисунке 4, решалась без применения методов структурной декомпозиции, то сложность решения была равна бы 57 (см. рисунок 9).
В данном случае выигрыш не столь существенен и составляет около 16%, но при решении практических задач большой размерности применение методов структурной декомпозиции позволяет решать те задачи, которые до этого были нереализуемы. К тому же разбиение исходной задачи на слабо связанные подзадачи обеспечивает возможность параллельного решения подзадач.
Для окончательного формирования отношения-заготовки, соответствующего разбираемому шаблону запроса, требуется вычислить проекцию отношения 'К8[2ЖЬМ] N Я '9[ХУ2] на атрибуты X, М, Ь. Первый атрибут представляет собой параметр поискового запроса, а два оставшихся - целевые атрибуты поискового запроса.
8
В нашем случае имеем следующее отношение-заготовку ПрxYz(R8[ZWLM]
X М Ь
Ш {/1} К}
К а2, аз} {/з, /4} К}
К а2, аз} Ш {ез)
{а2, а4} Ш К}
{аб} { /13} {е7}
При вычислении проекции было осуществлено «сжатие» результирующего отношения (алгоритмы «сжатия» здесь не приведены).
Анализируя полученное отношение-заготовку, нетрудно определить, что в ответ на конкретизированный пользовательский запрос «Какие выводы и о каких предметах исследования сделал исследователь Сухов?» (здесь значение параметра X равно а6) будет получен результат: Сухов получил «закл-ие25» (значение параметра М равно /13) о предмете исследования «Лазер» (значение параметра Ь равно е7). Данному результату соответствует последняя строка отношения-заготовки. Процесс вычисления ответа уже не требует анализа и хранения всех шести отношений К^-Яб, а сводится к анализу матрицы размерности 5x3.
Заключение
В статье онтология рассматриваться как совокупность отношений (унарных и бинарных), выраженных с помощью матрицеподобных структур - С-систем. Такое представление онто-
логии позволяет ставить и решать задачи вывода на онтологии как задачи CSP. В отличие от реляционных СУБД, ориентированных на поддержку ссылочной целостности интенсивно меняющихся данных фиксированного формата, RDF-репозитории не предполагают такой высокой скорости изменения их содержимого. Неформально говоря, базы данных предназначены для обработки данных, а системы онтологического инжиниринга - для работы со знаниями. При использовании онтологий нет необходимости оперировать такими атомарными структурами, как элементарный кортеж таблицы, а можно использовать более подходящие структуры для группирования и обобщения информации. «Компактное» представление отношений в виде совокупности С-систем обеспечивает снижение расходов памяти на хранение онтологии, а также способствует ускорению процедур вывода на онтологии.
Рассмотренная в работе задача априорного анализа и упрощения структуры БРАЯ^Ь-запросов решается для онтологий, которые разработаны с применением онтологических паттернов содержания, что обеспечивает предсказуемость структуры потенциальных запросов. Фактически, каждому паттерну сопоставляется совокупность шаблонов БРАВ^Ь-запросов.
Предлагаемый в статье метод априорного анализа и преобразования шаблонов SPARQL-запросов основан на совместном применении методов структурной декомпозиции и методов удовлетворения нечисловых ограничений. Применение методов структурной декомпозиции даёт возможность разбивать шаблон SPARQL-запроса на части, распараллеливать выполнение подзадач, что особенно актуально при обращении к КОБ-репозиториям большого объёма. Декомпозиция общей задачи CSP на подзадачи обычно выполняется таким образом, чтобы для получения решений каждой подзадачи CSP требовалось применить лишь алгоритмы распространения ограничений, характеризующиеся низкой вычислительной сложностью.
Ввиду низкой частоты модификаций RDF-репозитория, появляется возможность на основе анализа шаблонов подготавливать структуры данных для последующего исполнения конкретизированных запросов. Если в процессе такой подготовки для одной из подзадач (подшаблонов) выяснится, что в RDF-репозитории нет релевантной информации, то весь шаблон БРАВ^Ь-запроса признаётся некорректным. Если для всех подзадач подобная подготовка проходит успешно, то формируется результирующее «отношение-заготовка» -С-система, которая в дальнейшем используется при исполнении конкретных запросов. Это позволяет избежать излишних «накладных расходов», вызванных многократным выполнением операции соединения одних и тех же отношений при обработке пользовательских запросов, описываемых общим шаблоном.
Для соединения отношений, выраженных в виде совокупности С-систем, применяются авторские методы удовлетворения нечисловых ограничений. Они представляют собой модификацию известных методов достижения совместности в вершинах и по дугам на случай, когда качественные ограничения выражены в виде совокупности упомянутых матрицеподоб-ных структур. По сравнению с традиционным подходом к вычислению соединений отношений при обработке БРАЯ^Ь-запросов, базирующемся на динамическом программировании, предложенные методы обеспечивают существенное ускорение обработки отношений.
Предлагаемый подход к представлению онтологии, а также к организации процедур вывода на онтологиях, позволяет снизить расход памяти на хранение онтологии и обеспечить приемлемую скорость выполнения БРАВ^Ь-запросов даже для КОБ-репозиториев, характеризующихся большими объёмами информации.
Благодарности
Работа выполнена при финансовой поддержке РФФИ (16-07-00377-а, 16-07-00562-а, 18-07-00615-а).
Список источников
[1] Зуенко, А.А. Применение методов распространения ограничений для ускорения обработки запросов к он-тологиям / А.А. Зуенко, П.А. Ломов, А.Г. Олейник // Труды СПИИРАН. - 2017. - №1(50). - С.112-136.
[2] Ontology of Integrated Knowledge Space. - https://github.com/palandlom/ontology-of-integrated-knowledge-space.
[3] Blomqvist, E. Experimenting with eXtreme Design / E. Blomqvist, V. Presutti, E. Daga, A. Gangemi // In proceedings of EKAW 2010, LNCS 6317. Springer 2010. Berlin/Heidelberg/New York. - P. 120-134.
[4] Russel, S. Artificial Intelligence: A Modern Approach. 3rd edition / S. Russel, P. Norvig / Prentice Hall, 2010. -1132 p.
[5] Bartak, R. Constraint Programming: In Pursuit of the Holy Grail / R. Bartak // Proceedings of the Week of Doctoral Students (WDS99), Part IV. - Prague: MatFyzPress, 1999. - P. 555-564.
[6] Ruttkay, Zs. Constraint satisfaction a survey / Zs. Ruttkay // CWI Quarterly. - 1998. - V. 11. - P.163-214.
[7] Barto, L. Constraint satisfaction problems solvable by local consistency methods / L. Barto, M. Kozik / Journal of the ACM. - 2014. - 61(1), article 3. - P.1-19.
[8] Cheng, K.C. An MDD-based generalized arc consistency algorithm for positive and negative table constraints and some global constraints / K.C. Cheng, R.H. Yap // Constraints. - 2010. - 15 (2). - P.265-304.
[9] Mackworth, A.K. Consistency in networks of relations / A.K. Mackworth // Artificial Intelligence. - 1977. - 8(1)/ -P.99-118.
[10] Mackworth, A.K. Arc and path consistency revised / A.K. Mackworth, E.C. Freuder // Artificial Intelligence. -1985. - 25. - P.65-74.
[11] Gottlob, G. A comparison of structural CSP decomposition methods / G. Gottlob, N. Leone, F. Scarcello // Artificial Intelligence. - 2000. - 124(2). - P.243-282.
[12] Katajainen J. Performance tuning an algorithm for compressing relational tables / J. Katajainen, J.N. Madsen // In Proceedings of the 8th Scandinavian Workshop on Algorithm Theory. Volume 2368 of Lecture Notes in Computer Science, Springer-Verlag, 2002. - P.398-407.
[13] Miguel, I. Solution techniques for constraint satisfaction problems: foundations / I. Miguel, Q. Shen // Artificial Intelligence Review. - 2001. - V. 15. - P.241-265.
[14] Dechter, R. Enhancement schemes for constraint processing: Backjumping, learning and cutset decomposition / R. Dechter // Artificial Intelligence. - 1990. - V. 41. - P.273-312.
[15] Dechter, R. Network-based heuristics for constraint satisfaction problems / R. Dechter, J. Pearl // Artificial Intelligence. - 1987. - 34(1). - P. 1-38.
[16] Freuder, E.C. A sufficient condition for backtrack-free search / E.C. Freuder // Journal of the ACM. - 1982. -29(1). - P.24-32.
[17] Dechter, R. Tree clustering for constraint networks / R. Dechter, J. Pearl // Artificial Intelligence. 1989. 38 (3). -P.353-366.
[18] Freuder, E.C. A sufficient condition for backtrack-bounded search / E.C. Freuder // Journal of the ACM. - 1985. 32(4). - P.755-761.
[19] Кулик, Б.А. Алгебраический подход к интеллектуальной обработке данных и знаний / Б.А. Кулик, А.А. Зуенко, А.Я. Фридман. - СПб.: Изд-во Политехн. ун-та, 2010. - 235 с.
[20] Zakrevskij, A. Integrated Model of Inductive-Deductive Inference Based on Finite Predicates and Implicative Regularities. / A. Zakrevskij // In: Naidenova, X., Ignatov, D. (eds.) Diagnostic Test Approaches to Machine Learning and Commonsense Reasoning Systems.- Hershey, PA: IGI Global, 2013. P.1-12.
[21] Зуенко, А.А. Качественное моделирование технических систем на основе методов распространения ограничений / А.А. Зуенко // Открытые семантические технологии проектирования интеллектуальных систем -Open Semantic Technologies for Intelligent Systems (0STIS-2016): Материалы VI Международной научно-технической конф. (18-20 февраля 2016 г., Минск, Беларусь). - Минск: БГУИР, 2016.- C.573-578.
[22] Зуенко, А.А. Вывод на ограничениях с применением матричного представления конечных предикатов / А.А. Зуенко // Искусственный интеллект и принятие решений. - 2014. - № 3. - C.21-31.
[23] Зуенко, А.А. Методы ускорения комбинаторного поиска на основе матричного представления качественных зависимостей в задачах удовлетворения ограничений / А.А. Зуенко // Вестник Иркутского государственного технического университета. 2018. Т. 22. № 7.(138). C.69-87.
[24] Zuenko, A.A. Matrix-Like Structures in Solution of Constraint Satisfaction Problems / A.A. Zuenko // 3rd Russian-Pacific Conference on Computer Technology and Applications (RPC) (18-25 Aug. 2018, Vladivostok, Russia). IEEE. - DOI: 10.1109/RPC.2018.8482223.
COMBINING OF METHODS OF CONSTRAINT PROPAGATION AND STRUCTURAL DECOMPOSITION FOR THE A PRIORI ANALYSIS OF QUERIES TO THE ONTOLOGIES
1 2 A.A. Zuenko , P.A. Lomov
Institute for Informatics and Mathematical Modeling - Subdivision of the Federal Research Centre Kola Science Centre of the Russian Academy of Sciences (IIMMKSC RAS) 'zuenko @iimm. ru, 2lomov@iimm. ru
Abstract
Unlike relational DBMS that focused on maintaining of the referential integrity of rapidly changing transactional data, while using of RDF repositories which are storages for ontologies, there is no need to operate with such atomic structures as a tuple and you can use more suitable structures for grouping and summarizing of information. The article considers ontology as a set of relations (unary and binary), which are represented by specialized matrix-like structures -C-systems. That allows us to consider tasks of inference on ontologies as constraint satisfaction problems. The problem of a priori analysis and simplification of the SPARQL queries, considered in the article, is solved for ontologies that are developed using content ontology design patterns, which ensures the predictability of the structure of potential queries. In fact, each pattern is associated with a set of patterns of SPARQL queries. A method of a priori analysis and transformation of SPARQL queries patterns into a form, which speeds up the subsequent execution of concrete user queries has been developed. The method is based on the combining of the methods of structural decomposition and the author's methods for non-numeric constraints satisfaction. The structural decomposition methods make it possible to split the SPARQL query pattern into parts and parallelize its execution, which is especially important when accessing large volume RDF repositories. Due to the low frequency of modifications of the RDF repository, it is possible, based on the analysis of templates, to prepare data structures for the subsequent execution of concrete queries. This allows you to avoid unnecessary overhead incurred by repeated execution of the operation of joining the same relations when processing user requests described by a common pattern. For the join of relations, expressed as a set of C-systems, author's methods of non-numeric constraints satisfaction are applied, which are modifications of the known methods of maintaining node and arc consistency. As a result, the proposed approach to the ontology presentation and organization of inference procedures on ontologies allows to reduce the memory consumption and to ensure an acceptable speed of execution of SPARQL queries even for RDF repositories containing large amounts of data.
Key words: ontology, ontological design patterns, constraint satisfaction problem, constraint programming, SPARQL, RDF repository.
Citation: Zuenko AA., Lomov PA. Combining of methods of constraint propagation and structural decomposition for the a priori analysis of queries to the ontologies. Ontology of designing. 2018; 8(4): 571-593. DOI: 10.18287/22239537-2018-8-4-571-593.
Acknowledgment
This work was supported by the Russian Foundation for Basic Research (16-07-00377-a, 16-07-00562-a, 18-07-00615-a).
References
[1] Zuenko AA, Lomov PA, Oleinik AG. Application of constraint propagation techniques to speed up processing of queries to ontologies [In Russian]. - SPIIRAS Proceedings. 2017; 1(50): 112-136.
[2] Ontology of Integrated Knowledge Space. - https://github.com/palandlom/ontology-of-integrated-knowledge-space.
[3] Blomqvist E, Presutti V, Daga E, Gangemi A. Experimenting with eXtreme Design. In proceedings of EKAW 2010, LNCS 6317. Springer 2010. Berlin/Heidelberg/New York; 2010: 120-134.
[4] Russel S, Norvig P. Artificial Intelligence: A Modern Approach. 3rd edition. Prentice Hall; 2010.
[5] Bartak R. Constraint Programming: In Pursuit of the Holy Grail. Proceedings of the Week of Doctoral Students (WDS99), Part IV. - Prague: MatFyzPress; 1999: 555-564.
[6] Ruttkay Zs. Constraint satisfaction a survey. CWI Quarterly. 1998; 11: 163-214.
[7] Barto L, Kozik M. Constraint satisfaction problems solvable by local consistency methods. Journal of the ACM. 2014; 61(1), article 3: 1-19.
[8] Cheng KC, Yap RH. An MDD-based generalized arc consistency algorithm for positive and negative table constraints and some global constraints. Constraints. 2010; 15 (2): 265-304.
[9] Mackworth AK. Consistency in networks of relations. Artificial Intelligence. 1977; 8(1): 99-118.
[10] Mackworth AK, Freuder EC. Arc and path consistency revised, Artificial Intelligence. 1985; 25: 65-74.
[11] Gottlob G, Leone N, Scarcello F. A comparison of structural CSP decomposition methods. Artificial Intelligence. 2000; 124(2): 243-282.
[12] Katajainen J, Madsen JN. Performance tuning an algorithm for compressing relational tables. In Proceedings of the 8th Scandinavian Workshop on Algorithm Theory, volume 2368 of LNCS, Springer-Verlag; 2002: 398-407.
[13] Miguel I, Shen Q. Solution techniques for constraint satisfaction problems: foundations. Artificial Intelligence Review. 2001; 15: 241-265.
[14] Dechter R. Enhancement schemes for constraint processing: Backjumping, learning and cutset decomposition. Artificial Intelligence. 1990; 41: 273-312.
[15] Dechter R, Pearl J. Network-based heuristics for constraint satisfaction problems. Artificial Intelligence. 1987; 34(1): 1-38.
[16] Freuder EC. A sufficient condition for backtrack-free search. Journal of the ACM. 1982; 29(1): 24-32.
[17] Dechter R, Pearl J. Tree clustering for constraint networks. Artificial Intelligence. 1989; 38(3): 353-366.
[18] Freuder EC. A sufficient condition for backtrack-bounded search. Journal of the ACM. 1985; 32(4): 755-761.
[19] KulikBA, Zuenko AA, Fridman AYa. Algebraic approach to intelligent processing of data and knowledge [In Russian]. - St. Petersburg Polytechnic University Publishing House, 2010. -235 p.
[20] Zakrevskij A. Integrated Model of Inductive-Deductive Inference Based on Finite Predicates and Implicative Regularities. In: Naidenova, X., Ignatov, D. (eds.) Diagnostic Test Approaches to Machine Learning and Commonsense Reasoning Systems.- Hershey, PA:IGI Global; 2013: 1-12.
[21] Zuenko AA. Qualitative modeling of technical systems based on the propagation methods [In Russian]. Open Semantic Technologies for Intelligent Systems (0STIS-2016): VI Intern. scientific-tech. Conf. (18-20 February, 2016, Minsk, Belarus) - Minsk: BSUIR; 2016: 573-578.
[22] Zuenko AA. Constraint inference based on the matrix representation of finite predicates [In Russian]. Artificial Intelligence and Decision Making. 2014; 3: 21-31.
[23] Zuenko AA. Methods for accelerating combinatorial search based on matrix representation of qualitative relationships in constraint satisfaction problems [In Russian]. Publishers of Irkutsk National Research Technical University. 2018; 22(7): 69-87.
[24] Zuenko AA. Matrix-Like Structures in Solution of Constraint Satisfaction Problems/ 3rd Russian-Pacific Conference on Computer Technology and Applications (RPC) (18-25 August 2018, Vladivostok, Russia). IEEE; 2018. DOI: 10.1109/RPC.2018.8482223.
Сведения об авторах
Зуенко Александр Анатольевич, 1983 г.р., кандидат технических наук, старший научный сотрудник Института информатики и математического моделирования — обособленного подразделения ФИЦ «Кольский научный центр Российской академии наук». Области научных интересов: программирование в ограничениях; моделирование слабо формализованных предметных областей.
Alexander Anatolievich Zuenko, (b. 1983) PhD, a senior researcher of Institute for Informatics and Mathematical Modeling - Subdivision of the Federal Research _
Centre "Kola Science Centre of the Russian Academy of Sciences (IIMM KSC RAS). Research interests: constraint programming; poorly formalized subject domains modeling. Ломов Павел Андреевич, 1984 г.р., к.т.н., с.н.с. Института информатики и математического моделирования — обособленного подразделения ФИЦ «Кольский научный центр Российской академии наук». Области научных интересов: представление знаний, онтологическое моделирование, Semantic web, информационная безопасность. Pavel Andreevich Lomov, (b. 1984) PhD, a senior researcher of Institute for Informatics and Mathematical Modeling - Subdivision of the Federal Research Centre IIMM KSC RAS. Research interests: knowledge representation, ontological modeling, Semantic web.