4 TVEZEWXYHMN LSTVSKVEQY-JSVQEXMOENITSHTSVSZ ETVSNIOXIQEGSZE Q ^)ZVSTWO LSWSGM P LSJSHYEVS^TS XYLPEZ LSQ WXE4VEL] 4VELE)9-ZIWXYNIQIHSZE% FYHSYGSWXM Sémntický We SPAQL BI - TWA Peter Vojtáš
Od XML ke DF, od stromů ke grfům Od relčních dt ke XML, od XML k DF, od tulek ke stromům, od stromů ke grfům Od SQL k Xpth, od Xpth ke SPAQL, eprezentce vstupu dotzu výstupu Příkldy, motivce, potřey Tvry SPAQL dotzu Sémntický we - SPAQL 2
Příkldy relce, strom, grf A B Pseudo XML Dtse c záznm1 záznm2 záznm3.a.b.a.b.a.b c Sémntický we - SPAQL 3
Příkldy relce, strom, grf - dotzy A c B SELECT.A FOM WHEE.B= Dtse záznm1 záznm2 záznm3.a.b.a.b.a.b c Ideově //.A[siling::.B= ]??? Sémntický we - SPAQL 4
Příkldy relce-inární, grf - dotzy A B rdf:type rdfs:domin c rdfs:rnge SELECT.A FOM WHEE.B=?x c?x. Sémntický we - SPAQL 5
Příkldy relce(ojekt-triut / vzth) oid A B 1 c.a.b?x.b. S A B C d c S.A S.B S.C?x S.B?y.?x S.C c Sémntický we - SPAQL 6
SPAQL typy dotzů N weu hledáme zdroje, s jistými vlstnostmi le SELECT vrcí množinu proměnných vázných v dotzovcím vzoru (které se vyskytují v dtech) CONSTUCT vrcí DF grf tvořený ze sustitucí z proměnné ASK vrcí ooleovskou hodnotu, která indikuje zd dotzovcí vzor yl nlezen neo ne DESCIBE vrcí DF grf, který popisuje nlezené zdroje Sémntický we - SPAQL 7
Příkldy z W3C mteriálu SPAQL Query Lnguge for DF http://www.w3.org/t/rdf-sprql-query/ Dt # Defult grph @prefix dc: <http://purl.org/dc/elements/1.1/>. # Nmed grph: http://exmple.org/o @prefix fof: <http://xmlns.com/fof/0.1/>. _: fof:nme "Alice". _: fof:knows _:. _: fof:knows _:c. _: fof:nme "Bo". _:c fof:nme "Clre". _:c fof:nick "CT". Sémntický we - SPAQL 8
Příkldy z W3C mteriálu SPAQL Query Lnguge for DF http://www.w3.org/t/rdf-sprql-query/ Dt + dotz => odpověď?nmex?nmey?nicky Alice Bo Alice Clre CT _: fof:nme "Alice". _: fof:knows _:. _: fof:knows _:c. _: fof:nme "Bo". _:c fof:nme "Clre". _:c fof:nick "CT". PEFIX fof: <http://xmlns.com/fof/0.1/> SELECT?nmeX?nmeY?nickY WHEE {?x fof:knows?y ; fof:nme?nmex.?y fof:nme?nmey. OPTIONAL {?y fof:nick?nicky } } Sémntický we - SPAQL 9
Příkldy z W3C mteriálu SPAQL Query Lnguge for DF http://www.w3.org/t/rdf-sprql-query/ Dt + dotz => odpověď sprql xmlns="http://www.w3.org/2005/sprql-results#"> <hed> <vrile nme="nmex"/>?nmex?nmey?nicky <vrile nme="nmey"/> <vrile nme="nicky"/> </hed> Alice Bo To není NULL <results> <result> <inding nme="nmex"> <literl>alice</literl> </inding> Alice Clre CT <inding nme="nmey"> _: fof:nme "Alice". <literl>bo</literl> </inding> _: fof:knows _:. </result> _: fof:knows _:c. <result> <inding nme="nmex"> _: fof:nme "Bo". <literl>alice</literl> </inding> _:c fof:nme "Clre". <inding nme="nmey"> _:c fof:nick "CT". <literl>clre</literl> </inding> <inding nme="nicky"> <literl>ct</literl> </inding> </result> </results> /sprql> PEFIX fof:<http://xmlns.com/fof/0.1/> SELECT?nmeX?nmeY?nickY WHEE {?x fof:knows?y ; fof:nme?nmex.?y fof:nme?nmey. OPTIONAL {?y fof:nick?nicky } } Sémntický we - SPAQL 10
Příkldy z W3C mteriálu SPAQL Query Lnguge for DF http://www.w3.org/t/rdf-sprql-query/ Construct @prefix fof: <http://xmlns.com/fof/0.1/>. _: fof:givennme "Alice". _: fof:fmily_nme "Hcker". _: fof:firstnme "Bo". _: fof:surnme "Hcker". PEFIX fof: <http://xmlns.com/fof/0.1/> PEFIX vcrd: <http://www.w3.org/2001/vcrd-rdf/3.0#> CONSTUCT {?x vcrd:n _:v. _:v vcrd:givennme?gnme. _:v vcrd:fmilynme?fnme } WHEE { {?x fof:firstnme?gnme } UNION {?x fof:givennme?gnme}. {?x fof:surnme?fnme } UNION {?x fof:fmilynme?fnme }.} @prefix vcrd: <http://www.w3.org/2001/vcrd-rdf/3.0#>. _:v1 vcrd:n _:x. _:v2 vcrd:n _:z. _:x vcrd:givennme "Alice". _:z vcrd:givennme "Bo". _:x vcrd:fmilynme "Hcker". _:z vcrd:fmilynme "Hcker". Sémntický we - SPAQL 11
Příkldy z W3C mteriálu SPAQL Query Lnguge for DF http://www.w3.org/t/rdf-sprql-query/ Construct CONSTUCT {?s?p?o } WHEE { GAPH <http://exmple.org/grph> {?s?p?o }. } PEFIX dc: <http://purl.org/dc/elements/1.1/> PEFIX pp: <http://exmple.org/ns#> CONSTUCT {?s?p?o } WHEE { GAPH?g {?s?p?o }. {?g dc:pulisher <http://www.w3.org/> }. {?g dc:dte?dte }. FILTE ( pp:customdte(?dte) > "2005-02-28T00:00:00Z"^^xsd:dteTime ). } Sémntický we - SPAQL 12
Příkldy z W3C mteriálu SPAQL Query Lnguge for DF http://www.w3.org/t/rdf-sprql-query/ Ask @prefix fof: <http://xmlns.com/fof/0.1/>. _: fof:nme "Alice". _: fof:homepge <http://work.exmple.org/lice/>. _: fof:nme "Bo". _: fof:mox <milto:o@work.exmple>. yes PEFIX fof: <http://xmlns.com/fof/0.1/> ASK {?x fof:nme "Alice" } Sémntický we - SPAQL 13
Příkldy z W3C mteriálu SPAQL Query Lnguge for DF http://www.w3.org/t/rdf-sprql-query/ Descrie (informtive) Vrátí jeden DF grf, nemusíte znát strukturu dt, tvr rozhodne SPAQL query processor PEFIX ent: <http://org.exmple.com/employees#> DESCIBE?x WHEE {?x ent:employeeid "1234" } @prefix fof: <http://xmlns.com/fof/0.1/>. @prefix vcrd: <http://www.w3.org/2001/vcrd-rdf/3.0>. @prefix exorg: <http://org.exmple.com/employees#>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntx-ns#>. @prefix owl: <http://www.w3.org/2002/07/owl#> _: exorg:employeeid "1234" ; fof:mox_sh1sum "ABCD1234" ; vcrd:n vcrd:fmily "Smith" ; vcrd:given "John". fof:mox_sh1sum rdf:type owl:inversefunctionlproperty. Informce z ontologie Sémntický we - SPAQL 14
Poznámky {?s?p?o} je možné ptát se n vše {ivn?p pvel} {?x?p1?o.?s?p2?x } Teď nás tdy nezjímjí UI-II eprezentce vstupu dt (N3, Turtle, XML) - dotzu - (N3, Turtle, XML) XSLT+SPAQL - výstupu tulk, grf (množin grfů), XML Teorie množin versus logické progrmování Typovný versus netypovný jzyk Sémntický we - SPAQL 15
Poznámky převody,vizulizce Schem (A, B) S(A) Typovný Netypovný Teorie množin I() = {f 1, f 2, f 3 }, I(S) = {g} f 1 (A) = f 1 (B) = f 2 (A) = c f 2 (B) = f 3 (A) = f 3 (A) = g(a) = d I() = {<,>, <c, >, <,>} I(S) = {<d>} Logické progrmování {(A:, B:), (A:c, B:), (A:, B:), S(A:d)} {(,), (c,), (,), S(d)} A c B S A d Sémntický we - SPAQL 16
Příkldy relce, strom, grf - dotzy A c B SELECT.A FOM WHEE.B=?x. Dtse záznm1 záznm2 záznm3.a.b.a.b.a.b c Ideově //.A[siling ::.B= ] Sémntický we - SPAQL 17
Příkldy relce-inární, grf - dotzy A c B SELECT.A FOM WHEE.B= triples s p o rdfs:rnge A rdf:type rdfs:domin rdfs:rnge?x. Sémntický we - SPAQL 18
Příkldy do testu Jednoduché převody Dt Dotzů Odpovědí Ne vše jde utomticky, prolém s pořdím, opkováním, důležité je, y s hledisk lidského uživtele yly odpovědi správně Sémntický we - SPAQL 19