Upload
viola
View
24
Download
0
Embed Size (px)
DESCRIPTION
RDF a RQL. Roman Krejčík. RDF a RQL. RDF – Resource Description Framework Ja z y k 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ů - PowerPoint PPT Presentation
Citation preview
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 <RDF> Každý zdroj popsán tagem <Description> Namespace pro RDF značkyhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
Popis zdroje - vlastní namespace a struktura
Příklad RDF
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.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
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
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 <rdf:li>…</rdf:li>
Kontejnerové elementy
Bag – neuspořádaná množina 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)
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 http://www.w3.org/2000/01/rdf-
schema#
Definice třídy <rdfs:Class rdf:ID=“…”> Dědičnost
<rdfs:subClassOf rdf:resource=“…”>
Příklad RDFS – třídy
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >
<rdfs:Class rdf:ID="Artist" />
<rdfs:Class rdf:ID="Painter">
<rdfs:subClassOf rdf:resource="#Artist"/>
</rdfs:Class>
</rdf:RDF>
Popis RDF vlastností
Omezení vlastnosti na třídu– Doména vlastnosti– Značka <rdfs:domain rdf:resource=“…” />
Omezení hodnoty vlastnosti– Rozsah vlastnosti– Značka <rdfs:range rdf:resource=“…” />
Specializace vlastnosti– Značka <rdfs:subPropertyOf rdf:resource=“…”/>
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:subPropertyOf rdf:resource="creates" />
</rdfs:Property><rdfs:Property rdf:ID="name">
<rdfs:domain rdf:resource="#Artist" /><rdfs:range
rdf:resource="http://www.w3.org/rdf-datatypes.xsd#String" /></rdfs:Property>
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řídycreates– 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ínkyselect 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– operátor @
select X,Y from {X:Artist}@P{Y}
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
– range(@P) – domain(@P)
Operátor like– * zastupuje libovolné znaky
Využití RDF
Webové portály a vyhledávače Elektronické knihovny E-obchody