Sémantizace Webu 3. RDF Peter Vojtáš
Od XML ke RDF, od stromů ke grafům 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 Další vymoženosti RDFS Sémantizace webu 3. RDF
RDF – orientovaný graf (bez násobných hran) RDF - “Resource Description Framework” – prostředí na popis (webovských) zdrojů W3C doporučení (http://www.w3.org/RDF) RDF je datový model Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
RDF – orientovaný graf používá URI k jednoznačné identifikaci zdrojů, http://example.org/maJmeno John Smith 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 Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. RDF 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 Predicate (verb) Object Větný rozbor podmět přísudek předmět V přirozeném jazyce: http://www.example.org/index.html has a creator whose staffid value is 85740 Kolize „lingvistické“ terminologie a terminologie OOP Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
RDF a terminologie ER, OOP, … Entita, objekt vztah Atribut hodnota Větný rozbor podmět přísudek (má tvůrce) Předmět/podmět Přísudek (má jméno) http://example.org/maJmeno John Smith Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
XML Schema, …omezení… RDF <vydal> <vydavatelstvi>Springer-Verlag</vydavatelstvi> <kniha>Semantic Web - Grundlagen</kniha> <autor> P. Hitzler a kol.</autor> </vydal> Jaká je sémantika <vydavatelstvi Name="Springer-Verlag"> <vydal kniha="Semantic Web – Grundlagen“/> element-podelement </vydavatelstvi> <autor> P. Hitzler <kniha Name="Semantic Web - Grundlagen"> <vydavatel vydavatelstvi="Springer-Verlag"> </kniha> <kniha …>… </autor> Sémantizace webu 3. RDF Motivováno P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDF – orient. graf – různé reprezentace 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://www.springer.com/Verlag http://example.org/Vydal Ako urobit aby som tieto poznamky videl a na obrazovke neboli http://example.org/je http://example.org/napsali http://purl.org/dc/elements/1.1/author http://example.org/vydavatelstvi http://example.org/P.Hitzlerakol. Sémantizace webu 3. RDF Motivováno P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDF trojice Pojmenovaný orientovaný graf – možné jména: http://example.org/VyšloV http://example.org/SemanticWeb http://www.springer.com/Verlag Pojmenovaný orientovaný graf – možné jména: Subject: URI nebo prázdný uzel Predicate: URI Object: URI nebo prázdný uzel nebo literál Graf lze rekonstruovat ze seznamu trojic (s, p, o) Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. RDF Motivováno P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen
RDF trojice U = URI, B = prázdné uzly, L = literály http://example.org/VyšloV http://example.org/SemanticWeb http://www.springer.com/Verlag U = URI, B = prázdné uzly, L = literály G ⊆ (U ∪ B) x U x (U ∪ B ∪ L) Binární datový model http://example.org/VyšloV http://example.org/kniha http://example.org/Vydavatelstvi http://example.org/SemanticWeb http://www.springer.com/Verlag … Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. RDF 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é Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. RDF 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 . Sémantizace webu 3. RDF 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. Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
RDF – více dat Problém konceptuálního modelování Sémantizace webu 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 Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
RDF – prázdné uzly Ale v grafu může být více prázdných uzlů… 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 Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
RDF - typy Nebo taky Různé jazyky pro RDF Statement – I vývojáři jsou lidé <http://www.example.org/staffid/85740> <http://www.example.org/terms/age> "27"^^<http://www.w3.org/2001/XMLSchema#integer> . Nebo taky exstaff:85740 exterms:age "27"^^xsd:integer . Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
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> Ako urobit aby som tieto poznamky videl a na obrazovke neboli http://purl.org/dc/elements/1.1/creator http://example.org/index.html http://example.org/staffid/85740 Sémantizace webu 3. RDF 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> Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. 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 August 16, 1999 Ako urobit aby som tieto poznamky videl a na obrazovke neboli ex:name exterms:creation-date http://purl.org/dc/elements/1.1/creator http://example.org/index.html http://example.org/staffid/85740 Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
RDF – XML syntax jméno atributu je „predicate“ URI 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 August 16, 1999 Ako urobit aby som tieto poznamky videl a na obrazovke neboli ex:name exterms:creation-date http://purl.org/dc/elements/1.1/creator http://example.org/index.html http://example.org/staffid/85740 Sémantizace webu 3. RDF 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:RDF> je špatně Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. 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 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:RDF> Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. 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 ... Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
RDF – prázdné uzly v XML Nebo zkráceně <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ě <exterm:address rdf:parseType="Resource"> … </ exterm:address > </rdf : Description> Ako urobit aby som tieto poznamky videl a na obrazovke neboli Sémantizace webu 3. RDF 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 Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
Další vymoženosti RDF - neúplné (otevřené) RDF containers – rdf:Bag s opakováním, bez pořadí - rdf:Seq s opakováním, s pořadím - rdf:Alt alterntivy pro jednu hodnotu (uzavřené) RDF Collections - rdf:List, rdf:first, rdf:rest, rdf:nil Další prvky RDF vocabulary rdf:XMLLiteral, rdf:_1 rdf:_2 ... Sémantizace webu 3. RDF Příklad z W3C materiálu Resource Description Framework (RDF) Primer http://www.w3.org/TR/rdf-primer/
Sémantizace webu Pokračuje RDFS Sémantizace webu 3. RDF Příklad z P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure. Semantic Web Grundlagen