www.semantic-web-grundlagen.de Semantic Web Technologies I Lehrveranstaltung im WS11/12 Dr. Elena Simperl PD Dr. Sebastian Rudolph M.Sc. Anees ul Mehdi www.semantic-web-grundlagen.de Semantik von RDF(S) PD Dr. Sebastian Rudolph Semantic Web Architecture XML und URIs Einleitung und XML RDF Schema Current research Logik – Grundlagen Semantik von RDF(S) SPARQL – Syntax und Intuition Semantik von SPARQL OWL – Syntax und Intuition I OWL – Syntax und Intuition II OWL – Semantik und Reasoning Ontology Engineering Linked Data Now standardized Konjunktive Anfragen und Regelsprachen Applications entspricht Kapitel 4 des Buches „Semantic Web - Grundlagen“ - siehe auch http://www.semantic-web-grundlagen.de/index.php/Kapitel_4 Agenda • Motivation • Vorbetrachtungen • einfache Folgerung • RDF-Folgerung • RDFS-Folgerung • Unzulänglichkeiten von RDF(S) 3 Agenda • Motivation • Vorbetrachtungen • einfache Folgerung • RDF-Folgerung • RDFS-Folgerung • Unzulänglichkeiten von RDF(S) 4 Warum formale Semantik? • nach Einführung von RDFS Kritik von Tool- Herstellern: verschiedene Tools - Inkompatibilitäten (trotz Spezifikation) • z.B. bei triple stores: - gleiches RDF-Dokument - gleiche SPARQL-Anfrage - verschiedene Antworten • daher: modelltheoretische Semantik für RDF(S) 5 Agenda • Motivation • Vorbetrachtungen • einfache Folgerung • RDF-Folgerung • RDFS-Folgerung • Unzulänglichkeiten von RDF(S) 6 Was ist die Syntax? • also: was sind die Sätze in RDF(S)? - Grundelemente (Vokabular V): URIs, bnodes und Literale (sind selbst keine Sätze) - jedes Tripel (s,p,o) ∈ (URI ∪ bnode) × URI × (URI ∪ bnode ∪ Literal) ist ein Satz - jede endliche Menge von Tripeln (genannt Graph) ist ein Satz 7 Was ist die Semantik? • Konsequenzrelation, die sagt, wann ein RDF (S)-Graph G´ aus einem RDF(S)-Graphen G folgt, d.h. G ² G´ • Modelltheoretische Semantik: wir definieren 4.2 Modelltheoretische Semantik f¨ ur RDF(S) Menge von Interpre- Sätze ๺ tationen und legen s1 s2 logische Folgerung s3 fest, wann eine Inter- pretation Modell ๺ ๺ ๺ eines Graphen ist Modelle Modelle Modelle von s 1 von s 3 von s 2 Interpretationen Abb. 4.1. Definition der Folgerungsrelation u ¨ber Modelle 8 die eine solche einfache Interpretation als RDF-Interpretation qualifizieren. Schließlich geben wir weitere Forderungen an, die eine RDF-Interpretation erfu Was ist die Semantik? ¨ llen muss, um als RDFS-Interpretation zu gelten. Eine natu ¨ rliche Konse- quenz dieser Vorgehensweise ist die Tatsache, dass jede RDFS-Interpretation auch eine gu¨ ltige RDF-Interpretation darstellt, wie auch jede RDF-Interpre- • Vorgehen schrittweise: tation eine einfache Interpretation ist. Dieser Zusammenhang ist in Abb. 4.2 noch einmal dargestellt. einfache Interpretationen RDF-Interpretationen RDFS-Interpretationen Abb. 4.2. Beziehung der Interpretationen • je eingeschränkter die Interpretationen umsoInterpretationen 4.2.1 Einfache stärker die Folgerungsrelation Sehen wir uns also zuerst den Begriff der sogenannten einfachen Interpretati- on an. Dabei verwenden wir fur die Darstellung von RDF-Graphen im Text 9 Agenda • Motivation • Vorbetrachtungen • einfache Folgerung • RDF-Folgerung • RDFS-Folgerung • Unzulänglichkeiten von RDF(S) 10 interpretationsseitige) Begriffe, weswegen es genau genommen falsch w¨ are zu sagen, dass URIs (oder Literale) Ressourcen sind. Pr¨ aziser w¨are die Formu- Semantik der einfachen Folgerung lierung, dass (syntaktische) URIs oder Literale fu stehen oder diese repr¨ ¨r (semantische) Ressourcen asentieren. Und genau diese Repr¨ asentation wird darge- stellt durch weitere Funktionen, welche URIs bzw. Literalen ihr semantisches • Gegenstu einfache Interpretation: ¨ ck zuordnen. Dabei wird fu semantische Sonderbehandlung“ fu ¨ r einfache Interpretationen noch keine ¨ r RDF- und RDFS-Vokabular gefordert. ” Wir definieren also: Eine einfache Interpretation I fu ¨ r ein Vokabular V be- steht aus IR , einer nichtleeren Menge von Ressourcen, auch genannt Doma¨ne oder (Diskurs-)Universum von I , IP , der Menge der Propertys von I IEXT , einer Funktion, welche jeder Property eine Menge von Paaren aus IR zuordnet, also IEXT : IP → 2IR×IR , dabei nennt man IEXT (p) auch die Extension der Property p, IS , einer Funktion, welche URIs aus V in die Vereinigung der Mengen IR und IP abbildet, also IS : V → IR ∪ IP , IL , einer Funktion von den getypten Literalen aus V in die Menge IR der Ressourcen und LV einer speziellen Teilmenge von IR , genannt Menge der Literalwerte, die (mindestens) alle ungetypten Literale aus V enth¨ alt. 11 abgebildet: ("a "@t )I = !a , t ", 4.2 Modelltheoretische Semantik f¨ur RDF(S) 95 jedes getypte Literal l wird auf IL (l ) abgebildet: l = IL (l ) un I Semantik der einfachen Folgerung jede URI u wird auf IS (u) abgebildet: uI = IS (u). Vokabular V enthaltenen Literale und URIs auf Ressourcen und Propertys abbildet: Dabei werden also (wie in Abschnitt 3.1.3 bereits erwa ¨hnt) ungety rale ohne jedes ungetypte Literal "aSprachangabe " wird auf a quasi auf sich("a abgebildet: ) selbst " = a, I abgebildet“ und un ” Literalen jedes ungetypte Literal mit mit Sprachangabe "a Sprachangabe werden "@t Paare wird zugeordnet, auf das Paar welche !a , tsich " blanken Literal und dem Sprachbezeichner zusammensetzen. Fu ¨r d abgebildet: ("a "@t )I = !a , t ", pretation getypter Literale werden – von der Zugeh¨ origkeit zu den Re jedes getypte Literal l wird abgesehen auf – zun IL (keine achst ¨ l ) abgebildet: l = IL (l Forderungen I speziellen semantischen ) und ges auf IS (u) jede URI u wird bildung 4.3 abgebildet: I = Definition u der stellt diesen Teil IS (u). einer einfachen Interpreta einmal schematisch dar. Dabei werden also (wie in Abschnitt 3.1.3 bereits erwa ¨hnt) ungetypte Lite- • Interpretation Vokabular V Namen rale ohne Sprachangabe quasi auf sich selbst abgebildet“ und ungetypten ” Literale Literalen mit Sprachangabe werden Paare zugeordnet, Uwelche RIs (schematisch): ungetypt blanken Literal und dem Sprachbezeichner gzusammensetzen. etypt Fu sich aus dem ¨ r die Inter- pretation getypter Literale werden – von der Zugeh IL .I origkeit zu ¨ IS den Ressourcen Interpretation I abgesehen – zun¨ achst keine speziellen semantischen Forderungen gestellt. Ab- bildung 4.3 stellt diesen Teil der Definition einer einfachen Interpretation noch LV Ressou rcen Propertys einmal schematisch dar. IR IP Vokabular Namen Literale URIs IEXT 12 Semantik der einfachen Folgerung delltheoretische Semantik f¨ ur RDF(S) 95 ar V enthaltenen Literale und URIs auf Ressourcen und Propertys ungetypte Literal "a " wird auf a abgebildet: ("a ")I = a , ungetypte Literal mit Sprachangabe "a "@t wird auf das Paar !a , t " bildet: ("a "@t )I = !a , t ", • Frage: Wann ist eine gegebene getypte Literal l wird auf IL (l ) abgebildet: l I = IL (l ) und URI u wird auf IS (u) abgebildet: uI = IS (u). Interpretation Modell eines Graphen? erden also (wie in Abschnitt 3.1.3 bereits erw¨ ahnt) ungetypte Lite- e Sprachangabe quasi auf sich selbst abgebildet“ und ungetypten ” n mit Sprachangabe werden Paare zugeordnet, welche sich aus dem 3.2 Syntax f¨ ur RDF 39 Literal und dem Sprachbezeichner zusammensetzen. Fu ¨ r die Inter- n getypter Literale werden – von der Zugeho ¨rigkeit zu den Ressourcen n – zun¨achst keine speziellen semantischen Forderungen gestellt. Ab- 4.3 stellt diesen Teil der Definition einer einfachen Interpretation noch chematisch dar. ² Vokabular V Namen Abb. 3.2. Ein RDF-Graph mit Literalen zur Beschreibung von Datenwerten Literale URIs ungetypt getypt soll die Interpretation eines Bezeichners aber oft eindeutig sein und nicht von IL .I IS Interpretation I Sonderfunktionen einzelner Anwendungen abh¨ angen. So hat z.B. die Zahl 42 ² in jedem Kontext dieselbe numerische Interpretation. LV Ressou rcen Propertys Datenwerte werden in RDF durch sogenannte Literale dargestellt. Dies sind IR IP ² reservierte Bezeichner fu¨ r RDF-Ressourcen eines bestimmten Datentyps. All- gemein wird der Wert eines jeden Literals durch eine Zeichenkette beschrie- IEXT ² ben, z.B. die Zeichenkette aus den Symbolen 4“ und 2“. Die Interpretation ” ” dieser Angabe wird durch einen Datentyp festgelegt. So beschreiben z.B. die Schematische Darstellung einer einfachen Interpretation Angaben 42“ und 042“ dieselbe natu ¨ rliche Zahl, aber unterschiedliche Zei- ” ” chenfolgen. Definition der Interpretationsfunktion ·I fu ¨ r die RDF-Grundelemente Vorl¨aufig betrachten wir nur Literale, fu ¨ r die kein Datentyp angegeben ist. nd wird diese so erweitert, dass sie jedem grundierten Tripel (d.h. ei- lches keine leeren Knoten entha ¨lt) einen Wahrheitswert (wahr oder Diese werden immer wie Zeichenketten interpretiert. Eine etwas komplizier- • ...wenn sie Modell jedes Tripels des uweist: Der Wahrheitswert s p o.I eines grundierten Tripels s p o. tere Form von Literalen, die jeweils aus einem Wertebezeichner und einem dann wahr, wenn alle seine Bestandteile s, p und o im Vokabular V Datentyp bestehen, werden wir spa ¨ter genauer erkla ¨ren. n sind und !sI , oI " ∈ IEXT (pI ). Letztere Bedingung besagt, dass das Wie in Abb. 3.2 zu sehen, werden Literale in RDF-Graphen durch rechteckige Graphen ist! ildet aus den Ressourcen, die den beiden URIs s und o. zugeordnet der Extension der durch die URI p repr¨ asentierten Property liegt. Ist er Bedingungen verletzt, ist der Wahrheitswert falsch. Abbildung 4.4 Umrandungen dargestellt, um sie von URI-Bezeichnern in ovalen Umrandun- gen zu unterscheiden. Eine weitere Besonderheit von Literalen in RDF ist es, dass sie nie der Ausgangspunkt von Kanten in einem RDF-Graph sein 13 Ressou rcen Propertys IR IP ungetypte Literal "a " wird auf a abgebildet: ("a ")I = a , ungetypte Literal mit Sprachangabe "a "@t wird auf das Paar !a , t " Semantik der einfachen Folgerung ildet: ("a "@t )I = !a , t ", getypte Literal l wird auf IL (l ) abgebildet: l I = IL (l ) und URI u wird auf IS (u) abgebildet: uI = IS (u). rden also (wie in Abschnitt 3.1.3 bereits erw¨ ahnt) ungetypte Lite- Sprachangabe quasi auf sich selbst abgebildet“ und ungetypten ” • Frage: Wann ist eine gegebene mit Sprachangabe werden Paare zugeordnet, welche sich aus dem 6 4. Formale Semantik von RDF(S) I Literal und dem Sprachbezeichner zusammensetzen. Fu getypter Literale werden – von der Zugeh¨ ¨ r die Inter- origkeit zu den Ressourcen n – zuna Interpretation Modell eines Tripels? EXT ¨chst keine speziellen semantischen Forderungen gestellt. Ab- .3 stellt diesen Teil der Definition einer einfachen Interpretation noch hematisch dar. bb. 4.3. Schematische Darstellung einer einfachen Interpretatio Namen Literale URIs Vokabular V Tripel s p Io . ungetypt getypt IL .I IS ² Interpretation I on der Definition der Interpretationsfunktion · fu LV Ressou rcen ¨ r die R Propertys 36 3. Einfache Ontologien in RDF und RDF Schema IR IP usgehend wird diese so erweitert, dass sie jedem grundi Abb. 3.1. Ein einfacher RDF-Graph zur Beschreibung einer Beziehung zwischen diesem Buch und dem Verlagshaus Springer IEXT m, welches keine leeren Knoten enth¨ alt) einen Wahrh Schematische Darstellung einer einfachen Interpretation nen in PDF-Dateien oder als Annotationen im XML-basierten Vektorgrafik- format SVG. I lsch) zuweist: DerSubjekt, • ...wenn Wahrheitswert Prädikats.und eines Objekt p o. Definition der Interpretationsfunktion ·I fu in grundi V ¨ r die RDF-Grundelemente In diesem Kapitel werden wir die Grundlagen von RDF kennenlernen. Dabei .I steht zun¨ achst die Darstellung einfacher Daten im Vordergrund. In den darauf I d wird diese so erweitert, dass sie jedem grundierten Tripel (d.h. ei- ches keine leeren Knoten enth¨ alt) einen Wahrheitswert (wahr oder folgenden Abschnitten behandeln wir verschiedene syntaktische Austauschfor- t genau dannenthalten wahr, sind wennund alleaußerdem: seine Bestandteile s, p un mate fu¨ r RDF und besch¨ aftigen uns mit weitergehenden Fragen beim Einsatz uweist: Der Wahrheitswert s p o.I eines grundierten Tripels s p o. dieses Formats. Im Anschluss betrachten wir einige besondere Ausdrucksmit- dann wahr, wenn alle seine Bestandteile s, p und o im Vokabular V tel, die u ¨ ber das Beschreiben einfacher Daten hinausgehen. RDF wird dazu sind und !sI , oI " ∈ IEXT (pI ). Letztere Bedingung besagt, dass das thalten sind und !s , o " ∈ IEXT (p ). Letztere Beding I I I um die Sprache RDF Schema (RDFS) erweitert, mit der man auch allge- ildet aus den Ressourcen, die den beiden URIs s und o. zugeordnet meine schematische Informationen u ¨ ber einen Datensatz ausdru ¨ cken kann. er Extension der durch die URI p repr¨ asentierten Property liegt. Ist Im gesamten Kapitel erkl¨ aren wir die Bedeutung der vorgestellten Sprachen r Bedingungen verletzt, ist der Wahrheitswert falsch. Abbildung 4.4 intuitiv und anhand von Beispielen. Die offizielle formale Semantik zur kor- 14 Semantik der einfachen Folgerung 96 4.•Formale schematisch: Semantik von RDF(S) Tripel s p o . .I .I .I IR IP oI pI s I IEXT IEXT(pI) 15 Semantik der einfachen Folgerung • ...ups, wir haben die bnodes vergessen! • wird nachgeholt: sei A Funktion, die alle bnodes auf Elemente von IR abbildet • für eine Interpretation I, sei I+A wie I, wobei zusätzlich für jeden bnode b gilt I+A b =A(b) • eine Interpretation I ist nun Modell eines RDF-Graphen G, wenn es ein A gibt, so dass alle Tripel bezüglich I+A wahr werden 16 Einfache Interpretation: Beispiel • gegeben Graph 3.3 Fortgeschrittene G: Ausdrucksmittel 57 4.2 Modelltheoretische Semantik f¨ ur RDF(S) 97 Betrachten wir als Beispiel den Graphen aus Abb. 3.5. Das zugeh¨ orige Voka- bular V besteht aus allen Bezeichnern von Knoten und Kanten des Graphen. und Interpretation I: Abb. 3.5. Darstellung von Hilfsknoten als leere Knoten (Blank Nodes). Eine einfache Interpretation I fu ¨ r dieses Vokabular w¨ are nun gegeben durch: IR Ressourcen = {χ, υ,mit τ, ν, %, ι, 450g} lediglich IS = Daher struktureller Funktion. ex:Chutney ist es oft nicht!→ wich- χ IP tig,=eine {τ,solche ex:gr¨ ν, ι} Ressource global mit Hilfe einer speziellen uneMango !→ υ URI adressieren zu k¨ onnen. RDF bietet fu ¨ r solche F¨ alle die M¨oglichkeit, Knoten ohne ex:hatZutat !→eigene τ LV Bezeichner = {450g} zu generieren – man spricht dann von leeren Knoten (engl. ex:Zutat !→Blankν IEXTNodes = τoder !→ auch {#χ, %$} BNode). ex:Menge !→ ι Ein Beispiel fu ν !→ {#%,¨ r einen υ$} RDF-Graphen mit einem leeren Knoten sehen wir in Abb. 3.5. Im Prinzip wird dadurch die gleiche IL Struktur ist die leere Funktion“, beschrieben wie durch da es ι !→ {#%, 450g$} ” keine getypten den Graphen in Abb. 3.4. Allerdings sagt unser RDF-Dokument nun Literale lediglich, gibt. dass an der Stelle des leeren Knotens eine entsprechende Hilfsressource exis- • ...ist I ein Modell von G? tiert, A Sei nun dreiWie Tripel : _:id1 gibt !→ %URI aber keine , so an, des betrachteten die Bezeichung stellt mit man derenfest, Graphen leerer Knoten“ Hilfe dass zu wahr andeutet, die Interpretation man darauf ist auswertet: verweisen k¨ dies nur fu I +A alle onnte. ¨ r Subjekt- und ” Objektknoten zul¨ assig – Pr¨adikate (also Kanten) mu ¨ ssen immer durch URIs 17 IRals Beispiel Betrachten wir = {χ, den υ, τ, ν, aus Graphen %, ι,Abb.450g} 3.5. Das zugeh¨ IS = orige Voka- bular V besteht aus allen Bezeichnern von Knoten und Kanten des Graphen. Einfache Interpretation: Beispiel Eine einfacheIP = {τ, Interpretation I4.2fν, u ι} ¨ rModelltheoretische dieses Vokabular Semantik f¨ wa ¨re nun gegeben durch: ur RDF(S) 97 3.3 IR LV = {χ, υ, τ, ν, %, = Fortgeschrittene Ausdrucksmittel ι, 450g} {450g} 57 IS = ex:Chutney !→ χ Betrachten wir als Beispiel den Graphen aus Abb. 3.5. Das zugeh¨ orige Voka- IP = {τ, ν, ι} ex:gr¨ bular V besteht aus allen Bezeichnern Knoten und !→ uvonneMango υ des Graphen. Kanten LV = {450g} I EXT = τ → ! {#χ, %$} Eine einfache Interpretation I fu ¨ r dieses Vokabular w¨ ex:hatZutat !→ τ are nun gegeben durch: IR = {χ, υ, τ, ν, %, ι, 450g} IS = ex:Chutney !→ χ I • = τ → ! {#χ, %$} ν → ! IP {#%,= {τ, ν, ι}υ$} ex:Zutat ex:gr¨ → ! ν uneMango !→ υ Abb. 3.5. EXT Darstellung von Hilfsknoten als leere Knoten (Blank Nodes). LV = {450g} ex:Menge ex:hatZutat !→ ι !→ τ I 450g$} L !→ ν ν !→ {#%, υ$} ι → ! I {#%, = τ → ! {#χ, %$} ex:Zutat EXT I ist die leere Funktion“, ex:Menge !→ ι da es ι !→ {#%, 450g$} Ressourcen mit lediglich struktureller Funktion. Daher ist es oft nicht wich-ν !→ {#%, υ$} tig, eine solche Ressource global mit Hilfe einer speziellen URI adressierenι !→ {#%, 450g$} L ”IL ist die ”leere Funktion“, da es zu k¨onnen. RDF bietet fu ¨ r solche F¨alle die M¨ oglichkeit, Knoten ohne eigene keine getypten Literale keine getypten Literalegibt. gibt. Bezeichner zu generieren – man spricht dann von leeren Knoten (engl. Blank Sei nun A : _:id1 !→ %, so stellt man fest, dass die Interpretation I +A alle • wählt Sei nun Nodes oder auch BNode). Ein Beispiel fu Seiman A : _:id1 !→ %, so nun : _:id1 Astellt man fest, %,, so !→dass die Interpretation ¨ r einen RDF-Graphen mit einem leeren Knoten sehen wir in +A alled stellt manI fest, drei Tripel des betrachteten Graphen zu wahr auswertet: drei Tripel des betrachteten Graphen zu wahr auswertet: Abb. 3.5. Im Prinzip wird dadurch die gleiche Struktur beschrieben wie durch dann ergibt sich = #χ, %$ ∈ IEXT (τ )= IEXT (ex:hatZutatI+A ) I+A den Graphen in Abb. 3.4. Allerdings sagt unser RDF-Dokument nun#ex:Chutney , _:id1I+A $ drei Tripel des betrachteten Graphen zu wah dass an der Stelle des leeren Knotens eine entsprechende Hilfsressource lediglich, #_:id1 I+A exis- , ex:gr¨ uneMangoI+A $ = #%, υ$ ∈ IEXT (ν)= IEXT (ex:ZutatI+A ) tiert, gibt aber keine URI an, mit deren Hilfe man darauf verweisen #_:id1 k¨ I+A onnte. , "450g"I+A $ = #%, 450g$ ∈ IEXT (ι) = IEXT (ex:MengeI+A ) #ex:Chutney” , _:id1 $ Wie die Bezeichung leerer Knoten“ I+A = #χ, %$ ∈ I (τ )= I (ex:hatZutat andeutet, ist diesI+Anur fu ¨ r Subjekt- und Also URIs ) wird auch der beschriebene EXT Graph als EXT I+A Ganzes zu wahr ausgewertet. Objektknoten zul¨ assig – Pr¨adikate (also Kanten) mu ¨ ssen immer durch I+A #_:id1 , ex:gr¨ uneMango $= #%, υ$ ∈ I I+A(ν)= I (ex:Zutat ) I+ADamit ist I ein Modell des Graphen (bezu¨glich der einfachen Interpretation). I+A ∈ I (ι)$= I = angegeben werden. EXT EXT I+A Leere Knoten k¨ #ex:Chutney #_:id1 , "450g" $ gen auch im RDF-Graph keinerlei zus¨ = #%, ,450g$ _:id1 onnen nicht global mit einer URI adressiert werden und tra- I+A I+A #χ, %$ ) ∈ (ex:Menge atzliche Information. Dennoch ist es zur EXT EXT I+A I+A I+A = #%,ausgewertet. syntaktischen Serialisierung von RDF notwendig, auch leere Knoten Abb. (lokal) 4.5. Beispiel fu¨r eine Interpretation ansprechen zu k¨ #_:id1 onnen. Grund dafu Also wird auch , ex:gr¨ als Ganzes zu$wahr uneMango υ$ ¨ r ist, dass ein leerer Knoten in beliebig vie- der beschriebene Graph len Tripeln als Subjekt oder Objekt auftauchen darf. Verschiedene Tripel in ∈ ist I Modell • also#_:id1 I+A von G I+A =Interpretation). $ der einfachen #%, 450g$ ∈ 4.2.2bezie- RDF-Interpretationen einem RDF-Dokument mu hen k¨ Damit ist I ein Modell des , "450g" ¨ ssen sich also auf denselben leeren Knoten Graphen (bez u ¨ glich onnen. Deshalb werden leere Knoten durch (Knoten-)IDs bezeichnet: anstelle von rdf:about, rdf:ID oder rdf:resource wird dann rdf:nodeID Einfache Interpretationen behandeln alle im Vokabular vorkommenden URIs gleich, ungeachtet ihres Namensraums und ihrer beabsichtigten Bedeutung. verwendet. In RDF/XML ko ¨nnte Abb. 3.5 z.B. wie folgt dargestellt werden: 18 Einfache Folgerung • Definition der einfachen Interpretation legt (modelltheoretisch) einfache Folgerung für RDF-Graphen fest • Frage: wie lässt sich diese (abstrakt definierte) Semantik im Sinne des automatischen Schlussfolgerns umsetzen • Antwort: Ableitungsregeln 19 harakterisieren. Da alle auftretenden URIs gleich behandelt Einfache Folgerung Frage, ob ein Graph aus einem anderen folgt, anhand simpler rachtungen gekla ¨rt werden, die sich in den beiden folgenden • Ableitungsregeln für einfache Folgerung: widerspiegeln. u a x . se1 u a _:n . u a x . se2 _:n a x . • Bedingung eiden Regeln für Anwendung: darauf geachtet leerer werden, dass _ Knoten :n durch fru¨ here nicht r der Regeln bereits se1 und anderer se2 nicht URIanderen bereits / anderem Literal URIs, leeren zugeordnet ralen zugewiesen worden ist. Eine andere Formulierung der eiden Regeln w¨ are: Man ersetze in einem Graphen einen Teil 20 Einfache Folgerung • Satz: Ein Graph G2 folgt einfach aus einem Graphen G1, wenn G1 mithilfe der Regeln se1 und se2 zu einem Gaphen G1´ ergänzt werden kann, so dass G2 in G1´ enthalten ist. 3.2 Syntax f¨ ur RDF 39 • Bsp.: aus 4.3 Syntaktisches Schlussfolgern mit Ableitungsregeln 107 Abb. 3.2. Ein RDF-Graph mit Literalen zur Beschreibung von Datenwerten folgt ein- soll die Interpretation eines Bezeichners aber oft eindeutig sein und nicht von fach Sonderfunktionen einzelner Anwendungen abh¨ in jedem Kontext dieselbe numerische Interpretation. angen. So hat z.B. die Zahl 42 Datenwerte werden in RDF durch sogenannte Literale dargestellt. Dies sind Abb. 4.6. Darstellung eines Graphen, der einfach aus dem Graphen von Abb. 3.2 folgt reservierte Bezeichner fu ¨ r RDF-Ressourcen eines bestimmten Datentyps. All- gemein wird der Wert eines jeden Literals durch eine Zeichenkette beschrie- 21 Agenda • Motivation • Vorbetrachtungen • einfache Folgerung • RDF-Folgerung • RDFS-Folgerung • Unzulänglichkeiten von RDF(S) 22 einfache Interpretationen Einfache Interpretationen behandeln alle im Vokabular vorkommen RDF-Interpretationen gleich, ungeachtet ihres Namensraums und ihrer RDF-Interpretationen Eine einfache Interpretation wu beabsichtigten B ¨ rde also beispielsweise keinen inhalt RDFS-Interpretationen terschied machen zwischen den URIs http://example.org/verle • ...RDF-Interpretationen sind spezielledie ihm zuge rdf:type. Um nun dem festgelegten RDF-Vokabular Beziehung der Interpretationen Abb. 4.2. deutung zukommen zu lassen, muss 4.2.1 man die Menge der zul¨ assigen einfache Interpretationen, tationen durch zus¨ wobei Sehen atzliche Anforderungen für Einfache Interpretationen wir uns also zuerst die den Begriff der sogenannten einfac on an. Dabeiweiter einschr anken. ¨ URIs des RDF-Vokabulars verwenden wir fu ¨ r die Darstellung von RDF-G Das RDF-Vokabular VRDF besteht aus den folgenden die in Abschnitt 3.2 eingefu URIs: ¨ hrte Turtle-Notation und setzen Konvention folgend – die beiden folgenden Pr¨ afixdefinitionen rdf:type rdf:Property rdf:XMLLiteral rdf:nil rdf:List rdf:Statement rdf:subject rdf:predicate rdf:object rdf:first rdf:rest rdf:Seq rdf:Bag rdf:Alt rdf:_1 rdf:_2 ... Wir erinnern uns an die intuitive Semantik“ fu ¨ r dieses Vokabular: wird verwendet, um einer URI (bzw.gestellt zusätzliche Forderungen werden, ” ihrer Ressource) einen Typ z die die intendierte Semantik der RDF- Bezeichner realisieren: 23 tischen Kriterien dafu ¨ r erfu ¨ llt, im lexikalischen Bereich von rdf:XMLLiteral enthalten zu sein (siehe auch Abschnitt 3.3.1). RDF-Interpretationen Diese Unterscheidung ist fu ¨ r die nachfolgende Definition relevant, da wohlge- formte Literale auf Literalwerte (also Elemente aus LV ) abgebildet werden, nicht wohlgeformte jedoch auf Ressourcen, die keine Literalwerte sind. Eine RDF-Interpretation fu ¨ r ein Vokabular V ist nun eine einfache Interpre- tation fu ¨ r das Vokabular V ∪ VRDF , welche zus¨ atzlich folgende Bedingungen erfu ¨ llt: x ∈ IP genau dann, wenn #x, rdf:PropertyI $ ∈ IEXT (rdf:typeI ). x ist eine Property genau dann, wenn es mit der durch rdf:Property bezeichneten Ressource u ¨ ber die rdf:type-Property verbunden ist (dies fu ¨ hrt auch automatisch dazu, dass fu ¨ r jede RDF-Interpretation IP ⊆ IR gilt). wenn "s "^^rdf:XMLLiteral in V enthalten und s ein wohlgeformtes XML-Literal ist, dann - IL ("s "^^rdf:XMLLiteral) ist der XML-Wert1 von s ; - IL ("s "^^rdf:XMLLiteral) ∈ LV ; - #IL ("s "^^rdf:XMLLiteral), rdf:XMLLiteralI $ ∈ IEXT (rdf:typeI ) 4.2 wenn "s "^^rdf:XMLLiteral Modelltheoretische uin Semantik f¨ V enthalten und s ein nicht wohlgeformtes r RDF(S) 99 XML-Literal ist, dann - IL ("s "^^rdf:XMLLiteral) !∈ LV und 1 Der Wertebereich des rdf:XMLLiteral zugeordneten I Datentyps enth¨ alt I fu ¨ r jede - #I L ("s "^^rdf:XMLLiteral ), rdf:XMLLiteral $ !∈ IEXT (rdf:type ). wohlgeformte XML-Zeichenkette (aus dem lexikalischen Bereich) genau einen soge- 24 4.2 Modelltheoretische Semantik fu ¨r RDF(S) RDF-Interpretationen - I ("s "^^rdf:XMLLiteral) !∈ LV und L - #IL ("s "^^rdf:XMLLiteral), rdf:XMLLiteralI $ !∈ IEXT (rd • zusätzliche Forderung: jede RDF- Zusa¨tzlich zu diesen semantischen Einschra ¨nkungen stellen w Interpretation muss Modell der Interpretationen die Forderung, dass s¨ folgenden, amtliche der nachfolgend „axiomatischen“ Tripel sein: nannt axiomatische RDF-Tripel) als wahr ausgewertet werden rdf:type rdf:type rdf:Property . rdf:subject rdf:type rdf:Property . rdf:predicate rdf:type rdf:Property . rdf:object rdf:type rdf:Property . rdf:first rdf:type rdf:Property . rdf:rest rdf:type rdf:Property . rdf:value rdf:type rdf:Property . rdf:_1 rdf:type rdf:Property . rdf:_2 rdf:type rdf:Property . ... rdf:nil rdf:type rdf:List . 25 lt. Forderung Rechnung zu tragen, mu ¨ ssen die Ableitungsregeln wir nDieeine eine wir Anzahl von Regeln Anzahl von ein, die keine Regeln ein, Vorbedingung die keine werden Vorbedingung Ableitungsregeln fu ¨ r die RDF-Folgerung im Fol- h auchauch glich llt. RDF-Folgerungen jederzeit angewendet jederzeit werden ko angewendet nnen. Diese ¨werden dass die geforderten axiomatischen Tripel fu her, dass die geforderten axiomatischen k o ¨ RegelnDiese Regeln nnen. ¨ r RDF stets Tripel fu¨ r RDF stets en o ¨ nnenwirund eine Anzahl haben daher von Regeln ein, die keine Vorbedingung die Form n k o ¨ nnen und haben daher die Form glich auch jederzeit angewendet werden k¨ onnen. Diese Regeln • automatische rdfax Folgerungen werden wieder her, dass die geforderten axiomatischen Tripel fu ¨ r RDF stets onnen undüber Ableitungsregeln realisiert: u a x en k¨ haben rdfax daher die Form t 4.2.2 aufgefu u a x ¨ hrten axiomatischen RDF-Tripel u a x . man eine Spezialform der Regel se1: jedes axiomatische Tripel „u a x .“ kann nitt 4.2.2 aufgefu ¨ hrten axiomatischen rdfax RDF-Tripel u a x . igt man eine l u. a x Spezialform u a immer der Regel se1:abgeleitet werden lg u a _:n . hnitt 4.2.2 aufgefuu ¨ hrten a l .axiomatischen LiteralsRDF-Tripel x . anderweitig u anicht dürfen durch erumman tigt dieselbe eineRestriktion Spezialform ¨lg wie der fu r die Regel Regel se1 Anwen- se1: u a _:n . gebundene bnodes ersetzt werden gsregel chlussfolgern mit Ableitungsregeln 109 iederum dieselbe a l . uRestriktion wie u a y . lg fürfu r die Tripelprädikat ¨jedes Regel se1 Anwen- kann abgeleitet u r ajede URI, die in u a einem_:n . rdf1als Pr¨ Graphen adikat dass Verwen- ¨ungsregel rdf:type rdf:Property . werden es eine Entität aus der itet werden kann, dass sie vom Typ (ausgedru ¨ ckt durch wiederum dieselbe Restriktion Klasse wie f u ¨ r derRegel die Properties se1 ist Anwen- ion) rdf:Propertyuist. a y . tungsregel rdf1 a rdf:type u a l . rdf:Property wobei . _:n dem wohlgeformten rdf2 _:n rdf:type rdf:XMLLiteral u a y . XML-Literal l zugewiesen wurde 26 RDF-Folgerung • Satz: Ein Graph G2 RDF-folgt aus einem Graphen G1, wenn es einen Graphen G1´ gibt, so dass - G1´ aus G1 via lg, rdf1, rdf2 und rdfax hergeleitet werden kann und - G2 aus G1´ einfach folgt. • Beachte: zweistufiger Folgerungsprozess. 27 Agenda • Motivation • Vorbetrachtungen • einfache Folgerung • RDF-Folgerung • RDFS-Folgerung • Unzulänglichkeiten von RDF(S) 28 zu rdf:Property) neue Klassenbezeichner eingefu ¨ hrt, die es (via rdf: einfache Interpretationen ermo¨glichen, eine URI explizit als Repra ¨sentant fu ¨ r eine Ressource, al RDFS-Interpretationen RDF-Interpretationen getyptes Literal oder selbst als Klassenbezeichner zu kennzeichnen. RDFS-Interpretationen Property-URIs erm¨ oglichen wiederum, den Gegenstands- und Wertebe von Propertys durch Klassenbezeichner zu charakterisieren sowie Klassen • ...RDFS-Interpretationen sind spezielle Propertybezeichner zueinander in hierarchische Abb. 4.2. BeziehungBeziehung der Interpretationen zu setzen, w es m¨oglich wird, Schema- bzw. terminologisches Wissen in Form von Tr RDF-Interpretationen, auszudru ¨ cken. wobei für Sehen wir uns die 4.2.1 Einfache Interpretationen also zuerst URIs den Begriff der sogenannten einfac des RDFS-Vokabulars on an. Dabei verwenden wir fu ¨ r die Darstellung von RDF-G Das speziell die in Abschnitt 3.2 V zu interpretierende RDFS-Vokabular RDFS eingef u besteht und ¨ hrte Turtle-Notation aussetzen fo Konvention folgend – die beiden folgenden Pr¨ afixdefinitionen den 100 Bezeichnern: 4. Formale Semantik von RDF(S) rdfs:domain rdfs:range rdfs:Resource rdfs:Literal rdfs:Datatype rdfs:Class rdfs:subClassOf rdfs:subPropertyOf rdfs:member rdfs:Container rdfs:ContainerMembershipProperty rdfs:comment rdfs:seeAlso rdfs:isDefinedBy rdfs:label Aus Gru¨ nden der einfacheren Darstellung fu ¨ hren wir fu ¨ r eine gegebene R zusätzliche Interpretation die Forderungen Funktion ICEXT ein, gestellt die Ressourcenwerden, auf Mengen von die die intendierte sourcen abbildet (also: I CEXT Semantik : IR → 2 IR derenthalte ). Dabei RDF-ICEXT(y) gena Elemente x, fu¨ r die "x, y# in IEXT (I(rdf:type)) enthalten ist. ICEXT (y) Bezeichner realisieren: man auch die (Klassen-)Extension von y . Weiterhin definieren wir IC a Extension der speziellen URI rdfs:Class, also: IC = ICEXT (rdfs:Cla Man bemerke, dass sowohl ICEXT als auch IC durch ·I sowie IEXT b 29 Elemente x, fu¨ r die "x, y# in IEXT (I(rdf:type)) enthalten ist. ICEXT (y) nennt man auch die (Klassen-)Extension von y . Weiterhin definieren wir IC als die Extension der speziellen URI rdfs:Class, also: IC = ICEXT (rdfs:ClassI ). RDFS-Interpretationen Man bemerke, dass sowohl ICEXT als auch IC durch ·I sowie IEXT bereits eindeutig festgelegt sind. Wir verwenden die neu eingefu ¨ hrte Funktion zur Definition der semantischen Anforderungen an eine RDFS-Interpretation: Eine RDFS-Interpretation fu ¨ r ein Vokabular V ist eine RDF-Interpretation des Vokabulars V ∪ VRDFS , welche zus¨ atzlich die folgenden Kriterien erfu ¨ llt: IR = ICEXT (rdfs:ResourceI ) Jede Ressource ist vom Typ rdfs:Resource. LV = ICEXT (rdfs:LiteralI ) Jedes ungetypte und jedes wohlgeformte getypte Literal ist vom Typ rdfs:Literal. Wenn "x, y# ∈ IEXT (rdfs:domainI ) und "u, v# ∈ IEXT (x), dann u ∈ ICEXT (y). Ist x mit y durch die Property rdfs:domain verbunden und verbindet die Property x die Ressourcen u und v , dann ist u vom Typ y . Wenn "x, y# ∈ IEXT (rdfs:rangeI ) und "u, v# ∈ IEXT (x), dann v ∈ ICEXT (y). Ist x mit y durch die Property rdfs:range verbunden und verbindet die Property x die Ressourcen u und v , dann ist v vom Typ y . IEXT (rdfs:subPropertyOfI ) ist reflexiv und transitiv auf IP . Die rdfs:subPropertyOf-Property verbindet jede Property mit sich selbst. Daru ¨ ber hinaus gilt: Verbindet rdfs:subPropertyOf die Property x mit Property y und außerdem y mit der Property z , so verbindet rdfs:subPropertyOf auch x direkt mit z . 30 EXT Die rdfs:subPropertyOf-Property verbindet jede Property mit sich selbst. RDFS-Interpretationen Daru¨ ber hinaus gilt: Verbindet rdfs:subPropertyOf die Property x mit Property y und außerdem y mit der Property z , so verbindet rdfs:subPropertyOf auch x direkt mit z . Wenn "x, y# ∈ IEXT (rdfs:subPropertyOfI ), dann x, y ∈ IP und IEXT (x) ⊆ IEXT (y). Wird x mit y durch rdfs:subPropertyOf verbunden, dann sind sowohl x als auch y Propertys und jedes in der Extension von x enthaltene Ressourcenpaar ist auch in der Extension von y enthalten. 4.2Wenn x ∈ IC , Modelltheoretische Semantik f¨ ur RDF(S) 101 dann "x, rdfs:Resource I # ∈ IEXT (rdfs:subClassOf I ). Bezeichnet x eine Klasse, dann muss es eine Unterklasse der Klasse aller Ressourcen sein, d.h., das Paar aus x und rdfs:Resource ist in der Extension von rdfs:subClassOf. Wenn !x, y" ∈ IEXT (rdfs:subClassOfI ), dann x, y ∈ IC und ICEXT (x) ⊆ ICEXT (y). Stehen x und y in der rdfs:subClassOf-Beziehung, sind sowohl x als auch y Klassen und die (Klassen-)Extension von x ist Teilmenge der (Klassen-)Extension von y . IEXT (rdfs:subClassOfI ) ist reflexiv und transitiv auf IC . Die rdfs:subClassOf-Property verbindet jede Klasse mit sich selbst. Daru ¨ ber hinaus folgt, wann immer diese Property Klasse x mit Klasse y und Klasse y mit Klasse z verbindet, dass sie x auch direkt mit z verbindet. Wenn x ∈ ICEXT (rdfs:ContainerMembershipProperty I ), 31 (Klassen-)Extension von y . IEXT (rdfs:subClassOfI ) ist reflexiv und transitiv auf IC . RDFS-Interpretationen Die rdfs:subClassOf-Property verbindet jede Klasse mit sich selbst. Daru ¨ ber hinaus folgt, wann immer diese Property Klasse x mit Klasse y und Klasse y mit Klasse z verbindet, dass sie x auch direkt mit z verbindet. Wenn x ∈ ICEXT (rdfs:ContainerMembershipProperty I ), dann !x, rdfs:memberI " ∈ IEXT (rdfs:subPropertyOfI ). Ist x eine Property vom Typ rdfs:ContainerMembershipProperty, so steht sie in der rdfs:subPropertyOf-Beziehung zur rdfs:member- Property. Wenn x ∈ ICEXT (rdfs:DatatypeI ), dann !x, rdfs:LiteralI " ∈ IEXT (rdfs:subClassOf I ) Ist ein x als Element der Klasse rdfs:Datatype getypt“, dann muss ” dieses auch eine Unterklasse der Klasse aller Literalwerte (bezeichnet mit rdfs:Literal) sein. Ganz analog zur Definition der RDF-Interpretationen legen wir außerdem eine Menge von Tripeln fest, die eine RDF-Interpretation erfu ¨ llen muss, um • ...dazu kommen dann noch jede Menge als RDFS-Interpretation zu gelten: weitere rdf:type axiomatische rdfs:domain Tripel: rdfs:Resource . rdfs:domain rdfs:domain rdf:Property . rdfs:range rdfs:domain rdf:Property . rdfs:subPropertyOf rdfs:domain rdf:Property . rdfs:subClassOf rdfs:domain rdfs:Class . rdf:subject rdfs:domain rdf:Statement . 32 Ist ein x als Element der Klasse rdfs:Datatype getypt“, dann muss rdfs:member rdfs:range rdfs:Resource . ” rdf:first rdfs:range rdfs:Resource . dieses auch eine Unterklasse der Klasse aller Literalwerte (bezeichnet mit rdfs:Literal) sein. rdf:rest rdfs:range rdf:List . RDFS-Interpretationen rdfs:seeAlso rdfs:range rdfs:Resource . rdfs:isDefinedBy rdfs:range rdfs:Resource . Ganz analog zur Definition der RDF-Interpretationen legen wir außerdem rdfs:comment rdfs:range rdfs:Literal . eine Menge von Tripeln fest, die eine RDF-Interpretation erfu ¨ llen muss, um rdfs:label rdfs:range rdfs:Literal . als RDFS-Interpretation zu gelten: rdf:value rdfs:range rdfs:Resource . rdf:type rdfs:domain rdfs:Resource . rdfs:ContainerMembershipProperty rdfs:domain rdfs:domain rdf:Property . rdfs:subClassOf rdf:Property . rdfs:range rdfs:domain rdf:Property . rdf:Alt rdfs:subClassOf rdfs:Container . rdfs:subPropertyOf rdfs:domain rdf:Property . rdf:Bag rdfs:subClassOf rdfs:Container . rdfs:subClassOf rdfs:domain rdfs:Class . rdf:Seq rdfs:subClassOf rdfs:Container . rdf:subject rdfs:domain rdf:Statement . rdf:predicate rdfs:domain rdf:Statement . rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso . rdf:object rdfs:domain rdf:Statement . rdfs:member rdfs:domain rdfs:Resource . rdf:XMLLiteral rdf:type rdfs:Datatype . rdf:first rdfs:domain rdf:List . rdf:XMLLiteral rdfs:subClassOf rdfs:Literal . rdf:rest 102 4. Formale Semantikrdfs:domain von RDF(S) rdf:List . rdfs:Datatype rdfs:subClassOf rdfs:Class . rdfs:seeAlso rdfs:domain rdfs:Resource . rdfs:isDefinedBy rdfs:domain rdfs:Resource . rdf:_1 rdf:type rdfs:comment rdfs:domain rdfs:Resource . rdfs:ContainerMembershipProperty . rdfs:label rdfs:domain rdfs:Resource . rdf:_1 rdfs:domain rdfs:Resource . rdf:value rdfs:domain rdfs:Resource . rdf:_1 rdfs:range rdfs:Resource . rdf:_2 rdf:type rdf:type rdfs:range rdfs:Class . 4.2 Modelltheoretische Semantik f¨ ur RDF(S) rdfs:ContainerMembershipProperty . rdfs:domain rdfs:range rdfs:Class . rdf:_2 rdfs:domain rdfs:Resource . rdfs:range rdfs:range rdfs:Class . rdf:_2 rdfs:range rdfs:Resource . rdfs:subPropertyOf rdfs:range rdf:Property . ... rdfs:subClassOf rdfs:range rdfs:Class . Offensichtlich sind die axiomatischen RDFS-Tripel in mehrere Grup rdf:subject rdfs:range rdfs:Resource . geteilt. Die erste Gruppe enth¨ alt nur Tripel mit rdfs:domain als P rdf:predicate rdfs:range rdfs:Resource . Deklarativer Zweck“ eines solchen Tripels p rdfs:domain c ist es, d rdf:object rdfs:range rdfs:Resource . ” die URI p mit einem Klassenbezeichner c verknu ¨ pft. Dadurch wird rdfs:member rdfs:range rdfs:Resource . geh¨origkeit zu dieser Klasse (vermittelt durch rdf:type) dann jede rdf:first rdfs:range rdfs:Resource . aufgezwungen“, die als Subjekt gemeinsam mit dem Pra ¨dikat p rdf:rest rdfs:range rdf:List . ” Tripel s p o . auftritt. rdfs:seeAlso rdfs:range rdfs:Resource . So sagt beispielsweise das fu ¨ nfte Tripel in dieser Auflistung nichts rdfs:isDefinedBy rdfs:range rdfs:Resource . als dass, wann immer ein Tripel c rdfs:subclassOf d auftritt (we rdfs:comment rdfs:range rdfs:Literal . kanntlich aussagt, dass c Unterklasse von d ist), sofort folgt, dass c a rdfs:label rdfs:range rdfs:Literal . Klasse ist, ausgedru¨ ckt durch das Tripel c rdf:type rdfs:Class. rdf:value rdfs:range rdfs:Resource . Analog dazu bewirken die in der zweiten Gruppe zusammengefasst 33 sondert verkn in eineru ¨ pftAbleitungsregel sind. verankertstehen,werden,auch da dies aus den Oberproperty anderen die 112 u ¨ ber eine 4. Formale Property Semantik invonBeziehung RDF(S) durch deren s die Ableitung in zweiDass Teileauch zerlegt jedes wird: PrBei Ableitungsregeln verkn adikat ¨ u¨der eine pft sind. folgt: Ressource bezeichnet, muss nicht noch ge- a rdfs:subPropertyOf b . u a y . sondert die im Satz genannten Regeln (nicht jedoch in einer Ableitungsregelse1 verankert werden, da dies aus den anderenrdfs7 4.3 deren Syntaktisches Schlussfolgern mit Ableitungsregeln RDFS-Folgerung Ableitungsregeln die folgt: 112 u ¨ ber eine 4. Property Formale in Semantik Beziehung u von a xRDF(S)u b stehen, y . auch durch Oberproperty ! a rdfs:subPropertyOf b . rdf1u a y . n Graphen G1 abzuleiten und erst dannverkn kommen u rdfs7 ¨ pft sind. a rdf:type rdf:Property aber auch nur diese) zum Einsatz, um die einfache Mit dieser Regel lassen sich Subproperty-Angaben u b y . (die man ja als eine Art rdfs4a Schließlich mantik von RDF(S) u aa rdf:type x rdfs:Resource gestattet die Regel rdfs11 die ableitungstechnische Ausn die Makros u ¨ ber sehen eine Property kann) aufin Beziehung konkrete a rdfs:subPropertyOf b . rdf1 stehen, Tripel auch anwenden durch u a y der (alsoderen . Transitivit Oberproperty quasi das Makro Mit adieser rdf:type Regel lassen sich rdf:Property Subproperty-Angaben (die man rdfs7 ja als aeine ¨ t derArtrdfs:subClassOf-Property. verkn ausfu ¨u pft sind. ¨hren“). rdfs4a u b y . teralen ” a rdf:type Makros sehen kann) auf konkrete rdfs:Resource Tripel anwenden (also quasi das Makro RDFS-Folgerung Eine beispielhafte Anwendung dieser Regel w¨ are: 4.3 Syntaktisches Schlussfolgern mit Ableitungsregeln ausfdieser Mit u¨ hren“). Regel a rdfs:subPropertyOf lassen sich Subproperty-Angabenb . u a(dieContainer y .man ja als eine Art lt u¨ ber die RDF-Sprachmittel u a _:n . hinaus ”noch wei- Die rdfs7 Regel weist die rdfs:member-Property als Oberproperty Eine beispielhafte Unterpropertys Makros sehen kann) Anwendung auf konkrete dieser b Regel u Tripel w¨ y . anwendenare: (alsofolgende quasi das Makro • automatische Folgerungen werden wieder gl ielle Interpretation mantik von RDF(S) u a lgefordert . ist. Dies macht die Schließlich der gestattet die Regel rdfs11 die ableitungstechnische rdfs:ContainerMembershipProperty-Klasse enthaltenen PropertyAusn In denausf n¨ achsten u¨ hren“). beiden Ableitungsregeln wird sichergestellt, dass die fu ¨ r je- ihe weiterer Ableitungsregeln Unterpropertys n¨otig: ” Mit dieser Regel lassen sich Subproperty-Angaben (die man der Transitivit ja als eine Art at der rdfs:subClassOf-Property. ¨ ren Knoten bezeichnet, der dem Literalde RDFS-Interpretation Eine durch lMakros eine mutterVon beispielhafte fru geforderten -Anwendung ¨kann) Eigenschaften rdfs:subPropertyOf dieser Regel von vorfahrVon wanwenden a ¨ re: . rdfs:subPropertyOf, sehen auf konkrete Tripel (also quasi das u rdf:type Makrordfs:ContainerMembershipProperty . über Ableitungsregeln realisiert: teralen er Regel lg zugewiesenInwurde. den n¨ achsten n¨amlich beiden ausf Ableitungsregeln Transitivit u ¨ hren“). at (rdfs5)Heidrun ¨ mutterVon wird und sichergestellt, Reflexivit mutterVon rdfs:subPropertyOf at (rdfs6) ¨ dass Sebastian die.fu vorfahrVon ¨ r je- ableitungstechnisch . rdfs7 ” zu- u rdfs:subPropertyOf rdfs:member . rdfs12 de RDFS-Interpretation greifbar“” sind. geforderten Eigenschaften Heidrun vorfahrVon Sebastian .Container von rdfs:subPropertyOf, u a ng sollen alle uaxiomatischen _:n . Eine beispielhafteHeidrun Anwendung dieser Regel w¨ are: gl Tripel bedingungslos mutterVon Sebastian . Diezu- folgende a l . na ¨mlich Transitivit rdfs1 a ¨t (rdfs5) und Reflexivit a ¨t (rdfs6) ableitungstechnisch ” rdfs7 Regel weist die rdfs:member-Property als Oberproperty mantik wir_:n von RDF(S) die rdf:type Regel u a l . u rdfs:subPropertyOf mutterVon Heidrunv .vorfahrVon rdfs:subPropertyOf Sebastian v rdfs:subPropertyOf vorfahrVon. der . x .rdfs:ContainerMembershipProperty-Klasse enthaltenen Property greifbar“.sind. rdfs:Literal Literale rdfs5 ren Knoten bezeichnet, der dem Literal l durch eine fruu Heidrun mutterVon Sebastian ¨ - rdfs:subPropertyOf x . . RDF(S) ptes eralen Literal darstellt (mit oder ohne Sprach-Tag) und _:n Schließlich rdfs7uerlaubt rdf:type die rdfs:ContainerMembershipProperty letzte Regel, u¨ ber jede als Datentyp.identifizier rdfsax u rdfs:subPropertyOf Unterklassen v . Heidrun v rdfs:subPropertyOf vorfahrVon x . Sebastian . er Regel lg zugewiesen wurde. rdfs5 source. (die ja mit rdfs12 d u ihrem Wertebereich identifiziert rdfs:memberwird) abzuleiten, u algx Dieseleeren Ableitungsregel mutterVon vermitteltrdfs:subPropertyOf die Transitivit¨ at der vorfahrVon rdfs:SubPropertyOf- durch dem Literal l zugewiesenen Knoten u steht. rdfs:subPropertyOf x . rdfs:subPropertyOf . u von a _:n . Property. Die semantischen Eigenschaften Heidrun mutterVon der subClassOf-Property Sebastian . eine Unterklasse werden durch die aller Literalwerte ist. tufgef das uAbleiten u a l. Existenzaussagen gl RDFS-Tripel u ¨ ber Literale. Unterklassen rdfs7 ¨ hrten axiomatischen u a l .Diese Ableitungsregel 112 u a x nachfolgenden 4. Formale . Semantik Regeln vermittelt die Transitivit rdfs1 Die semantischen von realisiert. RDF(S) at der rdfs:SubPropertyOf- ¨ Heidrun vorfahrVon Sebastian . ch_:nallerdf:type durch rdfs:Literal diese Tripel . spezifizierten Bereichs- Eigenschaften der subClassOf-Property werden durch die u rdf:type rdfs:Datatype . u a _:n . Property. u rdf:type rdf:Property . Literale Property-Einschr¨ ren uKnoten gla nkungen bezeichnet, der dem Literal nachfolgenden Unterklassen l durch eine Regeln fru realisiert. u rdf:type rdfs:Class . rdfs6 rdfs13 lt. a l . die u ¨ ber eine Property ¨u- in Beziehung rdfs:subPropertyOf stehen, u auch . durch deren Oberproperty rdfs8 u rdfs:subClassOf rdfs:Literal . ptes Literal darstellt (mit oder ohne Sprach-Tag) und _:n u rdfs:subClassOf rdfs:ResourceSchließlich erlaubt die letzte Regel, u ¨ ber jede als Datentyp identifizier er Regel lg zugewiesen wurde. verkn Die u pft semantischen u rdf:type sind. ¨ Knoten steht. Eigenschaften rdf:Property . der subClassOf-Property . werden durch die rdfs:domain adurch lg dem Literal . l Literal x dem u a y l. durch zugewiesenen Dies leeren rdf:type u die rdfs6 rdfs:Class source (die ja mit ihrem Wertebereich identifiziert wird) abzuleiten, d . rdfs:SubPropertyOf- en bezeichnet, der rdfs2erm eine¨ oglicht fru nachfolgenden - Ableitungen, ¨rdfs:subPropertyOf Regeln realisiert.die Reflexivit at der ¨ rdfs8wir nun allgemein formulieren k¨ Bevor Literalwerte ist. onnen, wie die RDFS-Folgerung u Unterklassen Vermittels dieser Regel u kann fu . r dass jeden Klassenbezeichner geschlussfolgert tg das Ableiten u zugewiesen wurde.u von rdf:type a l Existenzaussagen . x . u¨ Property ber Literale. ausnutzen a (d.h.u rdfs:subClassOf die rdfs:subPropertyOfTatsache, ¨ b . rdfs:Resource jede uProperty a y . .eine Unterklasse Unterproperty vonallerwer- rdfs1 Die semantischen Ableitungsregeln charakterisiert werden kann, mu ¨ ssen wir noch auf eine _:n rdf:type Dies erm.o rdfs:Literal ¨ glicht sich den,ist). Ableitungen, selbst dass die diedurch die Eigenschaften ihn bezeichnete Reflexivit u rdf:type a ¨ t derder subClassOf-Property Klasse Unterklasse rdfs:SubPropertyOf- rdfs:Class . rdfs7 der werden durch Klasse aller die Res- pitel beschrieben, verwendet man rdfs:domain Vermittels nachfolgenden umdieser festzu- Regel kann Regeln u fu¨ r yjeden b realisiert. . Klassenbezeichner geschlussfolgert rdfs8 derfall eingehen. Istwer- ein u rdf:type Graph G inkonsistent gegebenerrdfs:Datatype . (d.h., es gibt ke u a l. Property-Einschr¨ ankungenProperty ausnutzen Die dritte sourcen (d.h. die ist. Tatsache, Ableitungsregel, u dass die jede sich rdfs:subClassOfaufProperty Unterproperty rdfs:Resource rdfs:subPropertyOf . von bezieht, charak- rdfs13 bestimmte chlussfolgern ptes Literal Property nurrdfs1 mit Ableitungsregeln darstellt fu¨ r Elemente einerdass den, spezifizierten die durch _111 ihn bezeichnete Klasse Unterklasse der KlasseIaller terpretation , Art fu Res- ¨ ru die G = wahr gilt), I so folgt aus .ihm jeder beliebige :type rdfs:Literal .(mit sich oder selbstohne Mit ist). Sprach-Tag) terisiert dieser deren Regel und lassen definierende :n sich Subproperty-Angaben Eigenschaft, n a ¨ mlich, dass (die man alle ja als Ressourcenpaare, eine rdfs:subClassOf rdfs:Literal es a nun durch eindem lg rdfs:domain Tripel x gibt, Literal . l welches u a y diese zugewiesenen Property sourcen Vermittels leeren als Knoten ist.Pr asteht. ¨ dieserdikat u Regel u rdf:type kann rdfs:subClassOf fu ¨ rTripel jeden x rdfs:Class Klassenbezeichner . . v rdf:type (wie ugeschlussfolgert . man wer- an der modelltheoretischen Semantikdefinition leicht nachvol Die dritte .Ableitungsregel, Makros rdfs2 sehen kann) die sichauf auf konkrete rdfs:subPropertyOf anwenden bezieht, (also quasi charak- rdfs8 das rdfs9Makro usal urcegefolgert dasdarstellt Ableiten werden, (mit von u rdf:type oder dass xohne das Existenzaussagen Subjekt . Sprach-Tag) uin dieser und den, ¨ ber dass Klasse _:n die durch uihn Literale. liegt. rdfs:subClassOf bezeichnete v rdf:type rdfs:Resource Klasse x Unterklasse . . der Klasse Bevor kann). wir nunaller Im Gegensatzallgemein Res- formulieren zu anderen k¨ Logikenonnen, (wie wie Pr¨ die RDFS-Folgerung adikatenlogik (siehe A terisiert deren ausf u ¨ hren“). definierende Eigenschaft, u n rdfs:subClassOfa ¨ mlich, dass x . alle v Ressourcenpaare, rdf:type u . ung dem wird durch Literal tungsregeln die sicher, Regel rdfs2 zugewiesenen lstellen leeren dass jede ” URI, realisiert. Knoten sourcensteht. die in ist. einem Tri- Regel kann Ableitungsregeln A) oder rdfs9auch OWL, charakterisiert das wir in denwerden kann, mu nachfolgenden ¨ ssen wir noch Kapiteln auf eine behandel pitel beschrieben, verwendet man Eine rdfs:domainbeispielhafte Vermittels Diese Regel um Anwendung erlaubt, diedieser dieser festzu- v fu¨ rRegel jedenw Information, rdf:type x adass re: Klassenbezeichner ¨ . eine Ressource geschlussfolgert in einer Klasse wer- iten von Existenzaussagen u ¨ ber Literale. derfall es jedoch eingehen. in RDFS Ist ein gegebener Graph G inkonsistent (d.h., es gibt ke (syntaktisch) Property-Einschr¨ a rdfs:range als bestimmte Property nur fux . Bezeichner ankungen u a v einer . ¨ r Elemente Ressource den, enthalten einer identifiziert dass die ist, spezifizierten u durch auf ihn Oberklasse deren rdfs:subClassOf bezeichnetex . Klasse zu v Unterklasse vererben“. rdf:type u . der Klasse allernur Res-sehr eingeschr ankte ¨ M¨oglichkeiten, Inkonsisten ird festgelegt, dass jedes Subjekt rdfs3 und Diesejedes Regel Objekt erlaubt, (das die Information, dass ” eine Ressource terpretation erzeugen. I , fu in einer rdfs9 r die G = wahr gilt), so folgt aus ihm jeder beliebige ¨Klasse I es nun einv Tripel rdf:type gibt, x welches . diese Property sourcen als ist.¨ Pr a dikat v rdf:type vererben“. x . a rdfs:domain Einschr¨ plizit alsankungen x . Ressourcenbezeichner . u a y identifiziert enthaltenwerden ist,kann. auf deren Oberklasse u rdf:type zu rdfs:Class . (wie man an der modelltheoretischen Semantikdefinition leicht nachvol us gefolgert werden, dass das Subjekt rdfs2 in dieser Klasse liegt. ” rdfs10 rdfs:range u rdf:type verwendet, x .um Klassenzugeh¨ origkeit mutterVon vonerlaubt, Wer- rdfs:subPropertyOf u rdfs:subClassOf vorfahrVon x . dass urdf:type v eine . kann). u . Im Gegensatz zu anderen Logiken (wie Pr¨ adikatenlogik (siehe A omain x . u a y . Diese Regel die uInformation, rdfs:subClassOf . Ressource Als Beispiel in einer rdfs9 fu Klasse ¨ r eine solche Inkonsistenz betrachten wir die beiden fol ung wird durch u a die x . Regel rdfs2 realisiert. u rdf:type rdfs:Class . festzulegen, pitel beschrieben,was entsprechende verwendet rdfs2 manSchlussfolgerungen rdfs4a enthalten rdfs:domain um ist,fu rHeidrun ¨auf festzu- ein deren mutterVon Sebastian v rdf:type Oberklasse x . . rdfs10 zu vererben“. A) oder auch OWL, das wir in den nachfolgenden Kapiteln behandel rdfs7 Tripel: rdf:type u rdf:type x . rdfs:Resource . Hiermit kannHeidrun abgeleitet u werden, rdfs:subClassOfdass ” jede u Klasse . Unterklasse von sich selbst rechenden bestimmte a rdfs:range Tripels x .gestattet Property nuru fu ¨ar(Regel. rdfs3). vElemente einer spezifizierten vorfahrVon Sebastian . es jedoch in RDFS nur sehr eingeschra ¨nkte Mo ¨glichkeiten, Inkonsisten rdfs3 Diese ist. Regel erlaubt, die Information, u rdf:type rdfs:Class . dass eine Ressource in ex:hatSmiley einer Klasse rdfs:range rdf:Literal . hrieben, es nun ein verwendet v Tripel rdf:type man gibt, .rdfs:domain x welches um diese Property festzu- Hiermit als kannPr a ¨ abgeleitet dikat werden, dass jede Klasse rdfs10erzeugen. Unterklasse von sich selbst enthalten ist, auf deren Oberklasse zu vererben“. u rdfs:subClassOf u . ex:b¨ oseBemerkung ex:hatSmiley ">:->"^^XMLLiteral . es Property nur u a fu gefolgert werden, ¨vr .Elemente dass das Subjekt einer spezifizierten in ist. dieser Klasse u liegt. rdfs:subClassOf v . v ”rdfs:subClassOf x . dfs:range verwendet, umProperty rdfs4b ¨ Klassenzugeh origkeit von Wer- rdfs11 Tripel gibt, welches diese als Hiermit Pr adikatkann ¨ Darin v rdf:type festzulegen, rdfs:Resource ung wird durch die Regel rdfs2 realisiert. was entsprechende . Schlussfolgerungen f u abgeleitet uwerden, r ein u rdf:type dassrdfs:Class rdfs:subClassOf jede Klasse Als Beispieleinerseits x .. Unterklasse rdfs10 wirdvon fsich u ¨ r eineselbstausgesagt, solche dass als betrachten Inkonsistenz Werte der wirhatSmiley-Proper die beiden fol t werden, dass das Subjekt in dieserUnterklassen Klasseist. liegt. ¨ u rdfs:subClassOf v . v rdfs:subClassOf u rdfs:subClassOf u . x . Literalwerte Tripel: rdfs11 (d.h. Elemente von LV ) zula ¨ssig sind, andererseits wird rechenden a rdfs:range durch Tripels die Regelxrdfs2 gestattet . realisiert. u a v . (Regel rdfs3). Die semantischen Eigenschaften der subClassOf-Property u rdfs:subClassOf x . werden durch die Property in einem konkreten Tripel ein (aufgrund der Zeichen >“ oh rdfs3 ” 34 kann). Im Gegensatz zu anderen Logiken (wie Pr¨adikatenlogik (siehe Anhang A) oder auch OWL, das wir in den nachfolgenden Kapiteln behandeln) gibt RDFS-Folgerung es jedoch in RDFS nur sehr eingeschr¨ erzeugen. ankte M¨oglichkeiten, Inkonsistenzen zu • wichtige Definition: XML-Clash Als Beispiel fu ¨ r eine solche Inkonsistenz betrachten wir die beiden folgenden Tripel: ex:hatSmiley rdfs:range rdf:Literal . ex:b¨ oseBemerkung ex:hatSmiley ">:->"^^XMLLiteral . Darin wird einerseits ausgesagt, dass als Werte der hatSmiley-Property nur Literalwerte (d.h. Elemente von LV ) zula ¨ssig sind, andererseits wird dieser • tritt auf, wenn einem Knoten vom Typ Property in einem konkreten Tripel ein (aufgrund der Zeichen >“ ohne o ¨ff- ” rdf:Literal ein nicht-wohlgeformter nende Gegenstu ¨ cke) nicht wohlgeformtes Literal zugeordnet, welches defini- tionsgem¨aß nicht als Literalwert interpretiert werden darf. Folglich kann es Literalwert zugewiesen werden muss. keine RDFS-Interpretation geben, die beide Tripel als wahr auswertet. 35 RDFS-Folgerung • Satz: Ein Graph RDFS-folgt aus G1 genau dann, wenn es einen Graphen G1′ gibt, der durch Anwendung der Regeln lg, gl, rdfax, rdf1, rdf2, rdfs1 – rdfs13 und rdfsax aus G1 folgt, so dass - G2 aus G1′ einfach folgt oder - G1′ einen XML-Clash enthält. 36 Agenda • Motivation • Vorbetrachtungen • einfache Folgerung • RDF-Folgerung • RDFS-Folgerung • Unzulänglichkeiten von RDF(S) 37 Entwicklung von RDF(S) unterstu ¨ tzender Software erleichtert. Dah Entwicklung von RDF(S) unterstu ¨ tzender Software erleichtert. Dah Was kann RDF(S) nicht? sinnvoller, den Standard als Minimalanforderung fu ¨ r entsprechende R sinnvoller, den Standard als Minimalanforderung fu ¨ r entsprechende R kompatible Systeme zu definieren; natu ¨ rlich ist es denkbar, dass be kompatible Systeme zu definieren; natu ¨ rlich ist es denkbar, dass be Systeme optional zus¨atzlich eine striktere Semantik unterstu ¨ tzen. Systeme optional zus¨atzlich eine striktere Semantik unterstu ¨ tzen. • bestimmte (vernünftig) scheinende Ein Beispiel fu ¨ r eine m¨ ogliche Schlussfolgerung, die sinnvoll erscheint Folgerungen Ein Beispiel in der ¨ r einekönnen fu m¨ Standard-Semantikogliche nichtnicht RDFS-gefolgert Schlussfolgerung, vorgesehen die ist, w¨resinnvoll a erscheintd beispielsweise, werden, in dender z.B. Standard-Semantik nicht vorgesehen ist, w¨ Tripeln den Tripeln are beispielsweise, d ex:sprichtMit rdfs:domain ex:Homo . ex:sprichtMit ex:Homo rdfs:domain rdfs:subClassOf ex:Homo . ex:Primates . ex:Homo rdfs:subClassOf ex:Primates . die Gu ¨ ltigkeit des folgenden Tripels geschlussfolgert werden kann: impliziert die Gu ¨ ltigkeit des folgenden Tripels geschlussfolgert werden kann: ex:sprichtMit rdfs:domain ex:Primates . ex:sprichtMit rdfs:domain ex:Primates . • mögliche Ungeachtet der Lösung: noch Frage, ob nun stärkere, die intensionale oder die extensionale Ungeachtet der Frage, ob nun die intensionale oder die extensionale tik Anwendung findet, gibt es grunds¨ atzliche Einschr¨ ankungen der M „extensionale“, rungsfa ¨ higkeit von Semantik tik Anwendung findet, gibt RDFS. es grunds¨ Eine der atzliche Einschr¨ gravierendsten ankungen der M besteht in der Unm rungsfa ¨higkeit Aussagen keit negativer von RDFS.– Eine es istder in gravierendsten RDFS nicht mbesteht o glich in der Unm auszudr u ¨ ¨ ck • keine Möglichkeit, keit negativer Aussagen 3 – esNegation ist in RDFS auszudrücken etwas nicht gilt.3 Zwar ist es natu¨ rlich m¨ nicht mo ¨ glich auszudru¨ oglich, die Negation den Klass ck etwas nicht gilt. Zwar ist es natu ¨ rlich mo ¨glich, die Negation den Klass38