Научная статья на тему 'НОВЫЕ ВОЗМОЖНОСТИ ФОРМИРОВАНИЯ ЗАПРОСОВ СЕМАНТИЧЕСКИХ ДАННЫХ С ПОМОЩЬЮ SPARQL'

НОВЫЕ ВОЗМОЖНОСТИ ФОРМИРОВАНИЯ ЗАПРОСОВ СЕМАНТИЧЕСКИХ ДАННЫХ С ПОМОЩЬЮ SPARQL Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
35
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕМАНТИЧЕСКАЯ ПАУТИНА / СЕМАНТИЧЕСКИЙ ВЕБ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Верхова О.Г., Иванова Н.А.

С развитием семантического веб многие исследования стали направлены на изучение технологий, связанных с веб-онтологиями, а также хранением и обработкой данных на основе реляционных моделей. Данная статья посвящена сравнению языка запросов SPARQL и SQL. Сопоставляются модели данных, для которых они предназначены.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

NEW FEATURES OF QUERYING SEMANTIC DATA WITH SPARQL

With development of Semantic Web, much research focuses on various technologies about Web ontology and various storages based on RDB. This article provides сomparing query languages SPARQL with SQL. Data models which they are intended are сompared.

Текст научной работы на тему «НОВЫЕ ВОЗМОЖНОСТИ ФОРМИРОВАНИЯ ЗАПРОСОВ СЕМАНТИЧЕСКИХ ДАННЫХ С ПОМОЩЬЮ SPARQL»

УДК 004.9

НОВЫЕ ВОЗМОЖНОСТИ ФОРМИРОВАНИЯ ЗАПРОСОВ СЕМАНТИЧЕСКИХ

ДАННЫХ С ПОМОЩЬЮ SPARQL

О.Г. Верхова, Н.А. Иванова

Брянский государственный университет имени академика И.Г. Петровского

С развитием семантического веб многие исследования стали направлены на изучение технологий, связанных с веб-онтологиями, а также хранением и обработкой данных на основе реляционных моделей. Данная статья посвящена сравнению языка запросов SPARQL и SQL. Сопоставляются модели данных, для которых они предназначены.

Ключевые слова: Семантическая паутина, Семантический Веб, SQL, SPARQL, RDF, W3C.

С ростом объемов информации в сети Интернет достижение точных результатов поисковых запросов пользователей постоянно усложняется. Поэтому в настоящее время множество исследований ориентированы на разработки в области семантической паутины, в особенности управлением и поиском в веб-онтологиях, а также технологии хранения и использования информации в реляционных базах данных [3].

В семантическом вебе используется представление знаний с помощью языка RDF (Resource Description Framework, формат данных в виде ориентированного маркированного графа для представления информации во всемирной паутине). Язык запросов и протокол передачи данных SPARQL (SPARQL Protocol and RDF Query Language) был разработан специально для RDF-данных и рекомендован Консорциумом Всемирной паутины [5].

Языки запросов применяются в соответствии с моделью представления данных. Так язык запросов SQL (Structured Query Language) используется для поиска, создания, изменения и удаления информации, представленной в реляционной модели данных. Сравнивая языки SPARQL и SQL, необходимо помнить о том, что их преимущества напрямую связаны с моделями данных, с которыми они работают [4].

Архитектура RDF-модели данных более гибкая, нежели реляционной модели, поэтому вносить изменения в RDF-модель проще. Кроме того, запросы к RDF-хранилищам проходят по протоколу HTTP, что обеспечивает легкость внедрения их в сервисные архитектуры [2].

Реляционная модель данных представляется в виде таблиц, каждая строка которых имеет одинаковое количество столбцов, а столбцы соответствуют определенному типу данных. RDF- данные представляются в виде триплетов «сущность - атрибут - значение» с использованием языка OWL (Web Ontology Language) [1].

Кроме того, язык SPARQL позволяет работать с формальными представлениями данных, в том числе XML (eXtensible Markup Language) и тематическими картами (Topic Maps), представленными в виде деревьев и ориентированных графов с вершинами типа «тема» и ребрами «ассоциация».

