Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

SPARQL – motivace, syntax. Sémantizace webuSPARQL – motivace, syntax2 NSWI108 – Sémantizace Webu Peter Vojtáš 12. SPARQL – motivace, syntax.

Podobné prezentace


Prezentace na téma: "SPARQL – motivace, syntax. Sémantizace webuSPARQL – motivace, syntax2 NSWI108 – Sémantizace Webu Peter Vojtáš 12. SPARQL – motivace, syntax."— Transkript prezentace:

1 SPARQL – motivace, syntax

2 Sémantizace webuSPARQL – motivace, syntax2 NSWI108 – Sémantizace Webu Peter Vojtáš 12. SPARQL – motivace, syntax

3 Sémantizace webuSPARQL – motivace, syntax3 09-SPARQL-Einfuehrung-Intuition-2009.pdf Nekomerční rozmnožování (kopírování, reprodukce, reprodukování, rozmnožení, rozšíření) A zpracování těchto folií je povoleno …

4 Sémantizace webuSPARQL – motivace, syntax4 Obsah Sledujeme německou knížkuknížku P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure Semantic Web Grundlagen Springer 2008, ISBN:

5 Sémantizace webuSPARQL – motivace, syntax5 Obsah 1.Úvod a motivace 2.Jednoduché SPARQL-dotazy 3.Složitější grafové vzory ve SPARQL 4.Filter ve SPARQL 5.Výstupní formáty ve SPARQL 6.Modifikátory ve SPARQL 7.Shrnutí a výhled

6 Sémantizace webuSPARQL – motivace, syntax6 Dotazovací jazyky pro Sémantický web Jak se dostanu k informacím specifikovaným v RDF nebo OWL? Dotazování na informace v RDF(S) - jednoduché splňování - RDF-splňování - RDFS-splňování „Vyplývá nějaký RDF-Graph z daného grafu?“ Dotazování na informace v OWL, logické odvození, „Vyplývá Subclass-vztah z dané OWL-Ontologie?“ „Které instance dané třídy plynou z OWL-Ontologie?“

7 Sémantizace webuSPARQL – motivace, syntax7 Stačí RDF nebo OWL dotazování, nebo ne? Samotné OWL je jako dotazovací jazyk často slabé „Které řetězce v českém jazyce obsahuje ontologie?“ „Které vlastnosti spojují dvě dané individua?“ „Které dvojice osob mají společného rodiče?“ se nedá vyjádřit ani v RDF ani v OWL. Požadavek: Veliká vyjadřovací síla na popis hledaných informací Formátování, ohraničení a manipulace s výsledky Pozn. opouštíme DL bez proměnných

8 Sémantizace webuSPARQL – motivace, syntax8 SPARQL SPARQL (vyslov angl. sparkle) je zkratka za SPARQL Protocol And RDF Query Language W3C-Specifikace (od 15. ledna 2008) Dotazovací jazyk pro nalezení instancí v RDF-datech Veliký praktický význam Části SPARQL-Specifikace: Dotazovací jazyk Formát výsledků: prezentace výsledků v XML Dotazovací protokol: přeposílání dotazů a výsledků

9 Sémantizace webuSPARQL – motivace, syntax9 Jednoduché SPARQL dotazy Příklad jednoduchého dotazu: PREFIX ex: SELECT ?název ?autor WHERE { ?kniha ex:VydanáU. ?kniha ex:název ?název. ?kniha ex:Autor ?autor. }

10 Sémantizace webuSPARQL – motivace, syntax10 Jednoduché SPARQL dotazy - příklad PREFIX ex: SELECT ?název ?autor WHERE { ?kniha ex:VydanáU. ?kniha ex:název ?název. ?kniha ex:Autor ?autor. } WHERE - dotazovací vzorek v Turtle-rdf-Syntaxi Vzorek může obsahovat proměnné (?variable) Zkratky pro URI jsou možné (PREFIX) Výsledek určíme výběrem proměnných v (SELECT)

