SPARQL ( rekurzivní zkratka pro SPARQL Protocol a RDF Query Language ) je dotazovací jazyk pro data reprezentovaná modelem RDF a také protokol pro přenos a odpovídání na tyto dotazy. SPARQL je doporučení W3C [1] a jedna z technologií sémantického webu [2] [3] . Poskytování SPARQL-endpointů ( anglicky SPARQL-endpoint ) je doporučeným postupem při publikování dat na World Wide Web [4] .
Přehled : http://www.w3.org/standards/techs/sparql
Stejně jako v SQL deklaruje SPARQL nejen čtení, ale také manipulaci s daty. Standard SPARQL Update popisuje příkazy INSERT a DELETE pro přidávání a odebírání trojic v úložišti. Oba tyto příkazy však fungují na určitém druhu výběru, takže základem SPARQL je příkaz SELECT.
Obecné schéma dotazu SPARQL SELECT vypadá takto [5] :
Deklarace předpony PREFIX # se používají ke specifikaci zkratek URI # použitých v požadavku. Z ... # zdrojů dotazů - určete, které RDF grafy jsou požadovány. SELECT ... # výsledek složení - definuje vrácené datové prvky. WHERE {...} # šablona dotazu - definuje, co se má dotazovat z datové sady. ORDER BY ... # modifikátory dotazu - omezit, objednat, transformovat výsledky dotazu.SPARQL umožňuje uživatelům psát globálně jedinečné dotazy. Například následující dotaz vrátí jména a e-mailové adresy všech lidí na světě:
PREFIX foaf : <http://xmlns.com/foaf/0.1/> VYBERTE ?jméno ?e-mail WHERE { ?osoba a foaf : Osoba . personfoaf : jméno ? jméno . personfoaf : mbox ? email . }Uvedené parametry se používají k popisu osoby zařazené do FOAF . To ilustruje vizi sémantického webu jako jediné obrovské databáze [6] . Každý identifikátor ve SPARQL, URI, je globálně jedinečný, na rozdíl od „e-mailu“ nebo „e-mailu“, které se běžně používají v SQL.
Tento dotaz lze distribuovat mezi více koncových bodů SPARQL, různé počítače a shromažďování výsledků se provádí postupem známým jako federované vyhledávání ..
Jazyk SPARQL definuje čtyři různé možnosti dotazu pro různé účely:
VYBRAT dotaz
Načte nezpracované hodnoty z přístupového bodu SPARQL a vrátí výsledky ve formátu tabulky.COSTRUCT dotaz
Extrahuje informace z přístupového bodu SPARQL ve formátu RDF a převádí výsledky do specifické formy.ASK požadavek
Generuje dotaz True/False.POPIS žádost
Získá popis zdroje RDF. Implementace chování dotazů DESCRIBE je na vývojáři přístupového bodu SPARQL.Každý z těchto formulářů žádosti obsahuje blok WHERE pro specifikaci omezení, ačkoli tento blok je v případě požadavku DESCRIBE volitelný.
Níže je uvedena část klíčových slov používaných v dotazech SPARQL, úplný seznam je k dispozici v oficiální dokumentaci .
PREFIX – Používá se ke zkrácení URI.
VOLITELNÉ – označuje volitelný vzor.
GRAF - aplikuje šablonu na pojmenované grafy.
DISTINCT - zajišťuje jedinečnost řešení v reakci na požadavek.
LIMIT - nastavuje maximální počet výstupních výsledků.
OFFSET - Vynechá prvních n řešení ve výsledku.
ORDER BY - umožňuje seřadit výsledek vzestupně ( ASC()) nebo sestupně ( DESC()) [7] .
SPARQL 1.0 se stal standardem v lednu 2008 a zahrnoval:
SPARQL 1.0 dotazovací jazyk; Protokol SPARQL 1.0; Formát výsledků SPARQL XML.SPARQL 1.1 je aktuální verze a obsahuje:
Dotazovací jazyk a protokol SPARQL aktualizován na 1.1; Aktualizace SPARQL 1.1; SPARQL 1.1 HTTP protokol pro správu RDF grafů; Popis služeb SPARQL 1.1; Požadavky SPARQL 1.1; SPARQL 1.1 Core Federated Queries [8] .Další příklad dotazů SPARQL: "Najít data vydání pro všechny sezóny The Sopranos ":
PREFIX dbpo : <nowiki><http://dbpedia.org/ontology/></nowiki> SELECT * WHERE { ?e dbpo : série <http://dbpedia.org/resource/The_Sopranos> . ?e dbpo : datum vydání ? datum . ?e dbpo : epizodaNumber ?číslo . ?e dbpo : seasonNumber ?sezóna . } ORDER BY DESC ( ?datum )Proměnné se označují předponou "?" nebo "$".
Aby byly dotazy stručné, SPARQL umožňuje definovat předpony a základní URI způsobem podobným želvě . V tomto dotazu předpona "dbpo" znamená "http://dbpedia.org/ontology/".
Přístupový bod SPARQL je služba, která podporuje dotazovací protokol SPARQL. Přístupový bod umožňuje uživateli dotazovat se na znalostní bázi. Server požadavek zpracuje a vrátí odpověď v nějakém, obvykle strojově čitelném formátu. Přístupové body SPARQL jsou tedy primárně API ke znalostním bázím a prezentaci výsledků musí implementovat software volajícího [9] .
Existují dva typy přístupových bodů: obecný a místní .
Přístupové body pro obecné účely mohou vyhledávat jakékoli specifikované dokumenty RDF, které jsou na webu. A místní přístupové body jsou schopny přijímat data pouze z jednoho zdroje.
V současné době je pro řadu programovacích jazyků možné volat dotazy SPARQL [10] , existují nástroje, které umožňují připojit a poloautomaticky vytvářet dotazy SPARQL pro přístupový bod SPARQL, například ViziQuer [11] .
![]() |
---|
Dotazovací jazyky | |
---|---|
World Wide Web Consortium (W3C) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Produkty a normy |
| ||||||||||||||
Organizace |
| ||||||||||||||
NA |
| ||||||||||||||
Konference |
|
sémantický web | |
---|---|
Základy | |
Pododdíly |
|
Aplikace |
|
související témata | |
Normy |
|