SPARQL (рэкурсіўны акронім ад ) — мова запытаў да дадзеных, прадстаўленая па мадэлі RDF, а таксама пратакол для перадачы гэтых запытаў і адказаў на іх. SPARQL з’яўляецца рэкамендацыяй кансорцыума W3C і адной з тэхналогій семантычнага павуціння. Прадастаўленне SPARQL-кропак доступу () з’яўляецца рэкамендаванай практыкай пры публікацыі даных у сусветным павуцінні.

Стандарты W3C  — Агляд мовы запытаў SPARQL  — Каманда мовы SPARQL для запыту даных  — Каманда мовы SPARQL для змены дадзеных  — Апісанне сервісу для выканання запытаў на мове SPARQL  — Запыты на мове SPARQL да некалькіх крыніц дадзеных

Агульная схема запыту Як і ў SQL, SPARQL дэкларуе не толькі чытанне, але і маніпуляцыю данымі. Стандарт SPARQL Update апісвае каманды INSERT і DELETE для дадання і выдаленні трыплетаў у сховішча. Аднак, абедзве гэтыя каманды аперуюць той ці іншай выбаркай, так што аснова SPARQL — гэта каманда SELECT.

Агульная схема SPARQL-запыту SELECT выглядае так:PREFIX # прэфіксныя аб’явы - служаць для ўказання скарачэнняў URI, # якія выкарыстоўваюцца ў запыце. FROM ... # крыніцы запыту - вызначаюць якія RDF-графы запытваюцца. SELECT ... # склад выніку - вызначае элементы даных, якія вяртаюцца. WHERE {...} # шаблон запыту - вызначае, што запытваць з набору даных. ORDER BY ... # мадыфікатары запыту - абмяжоўваюць, парадкуюць, пераўтвораць вынікі запыту.

Перавагі SPARQL дазваляе карыстальнікам пісаць глабальна адназначныя запыты. Напрыклад, наступны запыт вяртае імёны і адрасы электроннай пошты кожнага чалавека ў свеце:PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?email WHERE { ?person a foaf:Person. ?person foaf:name ?name. ?person foaf:mbox ?email. }Прыведзеныя параметры выкарыстоўваюцца для апісання чалавека, уключанага ў FOAF . Гэта ілюструе бачанне Семантычнага павуціння як адзінай вялізнай базы даных. Кожны ідэнтыфікатар у SPARQL, URI, глабальна адназначны, у адрозненне ад «email» ці «e-mail», якія звычайна выкарыстоўваюцца ў SQL.

Гэты запыт можа быць размеркаваны на некалькі канчатковых кропак SPARQL, розных камп’ютараў, і збор вынікаў ажыццяўляецца працэдурай, вядомай як федэратыўны пошук. .

Формы запытаў Мова SPARQL вызначае чатыры розныя варыянты запытаў для розных мэт:

SELECT запыт

Здабывае неапрацаваныя значэнні з кропкі доступу SPARQL і вяртае вынікі ў фармаце табліцы.

CONSTRUCT запыт

Вымае інфармацыю з кропкі доступу SPARQL у фармаце RDF і пераўтварае вынікі да вызначанай формы.

ASK запыт

Фармуе запыт тыпу Ісціна/Хлусня.

DESCRIBE запыт

Атрымлівае апісанне RDF-рэсурсу. Рэалізацыя паводзін DESCRIBE-запытаў вызначаецца распрацоўшчыкам пункту доступу SPARQL.

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

Ключавыя словы Ніжэй прыведзена частка выкарыстоўваных ключавых слоў у SPARQL запытах, поўны пералік даступны ў афіцыйнай дакументацыі.

PREFIX — служыць для скарачэння URI.

OPTIONAL — пазначае неабавязковы шаблон.

GRAPH — ужывае шаблон да найменных графаў.

DISTINCT — забяспечвае унікальнасць рашэнняў у адказе на запыт.

LIMIT — задае максімальную колькасць выводных вынікаў.

OFFSET — апускае ў выніку першыя n рашэнняў.

ORDER BY — дазваляе адсартаваць вынік па ўзрастанні (ASC()) або па змяншэнні (DESC()). .

