Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы и средства интеграции независимых баз данных в распределенных телекоммуникационных сетях. Монография
.pdf
Подобные методы могут применяться при работе с некоторым
фиксированным набором ИД в случае, когда их схемы остаются
постоянными на протяжении длительного времени, однако в
ситуации, когда необходима работа с большим множеством
независимых ИД, такие решения становятся неприменимыми.
1.3.5. Методы обработки и оптимизации запросов в
СИД SIMS
В работе [27] описываются методы обработки запросов и
концепции построения СИД SIMS, одной из первых СИД,
использующая концепции из области представления знаний. При
создании этой системы ставилась задача предоставить
пользователю «прозрачный» доступ ко множеству независимых
ИД, в качестве которых могут выступать как БД, так и базы
знаний.
Алгоритм выполнения запроса системой имеет следующий
вид:
1. Определить ИД, необходимые для выполнения запроса.
2. Для классов, которые используются в запросе, но для которых
не существует явного отображения на отношения какого-либо
ИД, определить ИД, используя данные из описания
предметной области.
3. Создать план выполнения запроса.
4. Оптимизировать запрос с учетом известной информации об
ИД.
5. Собрать необходимую информацию и получить окончательный
ответ.
Для определения необходимых для выполнения запроса в
[27] предлагается использовать четыре оператора:
31

1) Выбор БД. Данный оператор осуществляет прямое
отображение объектов глобальной схемы в объекты схем
подсоединенных ИД.
2) Обобщение понятия. Данный оператор использует
информацию о суперклассе для получения информации о
подклассе. Например, объект класса rail_port, являющийся
подклассом класса port, может быть определен как объект класса
port с установленным в «Yes» свойством «rail»
3) Специализация понятия. Оператор пытается заменить
понятие более узким. Например, для запроса retrieve (?name)(:and
(port ?port) (port.name ?port ?name)(port.depth ?port ?depth) (>
?depth 25) система может определить, что свойством port.depth
обладают только объекты класса sea_port, являющимся подклассом
класса port, и заменить в запросе класс port на класс sea_port.
4) Разбиение понятий. Оператор заменяет понятие набором
других, которые покрывают ее. Например, зная, что классу port
принадлежат только объекты подклассов air_port, rail_port,
sea_port, система может заменить запрос к объекту класса port на
запрос к объекту одного из трех его подтипов.
Используя данные операторы, система пытается избавиться
от понятий в запросе, для которых нет отображений на
информацию какого-либо ИД.
Для оптимизации запросов также используется набор
глобальных правил и ограничений целостности, заданный при
описании предметной области. Ограничения целостности могут
задаваться в виде 1) принадлежности атрибута какому-либо
множеству, 2) правил типа . Данные ограничения целостности
используются для переформулировки запросов путем следующих
операций:
1) Применение знаний о принадлежности атрибута какому-
либо множеству. Если ограничение используется в запросе,
32

и системе известно, что , то в запросе можно использовать
ограничение .
2) Добавление ограничений. Если системе известно, что
и из запроса Q следует A, то к запросу Q может быть добавлено
ограничение B.
3) Удаление ограничений. Если системе известно, что и
, и из запроса Q следует A, то можно удалить С из запроса.
4) Опровержение ограничений. Если системе известно, что
и из запроса Q следует A и C такие , что, то Q
возвращает NULL.
Авторы [27] одними из первых предложили использовать
концепции из области представления знаний в построении СИД.
Дальнейшее развитие данного направления исследований
привело к достаточно активному использованию онтологий для
описания схем баз данных в области интеграции данных. Из
недостатков предложенных методов обработки запросов стоит
отметить отсутствие поддержки рекурсивных запросов (что
существенно усложняет работу с графами). Также в [27]
отсутствует описание средств обработки недоступности
подключенных ИД.
1.3.6. Методы обработки запросов в СИД TSIMMIS
В [41] предложено использовать архитектуру медиаторов для
взаимодействия с разнородными ИД. Подобные медиаторы
применяются для обобщения операций доступа к информации.
Медиаторы используют для ответа на запросы к системе
специальные программы-оболочки, обращающиеся
непосредственно к ИД, либо другие медиаторы. Данная
архитектура медиаторов должна решать проблемы разнородности
ИД. Подобная архитектура, согласно [41] должна включать
33

1) гибкую МД, обеспечивающую поддержку сложных типов
данных (например, вложенных структур), способы обработки
отсутствующей информации, метаинформацию об используемых
структурах данных,
2) общий язык запросов к медиаторам,
3) утилиты для быстрого создания новых медиаторов.
Медиаторы и программы-оболочки генерируются с помощью
специальных утилит, которые принимают спецификации на языке
описания медиаторов MSL и на языке описания программоболочек WSL. В качестве ЯЗ может использоваться как язык
MSL, так и более ориентированный на применение конечным
пользователем (программистом) язык LOREL.
Утилиты, описанные в [41], позволяют создавать медиаторы и
программы-оболочки на Datalog-подобном языке MSL. Описание
программы-оболочки состоит из набора шаблонов, которые
выглядят как «Шаблон MSL запроса // Действие //». По данному
описанию генерируется программа-оболочка, которая для шаблона
MSL запроса выполняет заданное действие, чтобы получить ответ
на данный запрос. Подобные описания позволяют задавать ИД,
которые поддерживают только определенные типы шаблонов
(например, формы поиска). Описание медиатора представляет
собой MSL-запрос над данными программ-оболочек и других
медиаторов, который определяет экспортируемые медиатором
объекты. При этом MSL-запросы могут быть рекурсивными.
1.3.7. Методы обработки и оптимизации запросов в
СИД Information Manifold
В [23] был предложен подход к описанию отображений LAV и
описана СИД Information Manifold, основанная на его
использовании. В указанной работе рассмотрены алгоритмы,
позволявшие СИД выбирать ИД, которые согласно их описанию
34

