RDF a RQL Roman Krejk RDF a RQL

  • Slides: 27
Download presentation
RDF a RQL Roman Krejčík

RDF a RQL Roman Krejčík

RDF a RQL n RDF – Resource Description Framework – Jazyk pro ukládání informací

RDF a RQL n RDF – Resource Description Framework – Jazyk pro ukládání informací v XML – RDF Schema n RQL – RDF Query Language – Dotazování nad RDF dokumenty

RDF n XML dokument n Standardizován W 3 C n Formát pro strojové čtení

RDF n XML dokument n Standardizován W 3 C n Formát pro strojové čtení n Ukládání webových zdrojů n URI pro identifikaci zdrojů

Základní pojmy n Zdroj – Identifikován URI – Může mít přiřazené vlastnosti n Vlastnost

Základní pojmy n Zdroj – Identifikován URI – Může mít přiřazené vlastnosti n 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 n XML dokument n Kořenový element <RDF> n Každý zdroj popsán tagem

Syntaxe RDF n XML dokument n Kořenový element <RDF> n Každý zdroj popsán tagem <Description> n Namespace pro RDF značky http: //www. w 3. org/1999/02/22 -rdf-syntax-ns# n Popis zdroje - vlastní namespace a struktura

Příklad RDF <? xml version="1. 0"? > <rdf: RDF xmlns: rdf="http: //www. w 3.

Příklad RDF <? xml version="1. 0"? > <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns: cd="http: //www. recshop. fake/cd"> <rdf: Description rdf: about="http: //www. recshop. fake/cd/Empire Burlesque"> <cd: artist>Bob Dylan</cd: artist> <cd: country>USA</cd: country> <cd: company>Columbia</cd: company> <cd: price>10. 90</cd: price> <cd: year>1985</cd: year> </rdf: Description> </rdf: RDF>

Odkazy na zdroje n Vlastnosti se mohou odkazovat na zdroje <rdf: Description rdf: about="http:

Odkazy na zdroje n Vlastnosti se mohou odkazovat na zdroje <rdf: Description rdf: about="http: //www. recshop. fake/cd/Empire Burlesque" <cd: artist rdf: resource="http: //www. recshop. fake/artists/dylan"/> <cd: country>USA</cd: country> <cd: company>Columbia</cd: company> <cd: price>10. 90</cd: price> <cd: year>1985</cd: year> </rdf: Description>

Kontejnerové elementy n Vlastnosti mohou být složitější struktury n Reprezentace více prvků n Množina

Kontejnerové elementy n Vlastnosti mohou být složitější struktury n Reprezentace více prvků n Množina – element Bag n Sekvence – element Seq n Alternativy – element Alt n Jednotlivé položky <rdf: li>…</rdf: li>

Kontejnerové elementy n Bag – neuspořádaná množina n Seq – prvky jsou indexované <cd:

Kontejnerové elementy n Bag – neuspořádaná množina n Seq – prvky jsou indexované <cd: artist> <rdf: Bag> <rdf: li>John</rdf: li> <rdf: li>Paul</rdf: li> <rdf: li>Ringo</rdf: li> </rdf: Bag> </cd: artist>

RDF Schema (RDFS) n Rozšíření RDF n Třídy pro jednotlivé zdroje n Zavedení dědičnosti

RDF Schema (RDFS) n Rozšíření RDF n Třídy pro jednotlivé zdroje n Zavedení dědičnosti tříd n Pouze framework, nedefinuje žádné třídy, jen způsob jejich vytváření

RDFS n Třída nedefinuje objekt. Instancí třídý je pouze bezstavový zdroj reprezentovaný URI n

RDFS n Třída nedefinuje objekt. Instancí třídý je pouze bezstavový zdroj reprezentovaný URI n Jeden zdroj může být instancí libovolných tříd n Vlastnosti mohou být v rámci dědičnost specializovány

Syntaxe RDFS n Součástí RDF dokumentu n Namespace http: //www. w 3. org/2000/01/rdf-schema# n

Syntaxe RDFS n Součástí RDF dokumentu n Namespace http: //www. w 3. org/2000/01/rdf-schema# n Definice třídy <rdfs: Class rdf: ID=“…”> n Dědičnost <rdfs: sub. Class. Of rdf: resource=“…”>

Příklad RDFS – třídy <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns:

Příklad RDFS – třídy <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdf-syntax-ns#" xmlns: rdfs="http: //www. w 3. org/2000/01/rdf-schema#" > <rdfs: Class rdf: ID="Artist" /> <rdfs: Class rdf: ID="Painter"> <rdfs: sub. Class. Of rdf: resource="#Artist"/> </rdfs: Class> </rdf: RDF>