Рассмотрим следующий пример. Пусть имеется адресная книга, состоящая из двух таблиц «Имена» и «Адреса», схема данных которых приведена на рисунке 1.

В реляционных базах данных и, следовательно, в SQL, отношения между объектами из разных таблиц устанавливаются с помощью ключевых полей. SQL-запрос отражает специфическую структуру базы данных, а также способ хранения информации, без понимания семантических связей между объектами. Как видно из рисунка 1, связь между таблицами осуществляется по Идентификатору адреса.

1

Код Имя

Идентификатор адреса

I

Код

Город

Индекс

Рис. 1. Схема данных

Задать те же самые данные в виде триплетов можно по следующему графовому шаблону: <Имя> <Живет> <Город> и <Город> <Идентифицируется> <Индекс>. Причем связь между записями в хранилище подобных триплетов куда более наглядна, нежели связь по ключевым полям. На рисунке 2 представлен RDF-граф, иллюстрирующий шаблон.

Представление данных в виде ориентированного RDF-графа оказывается более наглядно для пользователей, так как непосредственно иллюстрирует все связи между сущностями и их значениями.

Следовательно, первым ключевым отличием RDF-данных и SPARQL является то, что отношения между объектами описываются подробно, и эти описания находятся в свободном доступе. В результате такого представления SPARQL-запросы оказываются более понятными пользователям.

Еще одной важная особенность SPARQL - способность обрабатывать данные их различных источников, а также использовать IRI в качестве параметров. При использовании SPARQL пользователю не нужно дополнительно сопоставлять термины из различных баз данных, чтобы избежать совпадения имен столбцов и ключей, в отличие от SQL.

Составим запросы к схеме данных и RDF-графу, чтобы найти имена людей и их индексы.

На языке SQL запрос будет выглядеть следующим образом: SELECT Имя, Индекс FROM Имена, Адреса

WHERE Имена.Идентификатор_адреса=Адреса.Код AND Адреса.Город-ТородГ'

В данном случае мы извлекаем список атрибутов из списка набора данных, удовлетворяющих заданным условиям.

Город

II д е н тн ф нц и руетт я

> Индекс

Рис 2. RDF-граф

На языке SPARQL аналогичный запрос будет выглядеть: SELECT ?Имя, ?Индекс WHERE {

?Кто <Имеет_имя> ?Имя; <Живет> ?Адрес.

?Адрес <Идентифицируется> ?Индекс;

<Город> "Город1" }

В случае запроса на языке SPARQL мы соотносим запрашиваемые переменные с графовым шаблоном, т. е. тремя взаимосвязанными утверждениями. Графовый шаблон выглядит как утверждение, но любая его часть может быть заменена на переменную (переменные в языке SPARQL начинаются с ?).

В результатах запросов заголовками столбцов в случае SPARQL запросов будут имена переменных, а в случае с SQL - заголовки столбцов.

Язык SPARQL использует часть служебных слов языка SQL: SELECT, FROM, WHERE, UNION, GROUP BY, HAVING, а также большинство имен функций, однако имеющееся сходство носит лишь внешний характер. SPARQL и SQL имеют очень близкие операторы UNION и MINUS, которые соответственно добавляют и удаляют части результатов запроса.

В случае если данные не доступны в БД, SQL вернет значение NULL. Для соединения результатов в SQL используется оператор JOIN, эквивалентом которого в языке SPARQL является оператор OPTIONAL. Однако, несмотря на сходство, между этими операторами существует важное различие в отношении обработки недостающих данных. Отсутствующие данные просто никак не выражаются в RDF. Вследствие этого сам SPARQL-граф не будет строиться, если в триплете будет не хватать атрибутов [6].

Пожалуй, главная особенность SPARQL - создание федеративных запросов к разным хранилищам, которая заложена в самом формате представления данных RDF. В SQL нет подобного стандартизированного механизма для федеративных запросов, в то время как Консорциум Всемирной паутины подробно стандартизовал и RDF, и SPARQL.

