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
 
„Věty“ v jazyce RDF tvoří výroky ve formě oznamovacích vět v jednotné struktuře trojic, formalizovaných jako výroky predikátové logiky.
Výroky / tvrzení tvoří dva typy strukturních prvků: 1) zdroj (angl. resource), který může být ve funkci subjektu ("podmět") nebo ve funkci objektu ("předmět") a 2) vlastnost (angl. property / predicate), jež plní funkci vztahu subjektu a objektu nebo atributu subjektu ("přísudek").

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.

rdf-graph.svg 

Zdroj: https://www.w3.org/TR/rdf11-concepts/

Sémantika RDF
RDF-IRI           RDF-label
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.

RDF0

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

rdf1

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"

subjekty a objekty

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

rdf3

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

RDF-třídy

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"

RDF graf

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.