Movatterモバイル変換


[0]ホーム

URL:


Přeskočit na obsah
WikipedieWikipedie: Otevřená encyklopedie
Hledání

SPARQL

Z Wikipedie, otevřené encyklopedie

SPARQL (vysloveno „sparkl“, rekurzivní zkratka proSPARQLProtocolandRDFQueryLanguage, někdy též vykládáno jakoSimpleProtocolandRDFQueryLanguage) je sémantický dotazovací jazyk pro data uchovaná ve formátuRDF. Byl standardizován pracovní skupinou DAWG (RDF Data Access Working Group), která je součástíkonsorcia W3C, a je uznáván jako klíčová technologiesémantického webu. SPARQL 1.0 se stal konečným doporučením konsorcia (W3C Recommendation) 15. ledna 2008 a SPARQL 1.1 v březnu 2013.

Dotazování ve SPARQL

[editovat |editovat zdroj]

Obecná struktura

[editovat |editovat zdroj]

Ve srovnání s dotazovacími jazyky pro relační databáze, jako je například jazykSQL, existuje podobnost například u klíčových slov (SELECT, WHERE, FROM). Trojice, základní informační prvek v RDF, se vždy skládá z podmětu, vlastnosti a předmětu (též subjekt – predikát – objekt). Proto se také ve SPARQL skládá dotaz z množiny trojic, kde každý prvek trojice může být proměnná. Skrývá se za tím myšlenka najít shodné trojice z databáze a výsledky k proměnným. Dotaz se provádí nad datovou kolekcí RDF (angl.RDF dataset), což je množina dokumentů RDF patřící pod určitý koncový bod (angl. endpoint). Takovým koncovým bodem je adresa URI, kam mohou být odeslány dotazy a přijímány výsledky přes protokol HTTP [Sequeda, 2011].

Druhy dotazů

[editovat |editovat zdroj]

Pro čtení dat z databáze jazyk SPARQL definuje čtyři různé druhy dotazování pro různé účely.

Dotaz SELECT

[editovat |editovat zdroj]

Vrací výsledek z koncového bodu SPARQL ve tvaru tabulky obsahující pouze výsledná data vyhovující dotazu.

Dotaz CONSTRUCT

[editovat |editovat zdroj]

Vrací výsledek z koncového bodu SPARQL obsahující výsledná data vyhovující dotazu, transformovaná do formátu RDF.

Dotaz ASK

[editovat |editovat zdroj]

Vrací výsledek ve tvarutrue/false (pravda / nepravda), odpovídající volanému dotazu.

Dotaz DESCRIBE

[editovat |editovat zdroj]

Vrací výsledek ve formátu RDF, který popisuje výsledná data vyhovující dotazu. Záleží na konkrétní službě koncového bodu SPARQL, které trojice jsou obsažené ve výsledku. Znamená to tedy, že nevrací data, ale jejich popis.

Příklad používání dotazu SELECT

[editovat |editovat zdroj]

Znázornění jednoduchého dotazu lze provést nad následujícími RDF trojicemi, popisujícími jména a umístění dvou osob. Ukázkovým jmenným prostorem je zde „example“.

subjectpredicateobject
id1example:name"Sven Svensson"
id1example:city"Stockholm"
id2example:name"Petr Petrovič"
id2example:city"Zagreb"

Dotaz ke zjištění jmen všech osob v databázi má následující formát:

SELECT ?name FROM <example> WHERE { ?x example:name ?name }

Vysvětlení dotazu

[editovat |editovat zdroj]

