Jump to content

СПАРКЛ

(Перенаправлено с Sparql )


СПАРКЛ
Парадигма Язык запросов
Разработчик W3C
Впервые появился 15 января 2008 г .; 16 лет назад ( 15 января 2008 )
Стабильная версия
1.1 / 21 марта 2013 г .; 11 лет назад ( 21 марта 2013 )
Веб-сайт www .w3 .org /ТР /sparql11-запрос /
Основные реализации
Апач Йена , [ 1 ] Виртуоз OpenLink [ 1 ]

SPARQL (произносится как « искриться », рекурсивная аббревиатура). [ 2 ] для протокола SPARQL и языка запросов RDF ) — это язык запросов RDF , то есть язык семантических запросов для баз данных , способный извлекать и манипулировать данными, хранящимися в формате Resource Description Framework (RDF) . [ 3 ] [ 4 ] Она была сделана стандартом Рабочей группой по доступу к данным RDF (DAWG) Консорциума World Wide Web и признана одной из ключевых технологий семантической сети . 15 января 2008 г. SPARQL 1.0 был признан W3C официальной рекомендацией. [ 5 ] [ 6 ] и SPARQL 1.1 в марте 2013 г. [ 7 ]

SPARQL позволяет запросу состоять из тройных шаблонов , конъюнкций , дизъюнкций и необязательных шаблонов . [ 8 ]

Существуют реализации для нескольких языков программирования . [ 9 ] Существуют инструменты, позволяющие подключиться и полуавтоматически построить запрос SPARQL для конечной точки SPARQL, например ViziQuer. [ 10 ] Кроме того, существуют инструменты для перевода запросов SPARQL на другие языки запросов, например на SQL. [ 11 ] и XQuery . [ 12 ]

Преимущества

[ редактировать ]

SPARQL позволяет пользователям писать запросы к тому, что можно условно назвать данными «ключ-значение» или, более конкретно, к данным, которые соответствуют RDF W3C спецификации . Таким образом, вся база данных представляет собой набор троек «субъект-предикат-объект». Это аналогично использованию в некоторых базах данных NoSQL термина «документ-ключ-значение», например MongoDB .

В SQL реляционной базы данных терминах данные RDF также можно рассматривать как таблицу с тремя столбцами — столбцом субъекта, столбцом предиката и столбцом объекта. Субъект в RDF аналогичен сущности в базе данных SQL , где элементы данных (или поля) для данного бизнес-объекта размещаются в нескольких столбцах, иногда распределяются по более чем одной таблице и идентифицируются уникальным ключом . Вместо этого в RDF эти поля представлены как отдельные строки предикатов/объектов, имеющие один и тот же субъект, часто один и тот же уникальный ключ, при этом предикат аналогичен имени столбца, а объект — фактическим данным. В отличие от реляционных баз данных, столбец объекта неоднороден: тип данных для каждой ячейки обычно подразумевается (или указывается в онтологии ) значением предиката . Кроме того, в отличие от SQL, RDF может иметь несколько записей для каждого предиката; например, можно иметь несколько «дочерних» записей для одного «человека» и возвращать коллекции таких объектов, например «детей».

Таким образом, SPARQL предоставляет полный набор аналитических операций запроса, таких как JOIN, SORT, AGGREGATE для данных, схема которых по своей сути является частью данных, а не требует отдельного определения схемы. Однако информация о схеме (онтология) часто предоставляется извне, чтобы обеспечить объединение различных наборов данных однозначное . Кроме того, SPARQL предоставляет специальный синтаксис обхода графа для данных, которые можно рассматривать как граф.

В приведенном ниже примере показан простой запрос, использующий онтологии. определение foaf («друг друга»).

В частности, следующий запрос возвращает имена и адреса электронной почты каждого человека в наборе данных :

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name 
       ?email
WHERE
  {
    ?person  a          foaf:Person .
    ?person  foaf:name  ?name .
    ?person  foaf:mbox  ?email .
  }

Этот запрос объединяет все тройки с совпадающим субъектом, где предикат типа " a", это человек( foaf:Person), и у человека есть одно или несколько имен ( foaf:name) и почтовые ящики ( foaf:mbox).

Для удобства чтения автор этого запроса решил ссылаться на субъект, используя имя переменной " ?person". Поскольку первый элемент тройки всегда является подлежащим, автор мог бы с тем же успехом использовать любое имя переменной, например " ?subj" или " ?x". Какое бы имя ни было выбрано, оно должно быть одинаковым в каждой строке запроса, чтобы указать, что механизм запросов должен объединять тройки с одним и тем же предметом.

Результатом соединения является набор строк – ?person, ?name, ?email. Этот запрос возвращает ?name и ?email потому что ?person часто представляет собой сложный URI, а не удобную для пользователя строку. Обратите внимание, что любой ?person может иметь несколько почтовых ящиков, поэтому в возвращаемом наборе ?name строка может появляться несколько раз, по одному для каждого почтового ящика.

Этот запрос можно распределить по нескольким конечным точкам SPARQL (службам, которые принимают запросы SPARQL и возвращают результаты), вычислить и собрать результаты — процедура, известная как объединенный запрос .

Дополнительные тройные определения в запросе, как в федеративном, так и в локальном виде, могут позволить объединять различные типы субъектов, например автомобили, для выполнения простых запросов, например, для возврата списка имен и адресов электронной почты людей, которые водят автомобили с высоким уровнем риска. топливная экономичность.