11 Sémantizace webuSPARQL – motivace, syntax11 Výsledek příkladu Příklad RDF Dokumentu ex:. ex:SemanticWeb ex:vydanáU ; ex:název "Semantic Web - Grundlagen" ; ex:Autor ex:Hitzler, ex:Krötzsch, ex:Rudolph, ex:Sure. Výsledek dotazu: Tabulka kde každý řádek je jeden výsledek názevAutor "Semantic Web - Grundlagen"http://example.org/Hitzler "Semantic Web - Grundlagen"http://example.org/Krötzsch "Semantic Web - Grundlagen"http://example.org/Rudolph "Semantic Web - Grundlagen"http://example.org/Sure

12 Sémantizace webuSPARQL – motivace, syntax12 Jednoduché grafové vzory Základní dotazovací vzory jsou jednoduché grafové vzory = množiny RDF-Trojic v Turtle-Syntaxi Turtle-zkratky (s použitím, a ;) jsou přípustné Proměnné budou označené ? nebo $ (?variable má rovnaký význam jako $variable) Proměnné jsou přípustné jako Subjekt, Predicate nebo Objekt Přípustné nemusí znamenat čitelné PREFIX ex: SELECT $rf456df ?_AIFB WHERE { ?ef3a_3 ex:vydanáU. ?ef3a_3 ex:název ?rf456df. $ef3a_3 ex:Autor ?_AIFB. } (je sémanticky ekvivalentní předešlému dotazu)

13 Sémantizace webuSPARQL – motivace, syntax13 Prázdné uzly Co znamenají prázdné uzly v SPARQL? Prázdné uzly v dotazovacích vzorech: Jsou přípustné jako Subject nebo Object ID libovolné, ale nikdy stejné ID vícekrát v dotazu Chovají se jako proměnné, které není možné vybrat do SELECT

14 Sémantizace webuSPARQL – motivace, syntax14 Prázdné uzly Co znamenají prázdné uzly v SPARQL? Prázdné uzly v dotazovacích vzorech: Jsou přípustné jako Subject nebo Object ID libovolné, ale nikdy stejné ID vícekrát v dotazu Chovají se jako proměnné, které není možné vybrat do SELECT Prázdné uzly ve výsledcích: zkratka pro neznámý prvek ID libovolné, může tvořit vazbu na jiné části dotazu subj hodnota _:a„na" _:b„příklad" subj hodnota _:y„na" _:g„příklad" subj hodnota _:z„na" _:z„příklad"

15 Sémantizace webuSPARQL – motivace, syntax15 Datové ex:. ex:bsp1 ex:p "test". ex:bsp2 ex:p "test"^^xsd:string. ex:bsp3 ex:p ex:bsp4 ex:p "42"^^xsd:integer. Co dává dotaz s následujícím vzorem? { ?subject "test". } ex:bsp1 jako jediný výsledek Přesná shoda nad datovými typy je požadovaná, ale zkratky číselných hodnot jsou možné { ?subject 42. } Datový typ se určí ze syntaktického tvaru buď xsd:integer, xsd:decimal, nebo xsd:double

16 Sémantizace webuSPARQL – motivace, syntax16 Seskupování grafových vzorů Jednoduché grafové vzory můžou být seskupovány použitím {... }. například: PREFIX ex: SELECT ?název ?autor WHERE { { ?kniha ex:vydanáU ?kniha ex:název ?název. } { } ?kniha ex:Autor ?autor. } Má smysl až při použití složitějších konstrukcí, zde jen vizuálně odděluje. Tento dotaz je ekvivalentní předešlému dotazu z příkladu

17 Sémantizace webuSPARQL – motivace, syntax17 Volitelné (nepovinné) vzory Klíčové slovo OPTIONAL dovoluje zadávat nepovinné části vzoru Příklad : { ?buch ex:VerlegtBei. OPTIONAL { ?buch ex:Titel ?titel. } OPTIONAL { ?buch ex:Autor ?autor. } } Část výsledku nemusí být vázana Knihanázevautor