Dotaz začíná klíčovým slovemSELECT a pokračuje vyjmenováním proměnných, které chce uživatel zobrazit. V tomto případě se jedná o proměnnou?name. Všechny proměnné začínají otazníkem. Následuje slovoFROM určujícíURI koncového bodu. Údaje poWHERE, uzavřené v závorkách, představuji vymezení výsledku. V tomto případě je udávána pouze jedna trojice, ve které je podmět a předmět proměnná, přičemž vlastnost je konstantní hodnotaname. Při dotazu se tedy porovnávají konstanty v dotazu s hodnotami v databázi. Z výše uvedených trojic, mají dvěexample:name jako hodnotu vlastnosti. Z toho vyplývá, že tyto dvě trojice jsou výsledkem dotazu, neboť se shoduji s vymezující podmínkou. Zjednodušený výstup dotazu je následující:

1. ?name = "Sven Svensson"

2. ?name = "Petr Petrovič"

Dotaz může být rozšířen o další trojici v omezujících podmínkách, a to následně:

SELECT ?name FROM <example> WHERE { ?x example:name ?name . ?x example:city "Stockholm" } nebo zkráceně
SELECT ?name FROM <example> WHERE { ?x example:name ?name ; example:city "Stockholm" }

V další trojici jsou obsaženy další dvě konstanty, vlastnostcity a podmět"Stockholm". Výsledkem tedy bude:

1. ?name = "Sven Svensson"

V tomto případě je výsledkem pouze jménoSven Svensson, neboť se shoduje s výše uvedenými podmínkami – je obsažena vlastnostname a město se nazývá"Stockholm".

Veřejné koncové body – SPARQL endpoints

[editovat |editovat zdroj]
ikona
Tato část článku potřebuje aktualizaci, neboť obsahuje zastaralé informace.
Můžete Wikipedii pomoci tím, že jivylepšíte, aby odrážela aktuální stav a nedávné události. Podívejte se též nadiskusní stránku, zda tam nejsou náměty k doplnění. Historické informace nemažte, raději je převeďte do minulého času a případně přesuňte do části článku věnované dějinám.

Vyhledáním na portálech, jako například datahub.io, lze specifikovat datový zdroj. Zde je také uveden odkaz na koncový bod a domovskou stránku, která je nezbytnou součástí práce se strukturovanými daty. Důvodem je, že se uživatel musí seznámit s datovou strukturou systému stejně jako u relačních databází, kde uživatel musí předem alespoň vědět jaké jsou obsažené tabulky a případně jaké jsou cizí klíče, které propojují dvě či více tabulek.

DBPedia

[editovat |editovat zdroj]
Podrobnější informace naleznete v článku DBpedia.

Jedná se v současné době o největší datovou kolekci strukturovaných dat v RDF. Snahou komunity DBpedia je extrakce strukturovaných informací z Wikipedie a jejich zpřístupnění na webu. Umožňuje sofistikované dotazování na Wikipedii a spojování různých datových kolekcí na webu s informacemi na Wikipedii. Dále komunita usiluje o inspiraci nových mechanismů pro navigování, spojování a zlepšování encyklopedií.

Odkazy

[editovat |editovat zdroj]

Související články

[editovat |editovat zdroj]

Externí odkazy

[editovat |editovat zdroj]
Programovací jazyky
abecední seznam programovacích jazyků
multiparadigmatické

AdaC++Common LispDF#GoOberonPerlPHPPythonRakuRubyRustScalaSwiftTcl (Tk) •Vala

strukturované (procedurální)

AWKCCOBOLDCLForthFortranLuaModula-2 /Modula-3PascalPawnPL/SQL

objektové
funkcionální
dotazovací

LINQSPARQLSQLXQueryXSL (XSLTXSL-FOXPath)

logické
výukové
ezoterické
historické

ALGOLAPLBBASICCPL (BCPL) •JMUMPSPL/ISimula 67SNOBOL

další
skriptovací/strojový kódkompilované/interpretovanéinteraktivní/dávkovéWYSIWYG
Autoritní dataEditovat na Wikidatech
Portály:Internet
Citováno z „https://cs.wikipedia.org/w/index.php?title=SPARQL&oldid=23852159
Kategorie:
Skryté kategorie:

[8]ページ先頭

©2009-2026 Movatter.jp