Struktury informačních zdrojů: studijní opora
6. Síťová struktura otevřených dokumentů: standard RDF
6.2. RDF
"RDF je jazyk, navržený lidmi pro vyjadřování lidských myšlenek ve formě přístupné strojovému zpracování."[1]
Thomas Baker, 2012
Resource description framework (zkr. RDF) - rámec pro popis zdrojů je:
- aplikace XML – jazyk pro psaní metadat pro zdroje na webu
- rámec pro reprezentaci (tj. vyjádření) informací na webu
- „obálka“, „kontejner“ na jakákoli metadata
- jazyk pro tvorbu binárních a orientovaných výroků
- síťová (grafová) struktura: orientovaný ohodnocený graf
Syntaxe RDF
Struktura trojic RDF (angl. RDF triple): zdroj + vlastnost + zdroj / hodnota subjekt (IRI entity A) – predikát (IRI vztahu) – objekt (IRI entity B, příp. literál) Subjekty a objekty tvoří uzly grafu, predikáty představují jeho orientované hrany. |
|
Sémantika RDF
IRI označuje (reprezentuje, identifikuje) zdroj i predikát pro stroje. | rdfs:label označuje (reprezentuje, identifikuje) zdroj i predikát pro lidi. |
Pro zápis IRI ze stejného jmenného prostoru (angl. namespace) lze použít zkrácenou verzi, v níž je opakující se část IRI nahrazena tzv. prefixem.
Příklad: Identifikátory a popisky prvků "textový zdroj" a "obsahuje část" metadatového schématu Dublin Core
zdroj (referent) | rdfs:label | IRI | jmenný prostor | prefix | zkrácený identifikátor | |
subjekt/objekt | textový zdroj | Text | http://purl.org/dc/dcmitype/Text | http://purl.org/dc/dcmitype/ | dcterms | dcterms:Text |
predikát | obsahuje část | hasPart | http://purl.org/dc/terms/hasPart | http://purl.org/dc/terms/ | dcterms | dcterms:hasPart |
Analogií k textovým odstavcům, jež tvoří množina vět, jsou RDF grafy, tvořené množinou trojic RDF. Vztahy entit jsou implementovány jako linky RDF, jež mají rovněž formát trojic RDF. Na rozdíl od HTML linku (značka <a> s atributem „href“), který neobsahuje žádnou sémantiku, je RDF link „typovaný“, jeho význam je určen sémantikou použitého predikátu.
Příklad využití RDF pro strukturování bibliografických metadat
Bibliografické informace o knize Bohumila Hrabala Příliš hlučná samota, vydání z roku 1989. Metadata převzata z: https://aleph.nkp.cz/F/?func=direct&doc_number=000051861&local_base=NKC. Výroky jsou formulovány s využitím pojmového aparátu modelu IFLA LRM.
Výroky:
<Bohumil Hrabal> <je autorem> <díla Příliš hlučná samota>.
<Dílo Příliš hlučná samota> <má předmětové heslo> <"Hrabal, Bohumil (1914-1997 spisovatel čes.) - dílo - studie">.
<Provedení Příliš hlučná samota: text> <je ztělesněním> <díla Příliš hlučná samota>.
<Odeon> <vydal> <provedení Příliš hlučná samota: text>.
Rozčlenění výroků na strukturní prvky trojic RDF
subjekt | predikát | objekt |
Bohumil Hrabal | je autorem/má autora |
Příliš hlučná samota (dílo) |
Příliš hlučná samota (dílo) | je/má předmětové heslo |
"Hrabal, Bohumil (1914-1997 spisovatel čes.) - dílo - studie" |
Příliš hlučná samota: text (provedení) | je ztělesněním/má ztělesnění |
Příliš hlučná samota (dílo) |
Odeon | vydal/má vydavatele |
Příliš hlučná samota: text (provedení) |
Pro grafické znázornění výroků v jazyce RDF se používají následující konvence:
- entity (objekty a subjekty) se znázorňují jako ovály
- literály se zobrazují jako obdélníky
- predikáty se znázorňují jako orientované hrany (šipky), směřující od subjektu k objektu
Obr. 1 Trojice RDF znázorněné prostřednictvím grafu
Identifikátory subjektů a objektů
Každý subjekt ve výroku RDF musí mít IRI. Objekt má buď IRI nebo může být vyjádřen hodnotou neboli literálem. Objekt, který nemá IRI, už nemůže být propojen s žádnou další entitou, tvoří "list" grafu.[2] To je případ objektu na řádku 5.
subjekt/objekt | identifikátor | jmenný prostor |
prefix | zkrácený identifikátor | |
1 | Bohumil Hrabal | http://viaf.org/viaf/34458072 | http://viaf.org/viaf/ | viaf | viaf:34458072 |
2 | Příliš hlučná samota (dílo) | http://viaf.org/viaf/178450109 | http://viaf.org/viaf/ | viaf | viaf:178450109 |
3 | Příliš hlučná samota: text (provedení) | ISBN 80-207-0156-7 | isbn | isbn:8020701567 | |
4 | Odeon | http://viaf.org/viaf/148380530 | http://viaf.org/viaf/ | viaf | viaf:148380530 |
5 | "Hrabal, Bohumil (1914-1997 spisovatel čes.) - dílo - studie" |
Obr. 2 Jednoznačné identifikátory objektů a subjektů
Identifikátory predikátů
Každý predikát ve výroku RDF musí mít IRI.
predikát | identifikátor | jmenný prostor | prefix | zkrácený identifikátor |
je autorem | http://rdaregistry.info/Elements/a/P50541 | http://rdaregistry.info/Elements/a/ | rdaa | rdaa:P50541 |
má předmět | http://rdaregistry.info/Elements/w/P10256 | http://rdaregistry.info/Elements/w/ | rdaw | rdaw:P10256 |
je ztělesněním | http://rdaregistry.info/Elements/m/P30135 | http://rdaregistry.info/Elements/m/ | rdam | rdam:P30135 |
vydal | http://rdaregistry.info/Elements/m/P30083 | http://rdaregistry.info/Elements/m/ | rdam | rdam:P30083 |
Obr. 3 Jednoznačné identifikátory predikátů
Klasifikace v jazyce RDF
Vyjádření obsahu entit se děje rovněž pomocí výroků v jazyce RDF. Subjekty, objekty i predikáty se přiřazují k termínům slovníků (k tvorbě slovníků slouží jazyk RDF Schema). Termíny slovníků jsou třídy a subjekty, objekty a predikáty jsou jejich instance. V našem příkladu jsou uvedeny tyto výroky:
Příliš hlučná samota (dílo) <je instancí třídy> Dílo.
Příliš hlučná samota: text (provedení) <je instancí třídy> Provedení.
Bohumil Hrabal <je instancí třídy> Osoba.
Odeon je <instancí třídy> Kolektivní agent.
Třída Osoba <je zahrnuta ve třídě / je podtřídou třídy> Agent.
Třída Kolektivní agent <je zahrnuta ve třídě / je podtřídou třídy> Agent.
Predikáty používané pro klasifikaci entit
predikát | identifikátor | prefix | zkrácený identifikátor |
patří do třídy (je typ) vztah instance - třída |
http://www.w3.org/1999/02/22-rdf-syntax-ns#type | rdf | rdf:type |
je podtřídou vztah třída - třída |
https://www.w3.org/TR/2014/REC-rdf-schema-20140225/#ch_subclassof | rdfs | rdfs:subClassOf |
Obr. 4 Definování významu entit jejich klasifikací
Označování entit pro lidské uživatele
IRI subjektů, objektů a predikátů slouží pro jejich jednoznačnou identifikaci a zpracování počítačovými programy. Pro lidské uživatele slouží slovní označení (angl. label) entit, která se definují rovněž prostřednictvím trojic RDF. Pro specifikaci označení entity se používá predikát rdfs:label, hodnotou označení je literál.
Příklad:
Entita rdac:C10007 se jmenuje "Provedení" | rdac:C10007 <rdfs:label> "Provedení" | |
Entita rdaw:P10256 se jmenuje "má předmět" | rdaw:P10256 <rdfs:label> "má předmět" |
Obr. 5 Kompletní RDF graf
(Poznámka: V tomto obrázku jsou pro zjednodušení slovní označení přiřazena pouze subjektům a objektům)
[1] BAKER, Thomas. Libraries, languages of description, and linked data: a Dublin Core perspective. In: Library Hi Tech. 2012, 30(1), 117. ISSN 0737-8831.
[2] Poznámka: Specifikace RDF ještě umožňuje definovat tzv. prázdné uzly (angl. blank nodes), které v tomto zjednodušeném příkladu nejsou použity.