18 Sémantizace webuSPARQL – motivace, syntax18 Vzory s alternativou Klíčové slovo UNION dovoluje zadat alternativní části vzoru Příklad: { ?kniha ex:vydanáU. { ?kniha ex:Autor ?autor. } UNION { ?kniha ex:editor ?autor. } UNION { ?kniha ex:sestavovatel ?autor. } … } Výsledek odpovídá sjednocení výsledků splňujících jednu z možností Pozn.: stejné proměnné v částech union se neovlyvňují

19 Sémantizace webuSPARQL – motivace, syntax19 Kombinace volitelnosti s alternativou Jak rozumět kombinaci OPTIONAL a UNION? { ?kniha ex:vydanáU. { ? kniha ex:Autor ?autor. } UNION { ? kniha ex:editor ?autor. } OPTIONAL { ?autor ex:příjmení ?name. } } Sjednocení dvou vzorů s přidaným nepovinným vzorem nebo Sjednocení dvou vzorů, kde ten druhý má nepovinnou část Ptá se na distribuci UNION a OPTIONAL

20 Sémantizace webuSPARQL – motivace, syntax20 Kombinace volitelnosti s alternativou Jak rozumět kombinaci OPTIONAL a UNION? { ?buch ex:VerlegtBei. { ?buch ex:Autor ?autor. } UNION { ?buch ex:Verfasser ?autor. } OPTIONAL { ?autor ex:Nachname ?name. } } Sjednocení dvou vzorů s přidaným nepovinným vzorem nebo Sjednocení dvou vzorů, kde ten druhý má nepovinnou část První interpretace je správná { ?buch ex:VerlegtBei. { { ?buch ex:Autor ?autor. } UNION { ?buch ex:Verfasser ?autor. } } OPTIONAL { ?autor ex:Nachname ?name. } } Teda defaultní závorkování zleva, nebo UNION má přednost ?

21 Sémantizace webuSPARQL – motivace, syntax21 Kombinace volitelnosti s alternativou Obecné pravidlo OPTIONAL se vztahuje vždy na právě jeden (seskupený) vzor vpravo o něj OPTIONAL a UNION mají stejnou prioritu a vztahují se na všechny nalevo stojící výrazy (jsou zleva asociativní) příklad: { {s1 p1 o1} OPTIONAL {s2 p2 o2} UNION {s3 p3 o3} OPTIONAL {s4 p4 o4} OPTIONAL {s5 p5 o5} }

22 Sémantizace webuSPARQL – motivace, syntax22 Kombinace volitelnosti s alternativou Obecné pravidlo: OPTIONAL se vztahuje vždy na právě jeden (seskupený) vzor vpravo o něj OPTIONAL a UNION mají stejnou prioritu a vztahují se na všechny nalevo stojící výrazy (jsou zleva asociativní) Příklad: { {s1 p1 o1} OPTIONAL {s2 p2 o2} UNION {s3 p3 o3} OPTIONAL {s4 p4 o4} OPTIONAL {s5 p5 o5} } Znamená { { { { {s1 p1 o1} OPTIONAL {s2 p2 o2} } UNION {s3 p3 o3} } OPTIONAL {s4 p4 o4} } OPTIONAL {s5 p5 o5} }

23 Sémantizace webuSPARQL – motivace, syntax23 Filtrování výsledků Viz německé slidy, více méně se to shoduje s minulou přednáškou

24 Sémantizace webuSPARQL – motivace, syntax24 Formatování výsledků - SELECT prozatím byly všechny výsledky tabulky se sloupci jako Proměnné v SELECT Syntax: SELECT nebo SELECT * Výhoda Jednoduché sekvenčbí zpracování výsledků Nevýhoda Struktura/vztahy mezi Objekty není ve výsledku zřejmá