Формы запросов

[ редактировать ]

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

SELECT запрос
Используется для извлечения необработанных значений из конечной точки SPARQL, результаты возвращаются в формате таблицы.
CONSTRUCT запрос
Используется для извлечения информации из конечной точки SPARQL и преобразования результатов в действительный RDF.
ASK запрос
Используется для предоставления простого результата True/False для запроса в конечной точке SPARQL.
DESCRIBE запрос
Используется для извлечения графа RDF из конечной точки SPARQL, содержание которого остается на усмотрение конечной точки на основе того, что сопровождающий считает полезной информацией.

Каждая из этих форм запроса занимает WHERE блок для ограничения запроса, хотя в случае DESCRIBE запрос, WHERE является необязательным.

SPARQL 1.1 определяет язык для обновления базы данных несколькими новыми формами запросов. [ 13 ]

Еще один пример запроса SPARQL, моделирующий вопрос «Какие столицы всех стран Африки?»:

PREFIX ex: <http://example.com/exampleOntology#>
SELECT ?capital
       ?country
WHERE
  {
    ?x  ex:cityname       ?capital   ;
        ex:isCapitalOf    ?y         .
    ?y  ex:countryname    ?country   ;
        ex:isInContinent  ex:Africa  .
  }

Переменные обозначаются значком ? или $ префикс. Крепления для ?capital и ?country будет возвращен. Когда тройка заканчивается точкой с запятой, субъект из этой тройки неявно дополняет следующую пару до целой тройки. Так например ex:isCapitalOf ?y это сокращение от ?x ex:isCapitalOf ?y.

Процессор запросов SPARQL будет искать наборы троек, соответствующие этим четырем шаблонам троек, связывая переменные в запросе с соответствующими частями каждой тройки. Здесь важно отметить «ориентацию по свойствам» (сопоставление классов может проводиться исключительно через атрибуты классов или свойства – см. Duck typing ).

Чтобы сделать запросы краткими, SPARQL позволяет определять префиксы и базовые URI аналогично Turtle . В этом запросе префикс " ex" означает " http://example.com/exampleOntology#”.

Расширения

[ редактировать ]

GeoSPARQL определяет функции фильтрации для запросов географической информационной системы (ГИС) с использованием хорошо понятных стандартов OGC ( GML , WKT и т. д.).

SPARUL — это еще одно расширение SPARQL. Он позволяет обновлять хранилище RDF с помощью этого декларативного языка запросов, добавляя INSERT и DELETE методы.

XSPARQL — это интегрированный язык запросов, сочетающий XQuery и SPARQL для одновременного запроса источников данных XML и RDF. [ 14 ]

Реализации

[ редактировать ]

Открытый исходный код, эталонные реализации SPARQL

См. «Список реализаций SPARQL» для более подробной информации, включая тройное хранилище , API и другие хранилища, в которых реализован стандарт SPARQL.

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б с д Хебелер, Джон; Фишер, Мэтью; Блейс, Райан; Перес-Лопес, Эндрю (2009). Семантическое веб-программирование . Индианаполис : John Wiley & Sons, Inc. , с. 406. ИСБН  978-0-470-41801-7 .
  2. ^ Беккет, Дэйв (6 октября 2011 г.). «Что означает SPARQL?» . [электронная почта защищена] .
  3. ^ Джим Рапоза (2 мая 2006 г.). «SPARQL заставит Интернет сиять» . электронная неделя . Проверено 17 января 2007 г.
  4. ^ Сегаран, Тоби; Эванс, Колин; Тейлор, Джейми (2009). Программирование семантической сети . O'Reilly Media, Inc., 1005 Gravenstein Highway North, Севастополь, Калифорния 95472. с. 84. ИСБН  978-0-596-15381-6 .
  5. ^ «Новости W3C Semantic Web Activity – SPARQL — рекомендация» . W3.org. 15 января 2008 г. Архивировано из оригинала 20 января 2008 г. Проверено 1 октября 2009 г.
  6. ^ «Хронология стандартов XML и семантической сети W3C» (PDF) . 4 февраля 2012 года . Проверено 27 ноября 2013 г.
  7. ^ «Одиннадцать спецификаций SPARQL 1.1 являются рекомендациями W3C» . w3.org. 21 марта 2013 года . Проверено 25 апреля 2013 г.
  8. ^ «XML и веб-сервисы в новостях» . xml.org . 6 октября 2006 г. Проверено 17 января 2007 г.
  9. ^ «SparqlImplementations – ESW Wiki» . Esw.w3.org . Проверено 1 октября 2009 г.
  10. ^ «ViziQuer — инструмент для автоматического построения запросов SPARQL» . lumii.lv . Проверено 25 февраля 2011 г.
  11. ^ «Сервер Д2Р» . Проверено 4 февраля 2012 г.
  12. ^ «Структура SPARQL2XQuery» . Проверено 4 февраля 2012 г.
  13. ^ Ю, Лиян (2014). Руководство разработчика по семантической сети . Спрингер. п. 308. ИСБН  9783662437964 .
  14. ^ «XSPARQL опубликован как файл W3C» . W3.org. 23 июня 2009 года . Проверено 22 мая 2022 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 81e371ff730513605f4f4412e0ee8d62__1722440760
URL1:https://arc.ask3.ru/arc/aa/81/62/81e371ff730513605f4f4412e0ee8d62.html
Заголовок, (Title) документа по адресу, URL1:
SPARQL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)