Курдюков Н.С.

Рязанский Государственный Радиотехнический Университет, Россия

ЗАПРОСЫ ПРИ ОПИСАНИИ SOA-АРХИТЕКТУРЫ В РАМКАХ OBDA-ТЕХНОЛОГИИ

При построении онтологической модели 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.