4 TVEZEWXYHMNR LSTVSKVEQY-RJSVQEXMOENITSHTSVSZ RETVSNIOXIQRERGSZER Q ^)ZVSTWO LSWSGM PR LSJSRHYEVS^TS XYLPEZR LSQ WXE4VEL] 4VELE)9-RZIWXYNIQIHSZE% FYHSYGRSWXM Sémantický Web RDF(S) BI - TWA Peter Vojtáš
Od XML ke RDF, od stromů ke grafům RDF - Datový model pro otevřený svět OWA RDF orientovaný graf Terminologie Reprezentace RDF grafu Formalizmy pro zápis RDF grafu (Turtle) Prázdné uzly RDF typy RDF XML syntax Tvrzení o tvrzeních
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF terminologie větného rozboru Terminologie W3C Subject Větný rozbor podmět Predicate (verb) přísudek Object předmět používá URI k jednoznačné identifikaci zdrojů, převzato z XML graf má pojmenované uzly a šipky Literály jsou datové hodnoty, které nejsou zdroje, posloupnost znaků, možný datový typ c
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF orientovaný graf http://example.org/kvalifikace TWA http://example.org/majmeno John Smith http://example.org/typsmlovy neurčito zaměstnanec id kvalifikace jmeno Typ smlouvy http://example.org/85740 TWA John Smith Neurčito
XML podelement RDF pojmenované Množinová G = (V, E VxV) Grafická ovály, šipky Slova v abecedě Gramatika <vydal> <vydavatelstvi>springer- Verlag</vydavatelstvi> <kniha>semantic Web - Grundlagen</kniha> <autor> P. Hitzler a kol.</autor> </vydal>.různé reprezentace v XML http://example.org/vyšlov http://example.org/semanticweb http://example.org/vydal http://www.springer.com/verlag http://example.org/napsali http://purl.org/dc/elements/1.1/author http://example.org/je http://example.org/p.hitzlerakol. http://example.org/vydavatelstvi Motivováno P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDF trojice http://example.org/vyšlov http://example.org/semanticweb http://www.springer.com/verlag Subject: U = URI nebo B = prázdné uzly Predicate: URI Object: URI nebo prázdný uzel nebo L = literály G (U B) x U x (U B L) http://example.org/vyšlov http://example.org/kniha http://example.org/vydavatelstvi http://example.org/semanticweb http://www.springer.com/verlag Motivováno P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDF formalizmy pro zápis Vyjmenování trojic - N3 Notation 3 složitý formalismus - N-Triples (část N3) - Turtle rozšíření N-Triples (zkratky) Turtle - URI v hranatých závorkách - literály v uvozovkách - trojice uzavřena bodkou - mezery, eol, se ignorují - dobře pársovatelné Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF Turtle má zkratky pro prefixy URI URI Uniform Resource Identifier (dnes už IRI...) @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> @prefix dc: <http://purl.org/dc/elements/1.1/> @prefix springer: <http://springer.com/> @prefix ex: <http://www.example.org/> @prefix exterms: <http://www.example.org/terms/> Pak trojice může vypadat více user friendly <http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/staffid/85740>. totéž ex:index.html dc:creator ex:staffid/85740.
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF Turtle má další zkrácené zápisy Jak ukládat RDF data? Nativně, relačně? Opakující se hodnoty, indexy ex:index.html dc:creator ex:staffid/85740. ex:index.html exterms:creation-date "August 16, 1999". ex:index.html dc:language "en". Více trojic se stejným subject lze skrátit: ex:index.html dc:creator ex:staffid/85740 ; exterms:creation-date "August 16, 1999 ; dc:language "en". Více trojic stejným subject a predicate ex:index.html dc:creator ex:staffid/85740, ex:staffid/85741, ex:staffid/85742.
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF prázdné uzly Redundance uzlu addressid
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF prázdné uzly exstaff:85740 exterms:address???.??? exterms:street "1501 Grant Avenue".??? exterms:city "Bedford".??? exterms:state "Massachusetts".??? exterms:postalcode "01730". Ale v grafu může být více prázdných uzlů exstaff:85740 exterms:address _:johnaddress. _:johnaddress exterms:street "1501 Grant Avenue". _:johnaddress exterms:city "Bedford". _:johnaddress exterms:state "Massachusetts". _:johnaddress exterms:postalcode "01730". Takže prázdný uzel má (lokální) jméno, ale ne URI
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF - typy <http://www.example.org/staffid/85740> <http://www.example.org/terms/age> "27"^^<http://www.w3.org/2001/XMLSchema#integer>. Různé jazyky pro RDF Statement I vývojáři jsou lidé Nebo taky exstaff:85740 exterms:age "27"^^xsd:integer.
RDF XML syntax jako v XML, lze použít jmenné prostory vlastní RDF elementy, s jmenným prostorem rdf: <?xml version= 1.0" encoding="utf-8"?> <rdf:rdf xmlns:rdf=''http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:ex=''http://example.org/ xmlns:dc= http://purl.org/dc/elements/1.1/ > <rdf:description rdf:about="http://www.example.org/index.html"> <ex:creator> <rdf:description rdf:about="http://www.example.org/staffid/85740"> </ ex:creator > </rdf:description> </rdf:rdf> http://example.org/index.html http://purl.org/dc/elements/1.1/creator http://example.org/staffid/85740 Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF XML syntax trojice element rdf:description kóduje subject, jehož URI je hodnotou atributu rdf:about každý podelement elementu rdf:description je predicate jehož URI je jméno elementu, tento obsahuje object trojice jako další rdf:description <rdf:description rdf:about="http://www.example.org/index.html"> <ex:creator> <rdf:description rdf:about="http://www.example.org/staffid/85740"> </ ex:creator > </rdf:description> </rdf:rdf>
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF XML syntax Netypované literály lze zadat jako text v obsahu elementu predicate jeden element subject může obsahovat více predicate podelement object rdf:description může sloužit jako subject pro další trojici <rdf:description rdf:about="http://www.example.org/index.html"> <ex:creator> <rdf:description rdf:about="http://www.example.org/staffid/85740"> < ex:name > John Smith </ ex:name > </ ex:creator > <exterms:creation-date > August 16, 1999 </ exterms:creation-date > </rdf:description> John Smith exterms:creation-date August 16, 1999 ex:name http://example.org/index.html http://purl.org/dc/elements/1.1/creator http://example.org/staffid/85740
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF XML syntax Netypované literály lze zadat jako XML atributy jméno atributu je predicate URI object lze zadat jako hodnotu atributu rdf:resource uvnitř elementu predicate <rdf:description rdf:about="http://www.example.org/index.html" exterms:creation-date= August 16, 1999 <ex:creator rdf:resource= http://www.example.org/staffid/85740 /> </rdf:description> <rdf:description rdf:about="http://www.example.org/staffid/85740" ex:name= John Smith John Smith </rdf:description> exterms:creation-date August 16, 1999 ex:name http://example.org/index.html http://purl.org/dc/elements/1.1/creator http://example.org/staffid/85740
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF XML syntax - problém Jmenné prostory neslouží jen jako zkratky, v XML elementech a atributech je : povoleno jen pro kódování jmenných prostorů Problémem je, že v XML hodnota atributu nemůže obsahovat jmenný prostor (bylo by chápáno jako URI schema) <rdf:description rdf:about= ex:index.html''> <dc:creator> <rdf:description rdf:about='' ex:staffid/85740 ''> </rdf:description> </dc:creator> </rdf:description> </rdf:rdf> je špatně
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF XML syntax - problém Je tedy zakázáno rdf:about= ex:index.html' rdf:about='' ex:staffid/85740 Lze to obejít deklarací XML entity <!ENTITY ex http://example org > <rdf:description rdf:resource = &ex;index.html''> <dc:creator> <rdf:description rdf:resource = ' &ex;staffid/85740 ''> </rdf:description> </dc:creator> </rdf:description> </rdf:rdf>
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF XML syntax - problém Je tedy zakázáno rdf:about= ex:index.html' rdf:about='' ex:staffid/85740 Lze to obejít i jinak použít basis URI <rdf:rdf xmlns:rdf=''http://www.w3.org/1999/02/22-rdf-syntax-ns# xml:base=''http://www.example.org/ > pak rdf:about = index.html'' rdf:about = ' staffid/85740 ' bude interpretováno jako http://www.example.org/index.html http://www.example.org/staffid/85740...
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF prázdné uzly v XML <rdf:description rdf:about=''http://example.org/staffid/85740''> <exterm:address rdf:nodeid="id1" /> </rdf:description> <rdf:description rdf:nodeid="id1"> exterms:postalcode= 01730 exterms:state= Massachusetts </rdf:description> Nebo zkráceně <rdf:description rdf:about=''http://example.org/staffid/85740''> <exterm:address rdf:parsetype="resource"> exterms:postalcode= 01730 exterms:state= Massachusetts </ exterm:address > </rdf : Description>
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ Tvrzení o tvrzení Prvky RDF vocabulary ex:index.html exterms:creation-date "August 16, 1999" exproducts:triple123 rdf:type rdf:statement. exproducts:triple123 rdf:subject ex:index.html. exproducts:triple123 rdf:predicate exterms:creation-date. exproducts:triple123 rdf:object "August 16, 1999". exproducts:triple123 dc:creator exstaff:85740. exterms:creation-date rdf:type rdf:property stoh id s p o Creator 123 ex:index.html ext:creation date 16.8.1999 exs:85740
Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/ RDF Schema - znalosti, metadáta xmlns:rdf, xmlns:rdfs, standard W3C Už v RDF rdf:type, rdfs:class Doménově nezávislý slovník Hierarchie tříd rdfs:subclassof Další rozšíření jazyka zdroje, vztahy, typy seznamů, Hierarchie RDF tříd rdfs:domain, Rdfs:range, Komentáře OWL
RDFS RDF Schema znalosti, metadáta RDF nabízí datový model, kódování dat na webu http://example.org/vyšlov http://example.org/semanticweb http://example.org/vydal http://www.springer.com/verlag = tvrzení (informace) o jednotlivých zdrojích (resource) a jejich vlastnostech a vztazích Např. není jasné, že http://example.org/semanticweb je učebnice, že http://www.springer.com/verlag je vydavatelství Pro lidi je jasné, že učebnice je knížka, nakladatelství je organizace Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDFS RDF Schema znalosti, metadáta RDF také nabízí možnost kódovat informace o terminologii v aplikační doméně, např. že http://www.springer.com/verlag je vydavatelství s použitím vlastnosti http://example.org/je Problém je že býti je zavislé na autoru terminologie, to by integraci dat na webu moc nepomohlo http://example.org/vyšlov http://example.org/semanticweb http://example.org/vydal http://example.org/je http://www.springer.com/verlag http://example.org/je http://example.org/ucebnice http://example.org/vydavatelstvi Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDFS RDF Schema znalosti, metadáta RDFS nabízí standardizovaný jazyk pro popis tříd a vlastností pomocí jemenných prostorů xmlns:rdf= http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" a standardizované terminologie http://www.springer.com/verlag http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://example.org/vydavatelstvi http://www.w3.org/2000/01/rdf-schema#class http://www.w3.org/1999/02/22-rdf-syntax-ns#type Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDFS RDF Schema Část W3C doporučení o RDF Umožňuje specifikaci terminologických znalostí Slovník není tématicky (doménově) závislý ale generický umožňuje specifikaci (části) sémantiky libovolného RDF-slovníku Výhoda: každý software s podporou RDFS interpretuje RDFS definované pojmy korektne některé pojmy už v rdf, např rdf:type většina v rdfs, např rdfs:class Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDF Schema podpora vytváření slovníků Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/
Tentýž příklad v Turtle ex:motorvehicle rdf:type rdfs:class. ex:passengervehicle rdf:type rdfs:class. ex:van rdf:type rdfs:class. ex:truck rdf:type rdfs:class. ex:minivan rdf:type rdfs:class. ex:passengervehicle rdfs:subclassof ex:motorvehicle. ex:van rdfs:subclassof ex:motorvehicle. ex:truck rdfs:subclassof ex:motorvehicle. ex:minivan rdfs:subclassof ex:van. ex:minivan rdfs:subclassof ex:passengervehicle. Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/
Hierarchie Carl von Linné (neúplná větev) <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:ex="http://www.semantic-web-grundlagen.de/beispiele#"> <rdfs:class rdf:about="&ex;animalia"> <rdfs:label xml:lang= cz">živočichové</rdfs:label> </rdfs:class> <rdfs:class rdf:about="&ex;mammalia"> <rdfs:label xml:lang= cz">savci </rdfs:label> <rdfs:subclassof rdfs:resource="&ex;animalia"/> </rdfs:class> <rdfs:class rdf:about="&ex;primates"> <rdfs:label xml:lang= cz">primáti</rdfs:label> <rdfs:subclassof rdfs:resource="&ex;mammalia"/> </rdfs:class> <rdfs:class rdf:about="&ex;hominoidea"> <rdfs:label xml:lang= cz">lidoopi</rdfs:label> <rdfs:subclassof rdfs:resource="&ex;primates"/> </rdfs:class> <rdfs:class rdf:about="&ex;homosapiens"> <rdfs:label xml:lang= cz">člověk moudrý</rdfs:label> <rdfs:subclassof rdfs:resource="&ex;hominoidea "/> </rdfs:class> <ex:homosapiens rdf:about="&ex;sebastianrudolph"/> </rdf:rdf> Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
Hierarchie Carl von Linné (neúplná větev) Všimněnme si zkráceného zápisu prvků tříd <ex:homosapiens rdf:about="&ex;sebastianrudolph"/> znamená <ex:homosapiens rdf:about="&ex;sebastianrudolph"/> plně <rdf:description rdf:about= "&ex;sebastianrudolph">" <rdf:type rdf:resource= "&ex;homosapiens"> </rdf:description> Akorát se nepíše, např. Podobně <rdfs:class rdf:about="&ex;homosapiens"/> HomoSapiens je třída (všech moudrých lidí ) Také rdfs:class rdf:type rdfs:class a přitom tady v tom není žádný paradox (Russel) Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
TWA-Sémantický web-rdf(s) rdfs:resource Třída všech zdrojů rdf:property (všimněme si, je to rdf ) Třída všech vztahů (= zdrojů s predicate-uris) rdf:list, rdf:seq, rdf:bag, rdf:alt, rdfs:container Třídy různých typů seznamů rdfs:containermembershipproperty Třída všech vztahů, ze kterých vyplývá náležení s o rdf:xmlliteral, rdfs:literal Třídy všech hodnot daného datového typu rdfs:datatype rdf:xmlliteral, rdfs:literal Třída všech datových typů, má instance např. Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
Hierarchie RDF tříd Souhrn vztahů mezi třídama Příklad z Thieme, XML and Semantic Web Technologies
RDF(S) Property Charakterizuje vztah dvou zdrojů Mathematicky množina dvojic sezdáns = {(Adam, Eva),(Brad, Angelina),...} URI vlastností jsou typovány ex:vyšlov rdf:type rdf:property ex:sezdáns rdf:type rdf:property ex:stastnesezdans rdf:type rdf:property ex:stastnesezdans rdf:subpropertyof ex:sezdans ex:peter ex:stastnesezdans ex:inka a z doho se dají odvodit příslušné důsledky Příklad z Thieme, XML and Semantic Web Technologies
RDF(S) Property ex:chcezabranit ex:odhalit ex:zabil Yahweh י ה ו ה Cain קין Abel והבל Příklad z Thieme, XML and Semantic Web Technologies
RDF Schema další vlastnosti 1 ex:person rdf:type rdfs:class. ex:author rdf:type rdf:property. ex:author rdfs:range ex:person. ex:hasmother rdfs:range ex:female. ex:hasmother rdfs:range ex:person. exstaff:frank ex:hasmother exstaff:frances. 2 3 ex:age rdf:type rdf:property. ex:age rdfs:range xsd:integer. xsd:integer rdf:type rdfs:datatype. ex:book rdf:type rdfs:class. ex:author rdf:type rdf:property. ex:author rdfs:domain ex:book. 4 5 exterms:weight rdfs:domain ex:book. exterms:weight rdfs:domain ex:motorvehicle. Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/tr/rdf-primer/
Komentáře rdfs:label vlastnost, která (libovolnému) zdroji přiřadí alternativní jméno (Literal), často jsou URI těžko čitelné, jméno přiřazené pomocí rdfs:label můžou nástroje použít při grafické reprezentaci např. <rdfs:class rdf:about="&ex;hominidae"> <rdfs:label xml:lang="de">menschenaffen</rdfs:label> <rdfs:label xml:lang= cz">lidoopi</rdfs:label> </rdfs:class> také rdfs:comment, rdfs:seealso, rdfs:definedby Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
Komentáře.. xmlns:wikipedia=http://cs.wikipedia.org/wiki/.. <rdfs:class rdf:about="&ex;primates"> <rdfs:label xml:lang= cz">primáti</rdfs:label> <rdfs:comment> Primáti (Primates) jsou řádem poměrně primitivních placentálních savců, který zahrnuje lemury, opice a lidoopy, včetně člověka. Slovo primát pochází z latinského jména Primates, což je množné číslo od primas ( jeden z prvních, znamenitý, vznešený ). Českým synonymem jsou nehetnatci. </rdfs:comment> <rdfs:seealso rdf:resource= &wikipedia; Primáti > <rdfs:subclassof rdfs:resource="&ex;mammalia"/> </rdfs:class> Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDFS vocabulary - neúplné třídy rdfs:resource, rdfs:class (už máme rdf:property) vlastnosti rdfs:subclassof, rdfs:subpropertyof rdfs:domain, rdfs:range a některé další výrazové prostředky rdfs:literal, rdfs:datatype rdfs:member, rdfs:container... a pro lidské komentáře máme rdfs:comment, rdfs:seealso, rdfs:label,...
RDFS vocabulary - neúplné RDF(S) třídy rdfs:class rdfs : Resource rdfs : Datatype rdf:property rdfs:literal rdf:xmlliteral RDF(S) vlastnosti rdfs:range rdf:type rdfs:subpropertyof rdfs: comment rdfs : domain rdfs:subclassof rdfs:label RDF seznamy rdfs:container rdf:seq rdf:li rdf:_2 rdfs:containermembershipproperty rdf:list rdf:rest rdf:bag rdf:alt rdf:_1 rdfs : member rdf:first rdf:nil Reifikace rdf:statement rdf:subject rdf:predicate rdf:object RDF Atributy rdf:about rdf:id rdf:resource rdf:nodeid rdf:datatype XML Atributy xml:base xmlns xml:lang RDF(S) další prvky rdf:rdf rdfs:seealso rdfs:isdefinedby rdf:value