25 Sémantizace webuSPARQL – motivace, syntax25 Formatování výsledků - CONSTRUCT Kódování výsledků ve tvaru RDF-Grafů: výstupní formát CONSTRUCT Syntax: CONSTRUCT PREFIX ex: CONSTRUCT { ?person ex:mailbox ? . ?person ex:telefon ?telefon. } WHERE { ?person ex: ? . ?person ex:tel ?telefon. } Výhoda Strukturovaný výsledek se vztahy mezi prvky nevýhoda Sekvenční zpracování je ztíženo Schází podpora pro volné proměnné

26 Sémantizace webuSPARQL – motivace, syntax26 Formatování výsledků - CONSTRUCT PREFIX ex: CONSTRUCT {_id1 ex: ? . _id1 ex:telefon ?telefon _idl ex:person ?person.} WHERE {?person ex: ? . ?person ex:tel ex: ex:Gabi ex: ex:Gabi ex: ex: Gabi ex:tel " “. ex: Gabi ex:tel " ". _e ex: ex:telefon " " ; ex:person ex:Gabi. _g ex: ex:telefon " " ; ex:person ex:Gabi. _a ex: ex:telefon " " ; ex:person ex:Gabi. _l ex:emai1 ex:telefon " " ; ex:person ex:Gabi.

27 Sémantizace webuSPARQL – motivace, syntax27 Další výstupní formáty SPARQL SPARQL podpořuje další dva výstupní formáty ASK jenom testuje, zda nějaké výsledky existují, žádné parametry DESCRIBE (informativní) ke každému nalezenému URI dává na výstupu RDF-popis (závislé na aplikaci)

28 Sémantizace webuSPARQL – motivace, syntax28 Modifikátory – uspořádání výsledků SELECT ?kniha, ?cena WHERE { ?kniha ?cena. } ORDER BY ?cena Uspořádání jako při srovnávacích operátorech FILTER, Uspořádání URI abecedně jako řetězce znaků Pořadí mezi různými druhy prvků: Nevázané proměnné < prázdné uzly < URI < RDF-Literály Ne každá možnost je v specifikaci definovaná Další možné upřesnění: ORDER BY DESC(?cena) ORDER BY ASC(?cena) default ORDER BY DESC(?cena), ?název: hierarchické kriteria uspořádání

29 Sémantizace webuSPARQL – motivace, syntax29 LIMIT, OFFSET und DISTINCT Omezení velikosti výstupu: LIMIT: maximální počet výsledků (řádků tabulky) OFFSET: poloha/pozice prvního výsledku SELECT DISTINCT: SELECT DISTINCT ?kniha, ?cena WHERE { ?kniha ?cena. } ORDER BY ?cena LIMIT 5 OFFSET 25 LIMIT a OFFSET mají smysl jen s ORDER BY

30 Sémantizace webuSPARQL – motivace, syntax30 Kombinace modifikátorů Pořadí zpracování vícero modifikátorů: 1 nejdřív uspořádání podle ORDER BY 2 Odstranění nevybraných proměnných 3 Odstranění vícenásobných výsledků (DISTINCT) 4 Odstranění prvního OFFSET výsledku 5 Odstranění všech výsledků nad LIMIT Uspořádat se dá i podle nevybraných proměnných ORDER BY není relevantní jen pro SELECT

31 Sémantizace webuSPARQL – motivace, syntax31 přehled

32 Sémantizace webuSPARQL – motivace, syntax32 Otevřené Otevřené otázky Jak je přesně definovaná sémantika SPARQL ? Jak těžká je úplná implementace SPARQL? Jak se můžeme dotazovat nad RDF Schema nebo OWL? Jak jinak to vše navrhnout?

33 Sémantizace webuSPARQL – motivace, syntax33 Závěr aaa


Stáhnout ppt "SPARQL – motivace, syntax. Sémantizace webuSPARQL – motivace, syntax2 NSWI108 – Sémantizace Webu Peter Vojtáš 12. SPARQL – motivace, syntax."

Podobné prezentace


Reklamy Google