Параўнанне моў запытаў да RDF

DQL — заснаваны на XML, запыты і вынікі адлюстроўваюцца ў DAML+OIL; N3QL — заснаваны на Натацыі 3; R-DEVICE; RDFQ — заснаваны на XML; RDQ — падобны на SQL; RDQL — падобны на SQL; SeRQL — падобны на SQL, блізкі да RDQL; Versa — кампактны сінтаксіс (не SQL), выключна для 4Suite (мова Python).

Версіі SPARQL 1.0 стаў стандартам у студзені 2008 і ўключаў:

SPARQL 1.0 Мова запытаў;

SPARQL 1.0 Пратакол;

SPARQL Фармат вынікаў XML.

SPARQL 1.1 з’яўляецца актуальнай версіяй і ўключае:

SPARQL мова запытаў і пратакол абноўлены да 1.1;

SPARQL 1.1 Абнаўленні;

SPARQL 1.1 HTTP-пратакол для кіравання RDF графамі;

SPARQL 1.1 Апісанні службаў;

SPARQL 1.1 Лагічныя следствы (Entailments);

SPARQL 1.1 Асноўныя Федэратыўныя запыты.

Прыклад Іншы прыклад запытаў SPARQL: «Знайсці даты выхаду серый усіх сезонаў серыяла „Клан Сапрана“»: PREFIX dbpo: <http://dbpedia.org/ontology/> SELECT * WHERE { ?e dbpo:series <http://dbpedia.org/resource/The_Sopranos>. ?e dbpo:releaseDate ?date. ?e dbpo:episodeNumber ?number. ?e dbpo:seasonNumber ?season. } ORDER BY DESC(?date)Пераменныя абазначаюцца прэфіксам «?» або «$».

Каб зрабіць запыты кароткімі, SPARQL дазваляе вызначаць прэфіксы і асноўныя URI спосабам, падобным Turtle. У гэтым запыце прэфікс «dbpo» абазначае "http://dbpedia.org/ontology/».

Кропка доступу SPARQL Кропка доступу SPARQL — гэта служба, якая падтрымлівае пратакол запытаў SPARQL. Кропка доступу дазваляе карыстачу рабіць запыты да базы ведаў. Сервер апрацоўвае запыт і вяртае адказ у некаторым, звычайна машыначытальным, фармаце. Такім чынам, кропкі доступу SPARQL у першую чаргу з’яўляюцца API да баз ведаў, а прадстаўленне вынікаў павінна быць рэалізавана праграмным забеспячэннем выклікальнага боку.

Адрозніваюць два выглядs кропак доступу: агульнага прызначэння і лакальныя.

Пункты доступу агульнага прызначэння могуць рабіць запыты па любых названых RDF-дакументах, якія знаходзяцца ў Сетцы. А лакальныя кропкі доступу здольныя атрымліваць даныя толькі ад аднаго рэсурса.

Прыклады

Прыклад кропкі доступу SPARQL . Спіс кропак доступу SPARQL

Аўтаматычнае выкананне запытаў На дадзены момант для шэрагу моў праграмавання існуе магчымасць выклікаць SPARQL-запыты, існуюць прылады, якія дазваляюць падлучаць і ў паўаўтаматычным рэжыме будаваць SPARQL-запыты для кропкі доступу SPARQL, напрыклад ViziQuer.

Крыніцы

Спасылкі SPARQL Query Language for RDF — спецыфікацыя мовы запытаў SPARQL Semantic Web Activity News — Навіны семантычнага павуціння Berners-Lee looks for Web’s big leap — інтэрв’ю Ціма Бернерса-Лі Structure of a SPARQL Query — Структура SPARQL запыту SPARQL Protocol for RDF — спецыфікацыя пратакола SPARQL Мова запытаў SPARQL для RDF SPARQL Working Group Wiki RDF Query Survey XML.com: Introducing SPARQL: Querying the Semantic Web RDF Query and Rule languages Use Cases and Examples survey SPARQL — мова запытаў да RDF SPARQL Query Language for RDF

Катэгорыя:Стандарты W3C Катэгорыя:Семантычнае павуцінне Катэгорыя:Старонкі з недагледжанымі перакладамі