Построение отображения между реляционными базами данных

advertisement
Международная научная конференция, КПИ, Киев, 2012 г.
141
УДК 004.8
Построение отображения между реляционными
базами данных и онтологиями
Татариков А.О., к.т.н. Терновой М.Ю., Штогрина Е.С.
Национальный технический университет Украины «КПИ», г. Киев
alexot91@gmail.com, ternovoy@its.kpi.ua, L_Shtogrina@mail.ru
В работе рассмотрено построение отображения между реляционной
базой данных (РБД) и онтологией. В результате применения данного
отображения данные из РБД записываются в виде RDF триплетов.
Предложенный подход позволяет применять технологии Semantic Web к
информации, которая хранится в РБД.
Введение
В
информационно-телекоммуникационной
среде
современных
организаций функционируют специализированные информационные
системы, ориентированные на решение определенных задач. Как правило,
эти системы поставляются или создаются различными компаниями, что
обуславливает различие в средствах хранения и представления
информации, в том числе различие используемой терминологической базы.
Это, в свою очередь, является одной из основных причин затрудняющих
интеграцию данных как в процессе предоставления их конечному
пользователю, так и при использовании другими системами.
Решением указанной проблемы может стать предоставление
обобщенного описания предметной области, отражающего ее семантику, а
также построение отображения между указанным описанием и
реляционными базами данных, которые, как правило, используются в
качестве хранилищ данных в современных информационных системах. В
качестве обобщенного описания предметной области целесообразно
использовать онтологии, представляющие собой словарь терминов
некоторой предметной области и множество связей, установленных между
этими терминами [1, 2].
На сегодняшний день существуют различные подходы и методы,
позволяющие строить отображения между РБД и онтологиями [3-9].
В данной работе предлагается модификация подхода к построению
отображений между онтологиями и реляционными базами данных,
описанного в работе [9], который позволяет представить данные из
142
Интеллектуальный анализ информации ИАИ-2012. Онтологический инжениринг
реляционной базы данных в виде RDF триплетов, что продемонстрировано
на примере биллинговой системы.
Основная часть
Отображение между РБД и онтологией это правила, в соответствии с
которыми возможно представить данные из РБД в терминах онтологии.
Для хранения отображения, т.е. правил описывающих соответствия между
составляющими частями РБД и онтологии, предлагается использовать базу
метаданных (БМД), схема которой описана в работе [9].
Построение отображения заключается в заполнении БМД. Для этого
необходимо определить соответствия, во-первых между таблицами РБД и
классами онтологии, во-вторых между столбцами таблиц РБД и Datatype
свойствами классов онтологии, и в третьих между связями между
таблицами РБД и Object свойствами классов онтологии.
Результатом отображения будут RDF триплеты, сформированные на
основании данных из РБД. RDF триплет, это граф у которого есть два узла
(субъект и объект) и одно ребро (предикат) [10].
База метаданных состоит из набора таблиц, предназначение которых
описано ниже. В БМД кроме собственно отображения хранится также
описание онтологии и структуры РБД информационной системы.
Информация об онтологии содержится в таблицах Ontology,
OWL_Class, OWL_Datatype_Property и OWL_Object_Property. В таблице
Ontology хранится информация о расположении онтологии. В таблицах
OWL_Class, OWL_Datatype_Property и OWL_Object_Property хранится
информация о классах онтологии, Datatype свойствах и Object свойствах
классов онтологии соответственно.
Структура РБД информационной системы отражена в БМД следующим
образом. Названия всех таблиц базы данных информационной системы
хранятся в таблице БМД Class2Table. А описание неключевых столбцов
этих таблиц РБД и связей между ними хранится вместе с информацией об
их соответствии с Datatype свойствами и Object свойствами классов
онтологии в таблицах Object_Property_Map, Datatype_Property_Map.
Информация об отображении также хранится в таблице БМД
Class_Map, которая содержит описания соответствий между OWL
классами онтологии и таблицами РБД.
Процесс формирования результата отображения, RDF триплетов,
можно условно разделить на два этапа. Первый состоит в формировании
SQL запросов к базе метаданных. Результаты этих запросов будут
содержать информацию необходимую для дальнейшего формирования
SQL запросов к РБД информационной системы. В результате выполнения
143
Международная научная конференция, КПИ, Киев, 2012 г.
составленных таким образом SQL запросов будут сформированы три вида
RDF триплетов описанных ниже.
Чтобы получить результат отображения, который содержит всю
информацию, представленную в РБД, необходимо выполнить три типа
запросов. Запросы первого типа в качестве результата возвращают RDF
триплеты, которые определяют экземпляры классов онтологии. Для того
чтобы указать, что ресурс является экземпляром класса, используется
свойство «rdf:type». Запросы второго типа осуществляют формирование
RDF триплетов, которые описывают какие значения принимают Datatype
свойства экземпляров классов онтологии, сформированных первым типом
запросов. Аналогично второму типу запросов, RDF триплеты, которые
являются результатом запросов третьего типа, описывают значения Object
свойств экземпляров классов онтологии, сформированных первым типом
запросов.
На основе онтологии биллинга и части РБД (см. табл. 1 и табл. 2)
биллинговой
системы
Asterisk2Billing [11]
рассмотрим
процесс
формирования RDF триплетов, которые определяют экземпляры классов
онтологии. Для демонстрации данного типа запросов необходимо
использовать содержимое таблиц БМД Ontology, Class2Table, OWL_Class и
Class_Map. Исходные тестовые данные для этих таблиц приведены в табл.
3, табл. 4, табл. 5, табл. 6 соответственно.
Таблица 2. Таблица user_call РБД биллинговой системы
user_call_id
101
102
user_id
start_time
12:30 11.10.11
23:10 24.09.11
1
2
stop_time
12:35 11.10.11
23:40 24.09.11
session_bill
10
60
Таблица 3. Таблица user РБД биллинговой системы
user_id
1
2
userlogin
Fein
Logitech
name
Alexey Tatarikov
Ivan Pupkin
tariff
Unlim-1024
Unlim-2048
Таблица 4. Таблица БМД Ontology
Ontology_ID
…
2
…
Xml_Base
…
its.kpi.ua\Billing
…
Таблица 5. Таблица БМД Class2Table
Class2Table_ID
…
5
7
…
Table_Name
…
user_call
User
…
144
Интеллектуальный анализ информации ИАИ-2012. Онтологический инжениринг
Таблица 6. Таблица БМД OWL_Class
OWL_Class_ID
…
11
12
13
14
15
…
Ontology_ID
…
2
2
2
2
2
…
RDF_C_ID
…
Card
Call
Payments
Invoice
Receipt
…
Таблица 7. Таблица БМД Class_Map
Class_Map_ OWL_
ID
Class_ ID
Class2Table_ Generate_Ins Istance_URI Filter_Expr
ID
tances
_Prefix
ID_Column_
Expr
…
12
14
…
…
7
5
…
…
user_id
user_call_id
…
…
11
12
…
…
1
1
…
…
User
User_Call
…
…
NULL
NULL
…
Ниже приведен SQL запрос к БМД, который формирует основу для
дальнейшей постановки SQL запросов к РБД информационной системы:
SELECT Xml_Base, Instance_URI_Prefix, Table_Name, ID_Column_Expr, RDF_C_ID
FROM dbo.Class_Map
Inner Join dbo.Class2Table
On dbo.Class2Table.Class2Table_ID = dbo.Class_Map.Class2Table_ID
Inner Join dbo.OWL_Class
On dbo.OWL_Class.OWL_Class_ID = dbo.Class_Map.OWL_Class_ID
Inner Join dbo.Ontology
On dbo.Ontology.Ontology_ID = dbo.OWL_Class.Ontology_ID
WHERE
dbo.Ontology.Ontology_ID = 2 and dbo.Class_Map.Generate_Instances = 1
Результат данного запроса представляет собой временную таблицу
TempTriplets и приведен в табл. 7.
Данный запрос является выборкой из естественного соединения
четырех таблиц: Class_Map, Class2Table, OWL_Class и Ontology. Где
Xml_Base – это столбец таблицы Ontology, представляющий собой адрес
ресурса, на котором хранится онтология. Instance_URI_Prefix – столбец
таблицы Class_Map, значения которого будут необходимы для
формирования уникальных идентификаторов RDF триплетов. Столбец
ID_Column_Expr таблицы Class_Map содержит название ключей для
таблиц РБД информационной системы. Table_Name – столбец таблицы
Class2Table, хранит названия таблиц РБД. RDF_C_ID - это столбец
таблицы OWL_Class, содержит информацию о названиях классов
онтологии. Generate_Instances – столбец таблицы Class_Map, показывает,
необходимость создания экземпляров класса.
145
Международная научная конференция, КПИ, Киев, 2012 г.
Таблица 8. Таблица TempTriplets Результат SQL запроса к БДМ
Xml_Base
…
its.kpi.ua\Billing
its.kpi.ua\Billing
…
Instance_URI_Prefix
…
User
User_Call
…
Table_Name
…
User
user_call
…
ID_Column_Expr
…
user_id
user_call_id
…
RDF_C_ID
…
Card
Call
…
На следующем шаге формируются SQL запросы к РБД
информационной системы. Эти запросы строятся на основании данных из
временной таблицы TempTriplets (табл. 7).
Каркас SQL запроса к реляционной БД приведен ниже:
SELECT @Xml_Base + '#' + @Instance_URI_Prefix + @ID_Column_Expr as 'Subject' ,
'rdf:type' as 'Predicate',
@Xml_Base + '#' + @RDF_C_ID as 'Object'
FROM @Table_Name
Вместо
параметров
@Xml_Base,
@Instance_URI_Prefix,
@ID_Column_Expr, @RDF_C_ID, @Table_Name подставляются значения
из временной таблицы TempTriplets.
При подстановке вместо параметров соответствующих значений один
из запросов будет иметь вид:
SELECT ‘its.kpi.ua\Billing’ + ’#’ + ‘User’ + user_id as 'Subject' ,
'rdf:type' as 'Predicate',
‘its.kpi.ua’ + '#' + ‘Card’ as 'Object'
FROM user
RDF триплеты, которые генерируются в результате выполнения
приведенных выше запросов, а также RDF триплеты, генерируемые
вторым и третьим типом запросов, показаны в табл. 8.
Таблица 9. RDF триплеты, полученные на основе данных из РБД
Вид триплета
…
Субъект
…
its.kpi.ua\Billing
#User_Call1
its.kpi.ua\Billing
Триплеты - экземпляры #User_Call2
классов онтологии
its.kpi.ua\Billing #User1
its.kpi.ua\Billing #User2
…
Триплеты –
its.kpi.ua\Billing #User1
определяющие
its.kpi.ua\Billing #User1
значения Datatype
its.kpi.ua\Billing #User2
свойств классов
…
онтологии
Триплеты –
its.kpi.ua\Billing #User1
определяющие
its.kpi.ua\Billing #User2
значения Object свойств
…
классов онтологии
Предикат
…
rdf:type
Объект
…
its.kpi.ua\Billing #Call
rdf:type
its.kpi.ua\Billing #Call
rdf:type
rdf:type
…
its.kpi.ua#userLogin
its.kpi.ua#userName
its.kpi.ua#userLogin
…
its.kpi.ua\Billing #Card
its.kpi.ua\Billing #Card
…
Fein
Alexey Tatarikov
Logitech
…
its.kpi.ua#haveCall
its.kpi.ua#haveCall
its.kpi.ua\Billing #User_Call1
its.kpi.ua\Billing #User_Call2
…
…
146
Интеллектуальный анализ информации ИАИ-2012. Онтологический инжениринг
Например, строки в табл. 8, выделенные серым цветом, трактуются
данным образом:
 существует экземпляр класса its.kpi.ua\Billing #Card, в качестве
