Серия «Математика»
2011. Т. 4, № 3. С. 68-73
Онлайн-доступ к журналу: http://isu.ru/izvestia
УДК 518.517
Алгебры Кодда и дескриптивные логики
И. А. Казаков
Иркутский государственный университет
Аннотация. В статье рассматриваются вопросы моделирования алгебр Кодда в рамках дескриптивных логик. В частности, показана выразимость операций реляционной алгебры Кодда в терминах объектных теорий, моделирующих базы данных. Результаты работы имеют как теоретическое, так и практическое значение, поскольку разрабатываемй метод позволяет работать с базами данных как онтологиями в логических базах знаний.
Ключевые слова: онтологии; базы данных; объектные теории; дескриптивные логики; Libretto.
Одной из актуальных проблем является задача вовлечения информации, накопленной в базах данных, в системы логической обработки. Поскольку базы данных и логические системы основаны на очень разных формализмах, эта задача не имеет простого решения [6]. Здесь можно воспользоваться подходами, используемыми сегодня в программировании, которые больше опираются на методы погружения реляционных описаний в объектно-ориентированные структуры. Мы считаем, что такой подход может оказаться полезным и для погружения информации, представленной в реляционных форматах, в системы обработки знаний.
В рамках этого подхода в статье [1] нами было аксиоматизировано понятие реляционной базы данных в терминах объектных дескриптивных логик. Мы описали понятие реляционной БД с точки зрения объектных теорий [2] и определили правила формирования по базе данных специальной объектной теории, семантически эквивалентной этой базе. Также нами были описаны условия, реализующие замкнутость мира. Эти условия позволяют избавиться от нерелевантных моделей этой объектной теории, т. е. тех моделей, внутренняя структура которых противоречит природе реляционных баз.
1. Введение
В данной работе показывается, что можно ввести преобразования объектных теорий баз данных, которые соответствуют преобразованиям баз данных при применении операций алгебры Кодда. Кроме того, демонстрируется определимость этих операций на объектноитерационном языке программирования Libretto [4] [5].
2. Операции алгебры Кодда
Под базой данных понимается набор таблиц, в [1] даются формальные определения таблицы (табличного отношения) и базы данных.
Ниже приведены основные операции реляционной алгебры Кодда. Известно (см. напр. [3]), что базовый список операций алгебры Кодда состоит из операций выборки (а), проекции (п), объединения (и), вычитания (—) и декартова произведения (х). Все остальные операции (типа пересечения П, соединения N и деления ^) выразимы через базовые.
2.1. Операция выборки
Будем говорить, что атрибуты A и B некоторой базы данных DB согласованы, если они имеют один и тот же тип данных в DB. Также, будем говорить, что атрибут A согласован с некоторым элементом v £
D, где D £ D, если атрибут A имеет тип данных D в DB.
Определение 1. [Предикат выборки] Пусть DB — база данных. Выражение A rel x назовем элементарным предикатом выборки, где A £ sign(DB), x £ (sign(DB)UD), A согласован с x и rel £ {=, =, <, <, >, >}. Предикат выборки - это либо элементарный предикат выборки, либо один из —pi, pi V p2, pi Лp2, где pi,p2 — предикаты выборки.
Предикат выборки p определен на отношении r = {Rr,bodyr, headerr), если все атрибуты, входящие в p, принадлежат сигнатуре г. Предикат p истинен на кортеже t £ bodyr (обозначаем DB = p(t), где DB — база данных, содержащая отношение r), если p определен на r, и при подстановке вместо каждого атрибута A, входящего в p, значения t(A), получившееся булево выражение является истинным, где истинность элементарных предикатов определяется истинностью полученных равенств и неравенств в соответствующих доменах.
Пусть предикат выборки p определен на отношении r, в таком случае на r определена операция выборки:
ap(r) = г'
где r' - отношение с новым именем Rri £ ID, такое, что
bodyr, = {t | t £ bodyr и {r} = p(t)}, header^ = headerr
Операция выборки ap, примененная к отношению r базы данных DB, преобразует ее в базу данных DB' = DB U {ap(r)}.
2.2. Операция проекции
Теперь определим на табличных отношениях операцию проекции, позволяющую извлекать заданные атрибуты из отношения. Пусть r = {Rr, bodyr, headerr) — отношение и {Ai, ...,As} С sign(r). Тогда
nAi,...,As (r) = r'
bodyr, = {{t(Ai),... ,t(As)) | t £ bodyr} headerr = {{A^ Di),..., {As, Ds)),
где Di — типы данных атрибутов Ai в r.
2.3. Операция объединения
Пусть r = {Rr,bodyr, headerr) — табличное отношение с заголовком headerr = {{Ai,Di),..., {Ak, Dk)) и п : {1,...,k} ^ {1,...,k} — перестановка. Будем говорить, что отношение rn = {Rrn ,bodyrn, headerГп ) получено из отношения r с помощью перестановки п, если headerГп =
{{An(i) ,Dn(i) ),..., {An(k) ,Dn(k))) , bodyrn {tn 1 t £ bodyr}, где tn
{tn(i),..., tn(k)) перестановка кортежа t = {ti,...,tk).
Операция объединения действует на табличных отношениях, таких, что заголовок одного из табличных отношений при некоторой перестановке совпадает с заголовком другого табличного отношения. Пусть r1 и r2 такие табличные отношения, что для некоторой перестановки п выполнено headerri = headerr2. Определим операцию объединения:
r1 U r2 = r'
bodyr, = bodyri |^J bodyr2 headerr = header ri
С точки зрения заголовка headerr> операция объединения не является коммутативной (получаются разные порядки имен атрибутов). Но мы готовы это терпеть, чтобы избежать дублирования имен и появления синонимов.
2.4. Операция вычитания
Операция вычитания также действует на табличных отношениях, заголовки которых при некоторой перестановке совпадают. При подходящей перестановке п вычитание табличных отношений определяется как
r1 - r2 = r'
bodyr = bodyri \ bodyr2 header r = header ri = header rn
2.5. Операция декартова произведения
Пусть r1 и r2 — отношения такие, что sign(r1) П sign(r2) = 0. Тогда
12 ' r х r = r
bodyr, = {^ ■ t2 | ti £ bodyri и t2 £ bodyr2}
header^ = headerri ■ headerr2
где ■ - операция конкатенации (присоединения) кортежей.
3. Выразимость операций алгебры Кодда
В работе [1] приведен алгоритм построения по базе данных ВВ объектной теории базы данных О + СШ с аксиомами замыкания (далее объектной теории).
Теорема 1. Операции алгебры Кодда определимы в объектных теориях баз данных.
Доказательство. Мы приведем доказательство этой теоремы для операции выборки.
Прежде всего нам необходимо формализовать в дескриптивной логике предикаты выборки из определения 1. Для этого введем два новых вида концептов, которые назовем атомарными концептами выборки:
Рг Тв1 Р2 Рг Тв1 V
где ге1 е {=, =,<,<,>,>}, Рг, Р2 - т-свойства, V е V. Определим
семантику атомарных концептов следующим образом:
(Рг ге1 Р2)1 = {х | I = 31лЗи2(Р1(х,и1) Л Р2(х,и2) Л (иг ге1 v2))}
(Рг ге1 V)1 = {х | I = Зи1(Р\(х,и1) Л (иг ге1 V))}
Произвольный концепт выборки получается из атомарных в виде их булевой комбинации с использованием связок U, П, —.
Пусть O + CW — объектная теория базы данных DB и p — предикат выборки, определенный на некотором отношении из DB. Обозначим через Ep концепт выборки, полученный из p заменой всех атрибутов A на т-свойства Pa, а V, Л на U, П соответственно, в таком случае будем писать Ep = tr(p) (здесь и далее tr преобразование, определенное в [1]). Легко проверяется, что концепты выборки ведут себя аналогично предикатам выборки:
Лемма 1. Если O + CW — объектная теория базы данных DB, то для любого t Є bodyr, DB = p(t) тогда и только тогда, когда O Ь {о} П Ep П C, где Ep = tr(p), o = tr(t) и C = tr(r).
Доказательство. Лемма доказывается индукцией по длине концепта Ер. Напомним, что выводимость О Ь {о} П Ер П С в соответствии с семантикой дескриптивных логик означает, что в любой интерпретации I объектной теории О выполняется ({о} П Ер П С)1 = 0.
Пусть Е — концепт выборки. Будем говорить, что операция выборки с концептом Е (операция а*Е) «применима» к концепту С в теории О + СШ, если все т-свойства, встречающиеся в определении концепта
Е, лежат в словаре теории О + СШ, и для любого такого т-свойства Р, если ЗР С В е О для некоторого концепта-столбца В, то С С В е О.
Приступим к определению операции выборки в объектной теории О + СШ. Пусть № = (С, К, Р, О) — словарь теории О + СШ. Пусть Е — концепт выборки и операция выборки аЕ «применима» к концепту С теории О + СШ. Далее по шагам построим теорию О' + СШ' в словаре №' = (С, П, Р, О'):
Шаг 1. Расширяем словарь № именем нового концепта С' е С, положим С = С и {С'}.
Шаг 2. Рассмотрим множество Ос,Р = {о\,..., 0\}, состоящее из всех таких констант о е О, что О+СШ Ь {о}пСПЕ. Для каждой константы о е Ос добавим в О новую константу о' / О, т. е. положим О' = Ои{о1 ,...,о1}.
Шаг 3. Добавим в О аксиомы С'(о'г),...,С'(о[) и для каждой аксиомы Р(о,у) е О, где о е ОСр, добавим в О аксиому Р(о'^).
Шаг 4. Добавим в О все аксиомы для С' вида С С В и Р(о,1(А)) (например, добавляем С' С В, если С С В е О).
Шаг 5. Изменяем аксиому Т С |_1оео{о} и аксиомы вида В С С1 и ... и С1 и ЗР С {ог} и ... и {от} в СШ так, чтобы они учитывали появление С и новых констант.
Определение остальных операций дается аналогично.
Список литературы
1. Казаков И. А. Базы данных как онтологии / И. А. Казаков, А. В. Манцивода // Изв. Иркут. гос. ун-та. Сер. Математика. - 2011. - Т. 4, № 1. - С. 20-30.
2. Малых А. А. Объектно-ориентированная дескриптивная логика / А. А. Малых, А. В. Манцивода // Изв. Иркут. гос. ун-та. Сер. Математика. - 2011. -Т. 4, № 1. - С. 57-72.
3. Abiteboul S. Foundations of Databases / S. Abiteboul, R. B. Hull, V. Vianu. -Addison-Wesley, 1995. - 685 p.
4. Malykh A. A Query Language for Logic Architectures / A. Malykh, A. Mantsivoda // Proceedings of 7th International Conference «Perspectives of System Informatics». - Springer-Verlag Berlin Heidelberg, Lecture Notes in Computer Science 5947. - 2010. - P. 294-305.
5. Libretto: объектно-итерационный язык и система управления объектными базами знаний [Электронный ресурс]. - URL: http://ontobox.org.
6. Rosati R. On Combining Description Logic Ontologies and Nonrecursive Datalog Rules / R. Rosati // Lecture Notes in Computer Science. - 2008. - Vol. 341. Web Reasoning and Rule Systems. - P. 13-27.
I. Kazakov
A formalization of the Codd algebra operations in logic
SHOIN (D)
Abstract. In this paper the problem of the interpretation of data bases as ontologies is investigated, in particular, a modeling of the Codd algebra operations via object theories. The problem of modeling the DB’s closed world within the open world of description logics is solved. It is shown that within object theories the Codd’s algebra can be defined. The results of the paper are also practically significant, because they offer a homogeneous and coherent method for manipulations with data bases as ontologies in logical knowledge bases.
Keywords: ontology; database; object theory; description logic, Libretto
Казаков Илья Анатольевич, Институт математики, экономики и информатики, Иркутский государственный университет, 664003, Иркутск, ул. К. Маркса, 1 тел.: (3952)242210 ([email protected])
Ilya Kazakov, Irkutsk State University, 1, K. Marks St., Irkutsk, 664003 Phone: (3952)242210 ([email protected])