RDF a RQL Roman Krejčík
RDF a RQL RDF – Resource Description Framework –Jazyk pro ukládání informací v XML –RDF Schema RQL – RDF Query Language –Dotazování nad RDF dokumenty
RDF XML dokument Standardizován W3C Formát pro strojové čtení Ukládání webových zdrojů URI pro identifikaci zdrojů
Základní pojmy Zdroj –Identifikován URI –Může mít přiřazené vlastnosti Vlastnost –Má hodnotu nějakého typu –Můze být odkazem na zdroj nebo prim. typ –RDF definuje základní primitivní typy
Syntaxe RDF XML dokument Kořenový element Každý zdroj popsán tagem Namespace pro RDF značky Popis zdroje - vlastní namespace a struktura
Příklad RDF <rdf:RDF xmlns:rdf=" xmlns:cd=" <rdf:Description rdf:about=" Burlesque"> Bob Dylan USA Columbia
Odkazy na zdroje Vlastnosti se mohou odkazovat na zdroje <rdf:Description rdf:about=" Burlesque" USA Columbia
Kontejnerové elementy Vlastnosti mohou být složitější struktury Reprezentace více prvků Množina – element Bag Sekvence – element Seq Alternativy – element Alt Jednotlivé položky …
Kontejnerové elementy Bag – neuspořádaná množina Seq – prvky jsou indexované John Paul Ringo
RDF Schema (RDFS) Rozšíření RDF Třídy pro jednotlivé zdroje Zavedení dědičnosti tříd Pouze framework, nedefinuje žádné třídy, jen způsob jejich vytváření
RDFS Třída nedefinuje objekt. Instancí třídý je pouze bezstavový zdroj reprezentovaný URI Jeden zdroj může být instancí libovolných tříd Vlastnosti mohou být v rámci dědičnost specializovány
Syntaxe RDFS Součástí RDF dokumentu Namespace Definice třídy Dědičnost
Příklad RDFS – třídy <rdf:RDF xmlns:rdf=" xmlns:rdfs=" >
Popis RDF vlastností Omezení vlastnosti na třídu –Doména vlastnosti –Značka Omezení hodnoty vlastnosti –Rozsah vlastnosti –Značka Specializace vlastnosti –Značka
Příklad RDFS - vlastnosti <rdfs:range rdf:resource=" />
RQL RDF Query Language Dotazování se nad RDFdokumentem Kombinované dotazy na schéma a data Není standardem
Jednoduché dotazy na schéma Class – pro všechny třídy Property – pro všechny vlastnosti subClassOf(Artist) – získání všech podtříd dané třídy subClassOf^(Artist) – pouze přímí potomci
Jednoduché dotazy na data Artist – všechny instance dané třídy včetně potomků ^Artist – pouze přímé instance dané třídy creates – všechny vlastností daného typu, vrací dva sloupce (zdroj a hodnotu vlastnosti)
Operátory Standardní operátory nad množinami intersect, in, count Relační operátory pro třídy a vlastnosti –Porovnání v rámci dědičnosti –Artist > Painter true –creates < paints false Běžné relační operátory pro prim. typy
select.. from.. where Výběr dat podle podmínky Syntaxe select proměnné from třídy nebo vlastnost where podmínka Proměnné mohou reprezentovat zdroje, vlastnosti, jejich hodnoty i třídy
Operátor {} Proměnné uzavřené v { } Syntaxe pro třídu Artist{X} Syntaxe pro vlastnost {X}creates{Y} Př: select X, Y from {X}creates{Y}
Operátor. Řetězení vlastností a tříd pomocí. select X,Y from Artist{X}.creates{Y} Join pomocí where podmínky select X,Y, R from {X}creates{Y}, {R}name{S} where X = R
Omezení třídy proměnné Konstrukce {X:třída} select X from {X:Painter}creates{Y} Omezení proměnné na třídu – prefix $ select X,Y from {X:$Z}creates{Y} where $Z <= Painter
Další omezení proměnné Omezení proměnné na vlastnost select X,Y from Omezení proměnné na třídu nebo typ –operátor $$ –Kromě třídy zdroje může být např. String
Další možnosti Vnořené selecty Operátory pro vlastnosti Operátor like –* zastupuje libovolné znaky
Využití RDF Webové portály a vyhledávače Elektronické knihovny E-obchody