названия которого выбран уникальный идентификатор (URI) равный
its.kpi.ua\Billing#User1;
 значение Datatype свойства its.kpi.ua#userLogin для экземпляра
its.kpi.ua\Billing#User1 равно «Fein»;
 значение Object свойства its.kpi.ua#haveCall отображает связь между
двумя
экземплярами
its.kpi.ua\Billing#UserCall1
и
its.kpi.ua\Billing#User1.
Полученная совокупность триплетов описывает данные, которые
хранятся в РБД информационной системы. Эта совокупность триплетов
может быть записана в любом из существующих форматов для записи
RDF, таких как RDF/XML, RDF/JSON, N3, Turtle, N-Triples, что в свою
очередь позволит обрабатывать эти данные программным средствам
ориентированными на работу с RDF.
Выводы
В работе рассмотрен подход к построению отображения между
реляционной БД и онтологией, в котором в качестве связующего звена
между РБД и онтологией используется база мета данных. Предложены
SQL запросы, которые позволяют получить результат отображения, а
именно совокупность RDF триплетов, определяющих экземпляры классов
онтологии исходя из данных, хранимых в РБД.
Результат применения данного подхода может быть использован в
совокупности с существующими технологиями Semantic Web, а также
послужить основой для интеграции гетерогенных реляционных баз
данных.
Литература
1. Кудрявцев Д. Технологии применения онтологий. [Электронный
ресурс] - Электрон. текстовые данные. – Режим доступа:
http://bigc.ru/theory/km/onto_technologies.php . Дата обращения: 19.01.2012.
2. Голиков Н.В. Применение онтологий. [Электронный ресурс] - Электрон.
текстовые данные. – Режим доступа:
http://bigc.ru/theory/km/onto_technologies.php . Дата обращения: 18.01.2012.
3. W3C RDB2RDF Incubator Group. A Survey of Current Approaches for Mapping of
Relational Databases to RDF. [Электронный ресурс] - Электрон. текстовые
данные. – Режим доступа:
Международная научная конференция, КПИ, Киев, 2012 г.
147
http://www.w3.org/2005/Incubator/rdb2rdf/RDB2RDF_SurveyReport.pdf .
Дата обращения: 01.03.2012.
4. The D2RQ Mapping Language [Электронный ресурс] - Электрон. текстовые
данные. – Режим доступа:http://d2rq.org/d2rq-language . Дата обращения:
06.03.2012.
5. Barrasa J. R2O, an Extensible and Semantically Based Database to-ontology Mapping
Language / J. Barrasa, O. Corcho, A. Gómez-Pérez // [Электронный ресурс]. –
Электрон. текстовые данные. – [Мадрид, Испания] – Режим доступа:
http://www.cs.man.ac.uk/~ocorcho/documents/SWDB2004_BarrasaEtAl.pdf . Дата
обращения: 12.02.2012.
6. Enabling Semantic Access to Enterprise RDB Data (Position Paper for W3C workshop
on RDF Access to Relational Databases). [Электронный ресурс] - Электрон.
текстовые данные. – [Сиэтл, США] - Режим доступа:
http://www.w3.org/2007/03/RdfRDB/papers/yuan.html . Дата обращения:
08.03.2012.
7. OpenLink Virtuoso Platform. Automated Generation of RDF Views over Relational
Data Sources. [Электронный ресурс] - Электрон. текстовые данные. – Режим
доступа: http://docs.openlinksw.com/virtuoso/rdfrdfviewgnr.html .
Дата обращения: 14.10.2011.
8. Comparison of rdb-to-rdf mapping languages. [Электронный ресурс] – Электрон.
текстовые данные. – [Цюрих, Швейцария] – Режим доступа:
http://www.ifi.uzh.ch/pax/uploads/pdf/publication/ 1830/paper.pdf .
Дата обращения: 22.02.2012.
9. Guntars Bumans, Mapping between Relational Databases and OWL Ontologies: an
Example / Bumans Guntars // Scientific Papers, University Of Latvia - Computer
Science and information technologies, Vol. 756 (2010), pp. 99-117.
10. Resource Description Framework (RDF): Concepts and Abstract Syntax
[Электронный ресурс] - Электрон. текстовые данные.– Режим доступа:
http://www.w3.org/TR/rdf-concepts/ . Дата обращения: 05.03.2012.
11. A2Billing [Электронный ресурс] - Электрон. текстовые данные.– Режим
доступа: http://www.asterisk2billing.org/ . Дата обращения: 01.02.2012.
Download