Курдюков Н.С.
Рязанский Государственный
Радиотехнический Университет, Россия
При
построении онтологической модели SOA-системы следует учесть
активную работу SOA-архитектуры с базами данных (БД) и
учесть возможность использования БД для обработки больших объемов данных[1]. Такую систему можно построить с помощью
технологии OBDA[1]. Этот подход использует
преимущества дескриптивной логики для работы с онтологиями с целью извлечения
запросов к базам данных[2]. Основной принцип работы систем OBDA заключается в переписывании
запросов к базе знаний в соответствующие запросы к БД[2]. Базы данных в
технологии OBDA являются структурой ABox дескриптивной логики[1].
Вследствие
того, что формирование реляционных БД описывается исчислением предикатов
первого порядка[4], необходимо дать определение запросов исчисления предикатов
первого порядка. Запрос в исчислении предикатов первого порядка представляет
собой формулу исчисления предикатов первого порядка с равенством. Обозначим
запрос q следующим образом:
![]()
где
– формула исчисления предикатов первого порядка со
свободными переменными x.
Размер x является арностью запроса q. Интерпретация I для qI является множеством кортежей
элементов. Эти кортежи, при присвоении значения свободным переменным, делают
формулу φ верной в I [1].
Булевым
запросом называется запрос, который не включает свободных переменных, другими
словами, это замкнутая формула. Вследствие того, что булевый запрос выглядит
следующим образом:
возможно
обозначить его как φ. Среди
различных видов запросов проще всего работать с конъюнктивными запросами[3] и
союзами конъюнктивных запросов. Конъюнктивный запрос q является запросом вида:
![]()
где
– конъюнкция атомов и формул со свободными переменными
и
. Союз конъюнктивных запросов q является запросом вида:
![]()
где
каждый
– конъюнкция атомов и уравнений со свободными
переменными
и
. Далее приводится формальное обозначение
конъюнктивного запроса [3]:
![]()
где
– это список
атомов в
, полученный после приравнивания переменных
,
в соответствии
с равенством в
. В результате такой ликвидации равенства,
и
могут содержать
константы или несколько экземпляров одной и той же переменной. Элемент
конструкции
называется
заголовком запроса q,
в то время как,
- телом. Переменные в
называются распознаваемыми переменными. Переменные в
называются
нераспознаваемыми переменными.
Обозначения
союзов соединительных запросов в
формате хранилищ данных выглядят как множество:
![]()
где каждый qi – выражение, соответствующее конъюнктивному
запросу ![]()
Конъюнктивный
запрос к базе знаний К – это
конъюнктивный запрос, атомы которого имеют вид A(z) или P(z1, z2), где А и P соответственно атомарные концепты и атомарные роли в К, z, z1, z2 – константы в К или переменные. Пусть запрос q – конъюнктивный запрос
или объединение конъюнктивных запросов. Ответ на q к базе знаний К
есть множество ans(q, K) кортежей
из констант,
входящих в К таких, что
, для каждой модели M в К. По
определению ans(q, K) конечно, так как база
знаний К конечна, и число констант,
входящих в К, конечно. Отметим также, что кортеж a
может быть пустым в случае, в котором q является булевым конъюнктивным запросом. В этом случае
множество ans(q, К) состоит из единственного пустого кортежа, тогда и только тогда,
когда формула q верна в каждой модели К.
Ответ на конъюнктивной
запрос CQA(A,T,qc)
, где qс - конъюнктивный запрос к данным из ABox A некоторой базы знаний,
зависящей от TBox T, сводится к задаче
извлечения запроса к базе данных: QE(A, q0), где q0 –
запрос в рамках исчисления предикатов первого порядка, не зависящий от Abox,
и способный быть отраженным в языке реляционных БД, к примеру, SQL.
Существует множество алгоритмов ответов на запросы в рамках технологии OBDA[2].
Проблема большинства подходов к ответу на запросы заключается в том, что запрос может существенно разрастись[5].
Роли
в онтологической SOA-модели используются для регистрирования
информации о добавляемых интерфейсах. Определим множество аксиом и утверждений
базы знаний K, содержащих роли, как RBox[6]. При обработке
входных параметров информации о ролях не требуется. Следовательно, нет
необходимости учитывать RBox.
Рассмотрим интерпретацию ответа на запрос к базе данных без учета RBox. Пусть запрос q – конъюнктивный запрос
или объединение конъюнктивных запросов, а база знаний Кc = K/RBox,
тогда ответ на q к Кc есть множество servAns(q,
Кc) кортежей
из констант,
входящих в Кс, таких, что
, для каждой модели Mc в Кc.
Отсутствие
RBox по определению
уменьшает размер TBox и ABox, что частично решает
проблему разрастания запроса при ответе на OBDA-запрос.
Литература:
1. Курдюков Н.С.
Основанный на онтологиях доступ к
данным формата Semantic web
// Общество, современная наука и образование: проблемы и перспективы: сборник
научных трудов по материалам Международной научно-практической конференции.
Часть 5. Тамбов. Бизнес-Наука-Общество, 2012. – С. 67 − 68.
2. Курдюков Н.С. Реализации основанного
на онтологиях доступа к данным формата Semantic web // Общество, современная
наука и образование: проблемы и перспективы: сборник научных трудов по
материалам Международной научно-практической конференции. Часть 5. Тамбов. Бизнес-Наука-Общество, 2012. – С. 68 − 70.
3. S. Abiteboul, R. Hull, V. Vianu. Foundations
of Databases // Addison-Wesley Publ.
Co., 1995. – 685 p.
4. Diego Calvanese, Giuseppe De Giacomo, Domenico Lembo, Maurizio
Lenzerini,Riccardo Rosati. Tractable Reasoning and Efficient Query
Answering in Description Logics: The DL-Lite Family // Journal of Automated
Reasoning, 2007. Vol. – 39(3). – P. 385 – 429.
5. S. Kikot, R. Kontchakov, M. Zakharyaschev. On (In)Tractability of
OBDA with OWL 2 QL // Proceedings of DL 2011, Barcelona, Spain, 2011. – 11 p.
6. Jeff Z. Pan. Decription Logics: Reasoning Support for semantic web
// University of Manchester, 2004. – 215 p.