SPARQL

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 4. srpna 2020; kontroly vyžadují 5 úprav .

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] .

Standardy W3C

Přehled : http://www.w3.org/standards/techs/sparql 

Obecné schéma dotazů

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.

Výhody

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í ..

Formuláře žádostí

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ý.

Klíčová slova

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] .

Porovnání dotazovacích jazyků RDF

  • DQL  - založené na XML , dotazy a výsledky jsou vyjádřeny v DAML+OIL ;
  • N3QL  - na základě Notace 3 ;
  • R-ZAŘÍZENÍ ;
  • RDFQ  - založené na XML;
  • RDQ  - podobné SQL ;
  • RDQL  - obdoba SQL;
  • SeRQL  - podobné SQL, blízké RDQL;
  • Versa  - kompaktní syntaxe (ne SQL), výhradně pro 4Suite ( jazyk Python ).

Verze

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] .

Příklad

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

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.

Příklady

Automatické provádění dotazu

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] .

Poznámky

  1. Sémantický web Activity News  (anglicky)  (downlink) . — Zprávy ze sémantického webu. Získáno 10. června 2011. Archivováno z originálu 2. června 2012.
  2. W3C sémantické webové aktivity publikací  (anglicky)  (downlink) . W3C . — Seznam publikací W3C o projektu sémantického webu. Získáno 23. listopadu 2009. Archivováno z originálu 2. června 2012.
  3. Berners-Lee hledá Webův velký skok  (anglicky)  (odkaz není k dispozici) . — Rozhovor s Tim Berners-Lee. Získáno 10. června 2011. Archivováno z originálu 30. září 2007.
  4. Tim Berners-Lee. Propojená data. Problémy s designem.  (anglicky)  (nedostupný odkaz) . — Poznámky k publikování dat na sémantickém webu. Získáno 14. června 2011. Archivováno z originálu 2. června 2012.
  5. Struktura dotazu SPARQL  (anglicky)  (odkaz není k dispozici) . - Struktura dotazu SPARQL. Získáno 10. června 2011. Archivováno z originálu 11. února 2012.
  6. Tim Berners-Lee. Plán sémantického webu . - 1998. Archivováno 12. srpna 2011.
  7. Dotazovací jazyk SPARQL pro RDF  (  nepřístupný odkaz) . — Dotazovací jazyk SPARQL pro RDF. Získáno 28. června 2011. Archivováno z originálu 2. června 2012.
  8. SPARQL na příkladu  (anglicky)  (downlink) . SPARQL na příkladu. Získáno 28. června 2011. Archivováno z originálu 11. února 2012.
  9. SPARQL-endpoint (downlink) . Získáno 24. června 2011. Archivováno z originálu 7. července 2011. 
  10. Zpráva o  pokrytí implementace SPARQL  — Přehled úplnosti implementací SPARQL. Získáno 23. listopadu 2009. Archivováno z originálu 2. června 2012.
  11. ViziQuer  (anglicky)  (nepřístupný odkaz) . — Nástroj pro vyhledávání strukturovaných sémantických dat. Získáno 10. června 2011. Archivováno z originálu 2. června 2012.

Odkazy