Popis RDF vlastností n Omezení vlastnosti na třídu – Doména vlastnosti – Značka <rdfs:

Popis RDF vlastností n Omezení vlastnosti na třídu – Doména vlastnosti – Značka <rdfs: domain rdf: resource=“…” /> n Omezení hodnoty vlastnosti – Rozsah vlastnosti – Značka <rdfs: range rdf: resource=“…” /> n Specializace vlastnosti – Značka <rdfs: sub. Property. Of rdf: resource=“…”/>

Příklad RDFS - vlastnosti <rdfs: Property rdf: ID="creates"> <rdfs: domain rdf: resource="#Artist" /> <rdfs:

Příklad RDFS - vlastnosti <rdfs: Property rdf: ID="creates"> <rdfs: domain rdf: resource="#Artist" /> <rdfs: range rdf: resource="#Artifact" /> </rdfs: Property> <rdfs: Property rdf: ID="paints"> <rdfs: domain rdf: resource="#Painter" /> <rdfs: range rdf: resource="#Painting" /> <rdfs: sub. Property. Of rdf: resource="creates" /> </rdfs: Property> <rdfs: Property rdf: ID="name"> <rdfs: domain rdf: resource="#Artist" /> <rdfs: range rdf: resource="http: //www. w 3. org/rdf-datatypes. xsd#String" /> </rdfs: Property>

RQL n RDF Query Language n Dotazování se nad RDFdokumentem n Kombinované dotazy na

RQL n RDF Query Language n Dotazování se nad RDFdokumentem n Kombinované dotazy na schéma a data n Není standardem

Jednoduché dotazy na schéma Class – pro všechny třídy Property – pro všechny vlastnosti

Jednoduché dotazy na schéma Class – pro všechny třídy Property – pro všechny vlastnosti sub. Class. Of(Artist) – získání všech podtříd dané třídy sub. Class. Of^(Artist) – pouze přímí potomci

Jednoduché dotazy na data Artist – všechny instance dané třídy včetně potomků ^Artist –

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 n Standardní operátory nad množinami intersect, in, count n Relační operátory pro třídy

Operátory n Standardní operátory nad množinami intersect, in, count n Relační operátory pro třídy a vlastnosti – Porovnání v rámci dědičnosti – Artist > Painter true – creates < paints false n Běžné relační operátory pro prim. typy

select. . from. . where n Výběr dat podle podmínky n Syntaxe select proměnné

select. . from. . where n Výběr dat podle podmínky n Syntaxe select proměnné from třídy nebo vlastnost where podmínka n Proměnné mohou reprezentovat zdroje, vlastnosti, jejich hodnoty i třídy

Operátor {} n Proměnné uzavřené v { } n Syntaxe pro třídu Artist{X} n

Operátor {} n Proměnné uzavřené v { } n Syntaxe pro třídu Artist{X} n Syntaxe pro vlastnost {X}creates{Y} Př: select X, Y from {X}creates{Y}

Operátor. n Řetězení vlastností a tříd pomocí. select X, Y from Artist{X}. creates{Y} n

Operátor. n Řetězení vlastností a tříd pomocí. select X, Y from Artist{X}. creates{Y} n Join pomocí where podmínky select X, Y, R from {X}creates{Y}, {R}name{S} where X = R

Omezení třídy proměnné n Konstrukce {X: třída} select X from {X: Painter}creates{Y} n Omezení

Omezení třídy proměnné n Konstrukce {X: třída} select X from {X: Painter}creates{Y} n Omezení proměnné na třídu – prefix $ select X, Y from {X: $Z}creates{Y} where $Z <= Painter

Další omezení proměnné n Omezení proměnné na vlastnost – operátor @ select X, Y

Další omezení proměnné n Omezení proměnné na vlastnost – operátor @ select X, Y from {X: Artist}@P{Y} n Omezení proměnné na třídu nebo typ – operátor $$ – Kromě třídy zdroje může být např. String

Další možnosti n Vnořené selecty n Operátory pro vlastnosti – range(@P) – domain(@P) n

Další možnosti n Vnořené selecty n Operátory pro vlastnosti – range(@P) – domain(@P) n Operátor like –* zastupuje libovolné znaky

Využití RDF n Webové portály a vyhledávače n Elektronické knihovny n E-obchody

Využití RDF n Webové portály a vyhledávače n Elektronické knihovny n E-obchody