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 Катэгорыя:Семантычнае павуцінне Катэгорыя:Старонкі з недагледжанымі перакладамі