Реляционную модель данных сложно использовать для решения задач, в основе которых лежат графы, а также весь класс NoSQL-задач. RDF-хранилища можно использовать практически в любой предметной области, особенно в сферах, в которых присутствует множество сущностей с самыми разными связями между ними, и практически любую реляционную модель данных можно представить в виде ориентированного графа [2].

Тем не менее, было бы ошибочно утверждать, что RDF-хранилища и SPARQL могут легко заменить реляционную модель и SQL на данном этапе, так как последние все еще занимают лидирующее положение. Сравнительно с языком SQL, SPARQL достаточно молод, и для использования его возможностей с максимальной эффективностью требуется большая интеграция технологий семантического веб в Интернет.

Список литературы

1. Антониу Г., Грос П., Хармелен ван Ф., Хоекстра Р. Семантический веб- М.: ДМК Пресс, 2016. 240 с.

2. RDF — инструмент для неструктурированных данных (RDF - engine for unstructured data) [Электронный ресурс]. URL: http://www.osp.ru/os/2012/09/13032513 (дата обращения: 5.11.2016).

3. A Comprehensive Comparative study of SPARQL and SQL [Электронный ресурс]. URL: http://www.ijcsit.com/docs/Volume%202/vol2issue4/ ijcsit2011020467.pdf (дата обращения: 6.11.2016).

4. Comparing SPARQL with SQL [Электронный ресурс]. URL: http://www.topquadrant.com/2014/05/05/comparing-sparql-with-sql/ (дата обращения: 4.11.2016).

5. SPARQL 1.1 [Электронный ресурс]. URL: Overview https://www.w3.org/TR/sparqln-overview/ (дата обращения: 1.11.2016).

6. SPARQL vs. SQL - Intro [Электронный ресурс]. URL: http://www.cambridgesemantics.com/semantic-university/sparql-vs-sql-intro (дата обращения: 2.11.2016).

Сведения об авторах

Верхова О.Г. - магистрант направления подготовки «Прикладная математика и информатика», направленность «Прикладные Интернет-технологии», Брянский государственный университет им. академика И.Г. Петровского.

Иванова Н. А. - к.т.н., доцент кафедры информатики и прикладной математики, Брянский государственный университет им. академика И.Г. Петровского, e-mail: ivanova_natala@mail.ru.

NEW FEATURES OF QUERYING SEMANTIC DATA WITH SPARQL

O.G. Verkhova, N.A. Ivanova

Bryansk State University named after Academician I. G. Petrovsky

With development of Semantic Web, much research focuses on various technologies about Web ontology and various storages based on RDB.

This article provides ramparing query languages SPARQL with SQL. Data models which they are intended are rampared.

Keywords: Semantic Web, SQL, SPARQL, RDF, W3C.

References

1. Antoniou G., Groth P., Harmelen F., Hoekstra R. A Semantic Web Primer - M .: DMK Press, 2016. 240 p .

2. RDF - a tool for unstructured data (RDF - engine for unstructured data) [electronic resource]. URL: http://www.osp.ru/os/2012/09/13032513 (reference date: 11/05/2016)

3. A Comprehensive Comparative study of SPARQL and SQL [electronic resource]. URL: http://www.ijcsit.com/docs/Volume%202/vol2issue4/ ijcsit2011020467.pdf (reference date: 11/06/2016)

4. Comparing SPARQL with SQL [electronic resource]. URL: http://www.topquadrant.com/2014/05/05/comparing-sparql-with-sql/ (reference date: 11/04/2016)

5. SPARQL 1.1 [electronic resource]. URL: Overview https://www.w3.org/TR/sparql11-overview/ (reference date: 01/11/2016)

6. SPARQL vs. SQL - Intro [electronic resource]. URL: http://www.cambridgesemantics.com/semantic-university/sparql-vs-sql-intro (reference date: 11/02/2016)

About authors

Verkhova O.G. - graduate student, Department of computer science and applied mathematics, Bryansk State University named after Academician I. G. Petrovsky.

Ivanova N.A. - PhD in Technical Sciences, assistant professor, Department of computer science and applied mathematics, Bryansk State University named after Academician I. G. Petrovsky, e-mail: ivanova_natala@mail.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.