могут содержать данные, релевантные запросу пользователя. Для
каждого ИД отображение представляет описание данных, которые
он предоставляет, в терминах глобальной схемы, включая
ограничения, которые накладывает ИД на данные (например, ИД
предоставляет данные о фильмах, вышедших после 1965 года в
США).
Некоторые ИД могут описываться как полные в
определенной предметной области (например, полный перечень
публикаций сотрудников ЮФУ). Подобные ИД могут
использоваться и для того, чтобы дать отрицательный ответ. ИД
могут иметь различные возможности, которые описываются
записями о возможностях [42]. Запись определяет, какие
параметры могут быть переданы ИД. Параметр отношения ИД
- это переменная x или значение A(x), где A - имя атрибута, а
. С каждым отношением ИД ассоциируется одна запись о
возможностях вида , где - множества
параметров R, а min и max — целые числа. Каждая переменная из
должна появиться в параметрах или . Значение записи о
возможностях следующее — чтобы извлечь кортеж из R, ИД нужно
задать как минимум min параметров из . ИД соглашается
принять ограничения максиму на max параметров. Параметры
- те параметры, значения которых могут быть возвращены ИД.
Параметры - те параметры, к которым можно применять
выборки вида , где — константа, a .
Примером ИД с ограниченными возможностями могут быть,
например, Web-формы поиска на сайтах.
Алгоритм обработки запросов сводится к тому, что вначале
запрос переписывается в терминах схемы ИД. Затем циклически
для каждого отношения ИД проверяется, что определены все
входные параметры. Если хотя бы для минимального количества
входных параметров отношения определены их значения, то это
35

отношение добавляется в упорядоченный список отношений, его
выходные параметры добавляются к списку определенных
параметров. Если в результате в запросе остаются отношения,
параметры которых не определены, то запрос является не
исполнимым. Если не удалось найти такое упорядочение
обращений к отношениям ИД, при котором набор выходных
параметров преобразованного запроса содержит все
запрашиваемые пользователем значения, то запрос является не
исполнимым. Иначе для каждого отношения ИД отсекаются те
выходные значения, которые не запрашиваются пользователем
или не используются последующими отношениями как входные
параметры. Если разрешает ограничение на максимальное
количество параметров для отношения, то операции выборки
проталкиваются в ИД. Некоторые операции выборки, которые
невозможно протолкнуть в ИД, выполняются локально.
1.3.8 . Методы обработки запросов в P2P СИД
Для методов интеграции данных, применяемых в Web,
характерно использование слабоструктурированных моделей
данных, отсутствие единой глобальных схемы данных, связи
точка-точка и P2P системы. При интеграции существующих ИД в
Web стоит учитывать, что большинство данных Web
представляется в форме XML или в реляционной МД, а не в RDF.
В работе [25] описываются концепции построения и методы
обработки запросов в P2P СИД Piazza, предназначенной для
интеграции данных в глобальной сети.
Узлы СИД Piazza могут предоставлять данные или только
схемы (OWL онтологии или XML схемы), а также закэшированные
ответы на запросы. Отображения строятся между конкретными
парами узлов СИД. Пользователю видны: данные того узла
системы N, к которому он обращается; данные ИД, для которых
36

явно задано отображение между схемой узла N и их схемами; а
также, данные ИД, для которых может быть построено
транзитивное отображение между схемой ИД N и их схемами. В
СИД Piazza используется специальный язык для описания
отображений между схемами различных узлов системы, а также
алгоритм обработки запросов, который использует композицию
отображений для построения цепочки отображений между схемой
узла, выполняющего запрос, и схемой ИД, предоставляющего
данные.
В [25] описываются методы обработки запросов при
использовании отображений между различными схемами XML
БД. Такие отображения должны содержать отображение
терминологий и структуры документов.
В СИД Piazza отображения играют две роли: 1) роль описания
ИД (например, описание ограничений целостности и
дополнительной семантической информации), 2) роль задания
отображения между схемами ИД. Отображения являются
направленными и могут быть двух типов — отображения
включения и эквивалентности. Для описания отображений
используется собственный язык, использующий элементы XQuery.
Между различными поддеревьями элементов XML документов
двух ИД могут строиться отдельные отображения. Объединение
подобных отображений представляет полное отображение между
схемами двух узлов системы.
Отображение описывается с помощью XML шаблона, который
начинается с допустимого в целевой схеме пути поддерева XML
документа. Элементы пути могут иметь аннотации в виде
выражений XQuery, которые связывают переменные с узлами
XML-документа в ИД. Для отображения множества различных
элементов схемы ИД, соответствующих шаблону, на один элемент
в целевой схеме, используется специальный атрибут piazza:id.
37

