ИНТЕГРАЦИЯ ИНФОРМАЦИИ С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ SEMANTIC WEB
А. Ф. Тузовский*'**, В. З. Ямпольский**
* Томский филиал ИВЦ СО РАН ** Институт кибернетики Национального исследовательского Томского политехнического университета, 634034, Томск, Россия
УДК 681.3.6
Описан подход к разработке систем виртуальной интеграции на основе использования технологий Semantic Web. Рассмотрены используемые языки RDF, OWL и SPARQL, а также существующие подходы федерирования запросов к источникам RDF-данных. Рассмотрена архитектура системы виртуальной интеграции, основанная на использовании глобальной онтологии, формируемой динамически путем применения отображений онтологий интегрируемых источников данных. Описана разработка адаптеров источников данных с использованием существующих систем обработки SPARQL-запросов.
Ключевые слова: интеграция информации, посредники, адаптеры, семантические технологии, Semantic Web, онтология, RDF, SPARQL.
The development approach of virtual data integration using Semantic Web technologies is described. The basic Semantic Web standards (RDF, OWL and SPARQL) and state-of-the-art in the field of federated query processing over RDF data are explained. The architecture of virtual integration systems and methods of problem solving are discussed.
Key words: information integration, mediator, adapters, semantic technology, Semantic Web, ontology, RDF, SPARQL.
Введение. Цель систем интеграции информации состоит в предоставлении пользователям возможности работать с множеством источников разнотипной информации и данных как с единым целым. Каждый источник может содержать структурированные (или полуструктурированные) данные и имеет свое описание модели хранимых данных (схему данных), такую как реляционная, онтологическая или XML-модель. В общем случае источники данных могут быть расположены на разных компьютерах, связанных сетью (интранет или Интернет). В настоящее время существует два основных подхода к решению задачи интеграции информации [1].
1. Консолидация информации (материализованная интеграция). В соответствии с этим подходом создается единое хранилище, которое периодически пополняется из интегрируемых источников данных с помощью специальных модулей, выполняющих извлечение, преобразование и загрузку данных (архитектура хранилище — ETL-модули).
2. Федерирование информации (виртуальная интеграция). В соответствии с этим подходом центральный элемент системы интеграции (посредник) выполняет преобразование запросов поступающих в подзапросы к источникам данных, которые поддерживаются специальными модулями (адаптерами), облегчающими взаимодействие посредника и источника данных (архитектура посредник — адаптер).
Несмотря на различие данных подходов, многие решаемые с их помощью проблемы совпадают, и в последнее время отмечается все большее их сближение. Основным отличием федерирования данных от консолидации является обработка поступающих запросов, т. е. преобразование их в подзапросы к источникам данных и обработка полученных результатов. Интеграция данных на основе их федерирования по многим причинам (например, возможность оперативного учета изменений в источниках данных, ограничение прав доступа к данным) считается наиболее перспективной [1]. Далее рассматривается только виртуальная интеграция данных.
1. Системы виртуальной интеграции данных. Стандартная архитектура системы виртуальной интеграции данных основана на использовании посредников и адаптеров. Посредник — центральный компонент системы интеграции, адаптеры — компоненты, обеспечивающие единообразное взаимодействие посредника с источниками данных. Основными компонентами посредника являются:
— центральный интерфейс доступа, используемый приложениями системы интеграции либо с помощью промежуточного программного обеспечения (такого, как ODBC, Web Service, SPARQL и т. п.), либо с помощью прикладного интерфейса API;
— центральный каталог метаданных (или база знаний в случае систем, основанных на онтологиях), хранящий глобальную модель данных, которая может описываться и поддерживаться явно или неявно как объединение всех локальных моделей данных;
— процессор обработки запросов, отвечающий за разделение (федерирование) глобальных запросов, поступающих в систему, на подзапросы к источникам данных, а также за их оптимизацию и выполнение;
— журнал регистрации, используемый для регистрации и дерегистрации источников данных (обычно регистрация требует предоставления метаданных об источнике и отображения его модели).
Адаптеры систем интеграции обычно прикрепляются к источникам данных для решения проблем технической разнородности и разнородности метамоделей. В зависимости от используемого подхода к описанию отображения адаптеры могут дополнительно решать и другие проблемы.
Также базовыми компонентами системы интеграции обычно являются используемая глобальная метамодель; глобальный язык запросов; интерфейс и протокол взаимодействия адаптеров и посредников.
2. Основные технологии Semantic Web. Основными стандартами Semantic Web являются языки RDF (для описания онтологий и метаданных) [2], OWL (для описания онтологических моделей) [3] и SPARQL (для описания запросов к RDF-данным) [4]. Язык RDF (resource description framework) является базовой моделью данных для всех приложений Semantic Web. Любая информация более высокого уровня, например описания онтологий с помощью таких языков, как RDF-Schema и OWL, представима на языке RDF. Описание ресурсов на языке RDF выполняется в виде триплетов (s, p, o), где s — субъект (subject); p — предикат (predicate); o — объект (object). Такие триплеты называются также RDF-утверждениями. Обычно набор триплетов рассматривается как RDF-граф — направленный, размеченный граф, сформированный из неупорядоченного набора триплетов. В виде RDF-утверждений могут быть описаны данные, имеющие разные форматы. Наиболее широко используемой программной средой для работы с RDF-данными является Jena Semantic Web Framework для языка Java [5].
Для работы с данными, представленными на языке RDF, создан стандартный язык запросов SPARQL, который может использоваться для поиска информации, содержащейся в RDF-графах, структурным способом.
Термин "SPARQL" является сокращением выражения "SPARQL protocol and RDF query language", т. е. данное название определяет не только декларативный язык запросов (подобно тому, что SQL делает для реляционной модели), но и RESTful-протокол, который используется для отправки запросов и получения результатов на основе протокола HTTP.
Для описания SPARQL-запросов используются шаблоны триплетов, имеющие такой же формат, как и у триплетов, но в которых вместо конкретных значений могут быть записаны свободные переменные. В языке SPARQL перед переменными шаблона стоит префикс в виде знака вопроса '?'. Например: (<http://scott.eom/foaf.rdf#me> foaf:knows ?person). Такие шаблоны триплетов ограничивают рассматриваемый граф подмножеством соответствующих им триплетов. При сопоставлении шаблона триплетов с RDF-графом формируется набор решающих соответствий переменных запроса.
Основной формой SPARQL-запросов является оператор SELECT. Помимо этой формы имеются также три другие формы запроса: DESCRIBE, CONSTRUCT и ASK. Все формы SPARQL-запросов основываются на сопоставлении графовых шаблонов, однако каждая форма определяет, каким образом обрабатываются полученные решающие соответствия и в каком виде они окончательно представляются в качестве результата.
Все запросы SPARQL включают базовые графовые шаблоны (БГШ) bgp, которые являются наборами шаблонов триплетов tp: bgp = (tp1,tp2, ...,tpn), содержащих совпадающие свободные переменные.
Язык RDF может быть использован в качестве глобальной метамодели систем интеграции, что имеет следующие преимущества:
— RDF по определению ориентирован на работу в Web-сети и является хорошо масштабируемым, так как взаимосвязанные RDF-онтологии могут быть распределены по всей Web-сети;
— RDF-онтологии могут быть опубликованы любым пользователем в Web-сети, для того чтобы расширить существующие понятия (концепты) взаимосвязями с новыми понятиями, если это потребуется, например при добавлении нового источника данных к системе интеграции, информация которого не описывается текущей глобальной моделью, по сути, являющейся объединением всех опубликованных онтологий, использованных для описания источников данных; в качестве идентификаторов для всех понятий используются URI-идентификаторы, что облегчает управление глобальным пространством имен URI путем использования системы доменных имен (DNS);
— языки RDF Schema и OWL поддерживают терминологические утверждения (TBox) и утверждения о фактах (ABox), а также многие дескриптивные логики, которые могут использоваться для выполнения логического вывода над данными и наложения ограничений;
— несмотря на то что RDF-метамодель (RDF Core) остается настолько простой, насколько это возможно, все средства RDF Schema и версии языка OWL Full могут быть описаны на основе RDF-метамодели.
3. Системы интеграции информации на основе семантических технологий. В настоящее время существует достаточно большое количество систем виртуальной интеграции на основе семантических технологий, например DARQ [6], SemWIQ [7], ADERIS [8], FeDeRate [9]. Все эти системы основаны на разделении (федерировании) SPARQL-запросов к глобальной онтологической модели на подзапросы к адаптерам RDF-данных.
Системы интеграции на основе семантических технологий (СИСТ) обычно разрабатываются с использованием компонента Jena ARQ, расширенного федератором и оптимизатором запросов на основе статистических данных. Эти системы позволяют с использованием языков RDF и OWL реализовать мощную, распределенную, уровня Web-сети систему интеграции информации, которая может выполнять объединение информации из большого набора различных информационных систем на основе федерированных SPARQL-запросов.
Источники данных виртуально интегрируются посредством адаптеров и центрального процессора обработки федеративных запросов, который является ответственным за формирование ответов на запросы. Обработка запросов выполняется центральным процессором путем формирования подзапросов и передачи их соответствующим адаптерам. Процесс обработки запросов основывается на использовании конвейеров (pipelining), что позволяет уменьшить время ответа и гарантирует масштабируемость системы путем потоковой передачи результатов через конвейер от исходных информационных систем к отправившему запрос клиенту.
Особенностью систем интеграции, основанных на семантических технологиях, является федерирование глобальных запросов на основе статистических данных источников информации, что делает такие системы хорошо масштабируемыми. В традиционных системах, основанных на посредниках-адаптерах, выбор подходящих (релевантных) источников данных основывается на описании глобальной схемы, а не на фактическом наборе данных. Для заданного запроса пользователя к каждому источнику данных, являющемуся релевантным с точки зрения экспортируемой им схемы, явно выполняется специальный подзапрос, чтобы определить, имеет ли он какие-либо данные, которые могут быть добавлены в результаты. Это требует выполнения по крайней мере одного сетевого соединения, что позволяет вызвать на выполнение стоимостные функции источника данных. В СИСТ можно интегрировать большое количество источников данных, так как релевантные источники данных могут быть выявлены автономно, без взаимодействия с соответствующей конечной SPARQL-точкой.
Целью федерирования глобальных запросов является включение в план глобального запроса только тех источников данных, которые потенциально могут добавить какие-либо результаты в его обработку. В отличие от традиционных систем интеграции СИСТ могут не требовать явного описания и поддержки глобальной схемы. Поэтому в таких системах отсутствует основной недостаток, характерный для систем интеграции, использующих подход Global-as-View, а именно необходимость обновлять глобальную схему при каждом добавлении нового источника данных. Вместо поддержки глобальной схемы, которая описывает все интегрируемые локальные схемы, СИСТ основывается на сводках статистических данных.
Основными архитектурными принципами СИСТ являются следующие.
1. Система использует виртуальную глобальную онтологию (виртуальный граф Gg), которая формируется динамически на основе онтологий, используемых при описании источников данных Gg = Gs1 IJ Gs2 U ••• U Gsi (Gsi — онтология, используемая для описания i-го источника данных). Она также может быть представлена в виде большого набора триплетов, виртуально соединенных из всех графов источников данных:
GG = (tsi,1, ¿s1,2) •••) tsi,ki, ts2,1, ts2,2, •••> ts2,k2,
tsn,1i tsn,2) tsn,km)•
2. Каждый источник данных Si добавляет некоторый подграф Gsi в виртуальный глобальный RDF-граф Gg. В случае если используется не RDF-источник данных, подграф Gsi виртуально определяется исходным набором данных Dsi источника данных Si и описывается с помощью отображения Mi.
3. Информация о всех зарегистрированных источниках данных хранится в каталоге метаданных, также являющемся RDF-хранилищем, содержащим описания текущего со стояния источников и возможности их использования (например, с помощью подсистемы RDFStats [10]). Статистические данные из каталога метаданных используются для интеграции и оптимизации глобальных SPARQL-запросов. Данный каталог может быть сохранен в любом основанном на Jena RDF-хранилище. Для поддержки актуального состояния источников данных с СИСТ включается монитор источников, который в фоновом режиме наблюдает за зарегистрированными источниками данных, основываясь на конфигурируемых профайлах, и обновляет текущее состояние их доступности, а также статистические данные.
4. Процессор обработки запросов системы СИСТ получает глобальный SPARQL-запрос и формирует разделенный на части план запроса (подзапросы) на основе состояния каталога метаданных. Такой процессор может быть разработан на основе компонента Jena ARQ.
5. Новые источники данных могут быть зарегистрированы и удалены с помощью компонента журнала регистрации, прикладного интерфейса журнала или Web-сервиса. Каждый источник данных регистрируется в виде соответствующего ему URI-идентификатора конечной точкой SPARQL, который предоставляется его адаптером.
На рисунке показана общая архитектура СИСТ. Для каждого источника данных и соответствующей модели исходных данных используется специфический адаптер для выполнения отображения и преобразования данных в RDF-формат за один шаг. Основными элементами данной системы являются клиенты, показанные над посредником, который находится в центре, и несколько источников данных, показанные в нижней части рисунка. Пользователи системы СИСТ выполняют запросы к посреднику с помощью клиента (самостоятельная программа или Web-приложение, основанное на Web-сервисе), т.е. передают на обработку системе интеграции глобальные SPARQL-запросы 1.
Разделенный на части и оптимизированный план запроса окончательно обрабатывается подсистемой выполнения запросов 5. Глобальный план запроса состоит из нескольких локальных подпланов, которые далее объединяются высокоуровневыми алгебраическими операциями, выполняемыми в посреднике. Любая операция, которая может быть непосредственно выполнена адаптером удаленно (в том месте, где физически находится источник данных), включается в план локального запроса.
Удаленные адаптеры размещаются непосредственно над удаленными источниками данных 6. Для источников данных, которые являются полностью автономными, соответствующие адаптеры могут помещаться в специальный контейнер, который находится в посреднике 7.
Журнал регистрации источников данных 8 отвечает за регистрацию и дерегистрацию источников данных. Источник данных может быть зарегистрирован и дерегистрирован путем отправки HTTP-запроса с методом POST, содержащим соответствующий URI конечной SPARQL-точки. Монитор источников данных 9 периодически выполняет проверку доступности зарегистрированных источников данных, собирает метаданные и текущие статистические данные.
4. Адаптеры источников данных. Каждый адаптер системы должен эффективно обрабатывать SPARQL-подзапросы для добавления решающих соответствий к результатам
Клиент 1 Клиент N
SPARQL-запросы
1
Грамматический анализатор запросов
Федератор и
оптимизатор запросов +
Система выполнения
Журнал регистрации
Контейнер адаптеров .......
Метаданные системы (void + RDFStats)
4 9
Мониторинг
источников данных
'*' s'* \
Сервер D2RQ-Map
Адаптер web-сервисов
SQL
SOAP
РСУБД
6
Подзапросы SPARQL
Т_ ~
Web-сервис
D2RQ-Map End Point
Адаптер с SPARQL End Point
РСУБД
Другие источники
Реальное RDF-хранилище
Внешние адаптеры
2
5
3
8
7
Архитектура посредников-адаптеров в СИСТ: 1 — интерфейс системы; 2 — грамматический анализатор запросов; 3 — федератор и оптимизатор запросов; 4 — метаданные системы; 5 — система выполнения плана запроса; 6 — внешние адаптеры источников данных; 7 — встроенные адаптеры источников данных; 8 — журнал регистрации источников данных;
9 — система мониторинга источников данных
обработки глобального запроса. Для этого адаптеры должны быть способны представлять содержание источника данных Si, использующего некоторую модель исходных данных, отличную от RDF (реляционную, XML, электронную таблицу и т. п.), в виде RDF-графа Gsi на основе использования отображения Mi. Более того, адаптер должен уметь формировать ответы на SPARQL-запросы такому виртуальному графу Gsi. Выполнение отображения произвольных структур данных на RDF-граф требует определения метамодели на языке RDF.
Базовый язык RDF Core (без семантики RDF Schema) имеет только возможности структурного моделирования, такие как описание базовых (не типизированных) отношений, задание типов данных и составление коллекций. Возможности более высокоуровневого концептуального моделирования предоставляются языками RDF Schema и OWL, которые также основываются на базовом языке RDF Core, и поэтому в действительности вся RDF-метамодель описывается RDF-графом.
RDF-адаптеры разрабатываются на основе определений SPARQL-запросов и порядка их выполнения. Обработка SPARQL-запроса начинается с сопоставления базовых графовых шаблонов. В реализациях, основанных на триплетах, каждый шаблон триплета, входящий в состав БГШ, т. е. tpi Е bgp, сопоставляется с активным графом G' набора RDF-данных и
всем переменным (шаблона триплета) tpi задаются все возможные значения из графа триплетов G'. Результатом является решающая последовательность для каждого шаблона tpi. Для оценки БГШ совместимые соответствия двух решающих последовательностей объединяются. Далее решения, полученные для БГШ, объединяются операторами более высокого уровня, и окончательный результат представляет собой конечный результат обработки запроса.
Общий подход к разработке виртуальных RDF-адаптеров, которые могут отвечать на SPARQL-запросы, заключается в реализации компонента, выполняющего сопоставление шаблонов триплетов. Данный компонент должен быть способен создавать (определять) для заданного шаблона триплетов tpi решающие соответствия на основе содержания исходного источника данных, который имеет схему Si и спецификацию отображения Mi.
Таким образом, базовая функциональность RDF-адаптеров может быть достаточно просто реализована на основе существующих систем обработки SPARQL-запросов, которые отвечают за все операции более высокого уровня. Источники данных, имеющие различные метамодели, должны быть преобразованы в RDF-модель. В настоящее время разработано большое количество программ, позволяющих преобразовывать данные разных форматов в RDF-формат либо предоставлять доступ к данным в других форматах с помощью конечных SPARQL-точек без физического преобразования.
Так как в настоящее время большая часть информации хранится в реляционных базах данных (РБД), основное внимание уделяется отображению содержания РБД в RDF-формат, оперативному выполнению запросов и преобразованию данных.
К числу современных технологий разработки адаптеров для РБД относятся D2RQ-Map [11], R2O [12], OpenLink Virtuoso RDF Views [13], SquirrelRDF [14]. Различие между технологиями состоит в том, что технологии D2RQ-Map, R2O и Virtuoso RDF Views основываются на семантике предметных областей, в них используются отображения для связывания произвольной реляционной модели с глобальной онтологией предметной области, а технология SquirrelRDF непосредственно генерирует RDF-данные из БД и не позволяет выполнять отображения на заранее составленные онтологии.
Адаптеры реляционных СУБД в СИСТ могут разрабатываться на основе использования системы D2RQ-Map и сервера D2R, позволяющих публиковать содержание РБД в среде системы интеграции. Сервер D2R использует настраиваемые D2RQ-отображения для представления содержания БД в формате RDF и предоставляет возможность просматривать RDF-данные и выполнять в них поиск.
Список литературы
1. Ballard C., Dayies N., Gayazzi M., et al. IBM Informix: Integration through data federation. IBM Intern. Tech. Support Organizat. [Electron. resource]. 2008. 270 p. http://www.iiug.org/ library/ids/technical/sg247032.pdf.
2. Hayes P., McBrien B. RDF semantics W3C recommendation. [Electron. resource]. 2004. http://www.w3.org/TR/rdf-mt/.
3. McGuinness D., yan Harmelen F. OWL web ontology language — overview. [Electron. resource]. 2004. http://www.w3.org/TR/owl-features/.
4. Prud'hommeaux E., Seaborne A. SPARQL query language for RDF, W3C recommendation. [Electron. resource]. 2008. http://www.w3.org/TR/rdf-sparql-query/.
5. Jena Community: Joseki — a SPARQL server for Jena. [Electron. resource]. 2009. http://www. joseki.org/.
6. Quilitz B., Leser U. Querying distributed RDF data sources with SPARQL. [Electron. resource]. 2008. http://www.eswc2008.org/final-pdfs-for-web-site/qpII-2.pdf.
7. Langegger A., Woss A. A semantic web middleware for virtual data integration on the web / Ed. by S. Bechhofer, M. Hauswirth, J. Hoffmann, M. Koubarakis. [Electron. resource]. 2008. http://www.eswc2008.org/final-pdfs-for-web-site/qpII-1.pdf.
8. Lynden S., Kojima I., Matono A., Tanimura Y. ADERIS: Adaptively integrating RDF-data from SPARQL endpoints. [Electron. resource]. 2010. http://www.springerlink.com/content/ j1363h5v3530j383/ fulltext.pdf.
9. Cheung K.-H., Frost R., Marshall S., et al. A journey to semantic web query federation in the life sciences. [Electron. resource]. 2009. http://dspace.mit.edu/openaccess-disseminate/1721.1/52498.
10. Langegger A., Wo^ W. RDFStats — an extensible RDF statistics generator and library. [Electron. resource]. 2009. http://www.sciweavers.org/publications/rdfstats-extensible-rdf-statistics-generator-and-library.
11. Bizer С., Cyganiak R. D2R Server — publishing relational databases on the semantic web. [Electron. resource]. 2006. http://www4.wiwiss.fu-berlin.de/bizer/pub/Bizer-Cyganiak-D2R-Server -ISWC2006.pdf.
12. Rodriguez J. B., Corcho O., Gomez-Perez A. R2O, an extensible and semantically based database-to-ontology mapping language. [Electron. resource]. 2004. http://www.cs.man.ac.uk/~ocorcho/ documents/SWDB2004_BarrasaEtAl.pdf.
13. Erling O., Mikhailov I. RDF support in the Virtuoso DBMS, CSSW. [Electron. resource]. 2007. http://www.openlinksw.com/OdbcRails/main/Main/VOSArticleRDF/rdfdb1.pdf.
14. Steer D. SquirrelRDF homepage. [Electron. resource]. http://jena.sourceforge.net/ SquirrelRDF/.
Тузовский Анатолий Федорович — д-р техн. наук, проф. Института кибернетики ТПУ;
тел. (3822) 42-14-85; e-mail: [email protected];
Ямпольский Владимир Захарович — д-р техн. наук, зам. директора по научной работе Института кибернетики ТПУ;
тел. (3822) 42-14-85; e-mail: [email protected]
Дата поступления — 02.02.11 г.