Шаблон также может содержать ограничения на значения
атрибутов и дополнительную информацию, отсутствующую в ИД.
Пример отображения приведен на рис. 1.3.
<pubs>
<book piazza:id={$t}>
{: $a IN document("source.xml")/authors/author,
$t IN $a/publication/title,
$typ IN $a/publication/pub-type
WHERE $typ = "book"
PROPERTY $t >= ’A’ AND $t < ’B’ :}
<title piazza:id={$t}>{ $t }</title>
<author piazza:id={$t}>
<name> {: $a/full-name :} </name>
</author>
[: <publisher>
<name>
{: PROPERTY $this IN {"PrintersInc", "PubsInc"} :}
</name> </publisher> :]
</book>
</pubs>
Рис. 1.3. Пример отображения в СИД Piazza
В приведенном отображении определяются элементы author,
name, title целевой схемы через элементы author, full-name, title
схемы ИД, устанавливаются ограничения на название
публикаций и фиксируется дополнительная семантическая
информация об издательстве, отсутствующая в ИД.
СИД Piazza принимает запросы на языке XQuery. Каждый
ИД в ответ на запросы выдает свои данные, удовлетворяющие
запросу, и данные, доступные из других ИД. Для опроса других
ИД необходимо переформулировать запрос в терминах их схем.
Пусть есть отображение M схемы ИД S в схему ИД T и запрос
задан Q в терминах схемы ИД S. Тогда переформулировка запроса
осуществляется путем композиции запроса Q и отображения M.
38

Если же запрос задан в терминах схемы ИД T, то
переформулировка запроса может быть выполнена следующим
образом. Вначале и запрос, и отображение представляются в виде
деревьев шаблонов. Пути поиска выражения FOR запроса
формируют дерево шаблона. Подобное же дерево строится и для
отображения. Для каждого блока запроса определяется набор
шаблонов, набор предикатов и XML-дерево результатов.
Алгоритм обработки запросов включает два этапа. На первом
этапе работы этого алгоритма обработки выполняется
сопоставление шаблонов запроса и шаблонов целевой схемы.
Сопоставляются шаблоны запросов и выражения в отображении,
сопоставленные элементы помечаются. Строится шаблон
переформулированного запроса: он начинается с отмеченных
узлов в отображении, затем к нему добавляются все предки этих
узлов. На втором этапе алгоритма обрабатываются возвращаемые
в результате выполнения запроса переменные и применяемые к
данным фильтры. Алгоритм проверяет, что значения всех
требуемых переменных можно получить из имеющихся ИД, и что
были применены все фильтры. При необходимости для этого в
шаблон запроса могут добавляться новые пути.
В работе [29] предлагается модель для построения P2P
системы управления данными, основанной на онтологиях Для
представления схем гетерогеннных ИД используются локальные
RDFS [30] онтологии. Для представления отображений
предлагается использовать описанный в [29] язык PML (P2P
Mapping Language), использующий мета онтологию RDFMS (RDF
Mapping Schema). На языке PML возможно выразить отношения
эквивалентности, более или менее общего, объединения и
пересечения.
Для представления локальных метаданных СИД использует
RDFS. Реляционная МД и XML МД посредством специальных
39

программ-оболочек преобразуются в RDFS. Отношения
реляционной МД отображаются на классы RDF, атрибуты - на
свойства. В XML ИД сложные элементы отображаются на классы
RDF, а простые элементы и атрибуты — на свойства. В RDF схему
также включаются ограничения целостности. Отношения
вложенности между XML элементами сохраняются с
использованием нового свойства RDF rdfx:contained.
Отображения между различными схемами задаются
посредством различных отношений (отношение эквивалентности,
более или менее общего) между RDF классами и свойствами этих
схем. Информация об отображениях сохраняется в терминах мета
онтологии RDFMS с использованием языка PML.
Методы обработки запросов, предлагаемые в [29] так же, как
и методы, описываемые в [25], состоит из выполнения локальных
запросов, преформулировки запроса в терминах схем соседних
узлов СИД, опроса этих узлов и агрегации полученной
информации. В свою очередь опрашиваемые узлы опрашивают
другие узлы, содержащие релевантную запросу информацию.
1.4. Методы работы с неполными и противоречивыми
данными
При объединении множества независимых ИД могут
возникать некоторые проблемы интерпретации их данных. Эти
проблемы могут быть связаны с тем, что а) часть ИД может быть
недоступна, б) ИД могут быть (и почти всегда будут) неполными,
то есть могут содержать не всю информацию о конкретной
предметной области, в) при наличии глобальных ограничений
целостности (например, глобальных ограничениях первичного
ключа) ИД могут содержать противоречивую информацию. В
данном параграфе рассмотрены формальные модели и методы,
предназначенные для обработки подобных ситуаций.
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
