Semantic Web – Grundlagen: Errata
Aus Semantic-Web-Grundlagen
An dieser Stelle veröffentlichen wir bekannt gewordene inhaltliche Fehler im Lehrbuch Semantic Web – Grundlagen. Fehler und sonstige Anmerkungen können uns am besten per Email mitgeteilt werden. Allgemeine Bewertungen können natürlich auch gerne auf Amazon abgegeben werden.
Inhaltsverzeichnis |
Kapitel 2
- S. 18, Zeile unter dem grauen Kasten: Ersetze <Thema> durch <Titel>.
Kapitel 3
- S. 62, grauer Kasten, Zeile 3: Dies Zeile sollte auf
...Hitzler" />
enden, statt auf
...Hitzler">
Danke an Knud Mikkat für den Hinweis.
- S. 73: das 6-malige Vorkommen von
rdfs:resource
muss korrekt
rdf:resource
heißen.
Danke an Jörg Leukel für den Hinweis.
- S. 81: anstelle des Tripels
rdfs:label rdfs:domain rdfs:Literal .
muss (da es sich um eine Restriktion auf Objekten von Tripel mit dem Prädikat rdfs:label handelt) es heißen:
rdfs:label rdfs:range rdfs:Literal .
Danke an Stefan Wiegreffe für den Hinweis.
- S. 83, Zeile 3: ex:VegetableTaiCurry sollte ex:VegetableThaiCurry heißen. Danke an Dennis Patzer für den Hinweis.
- S. 83, Zeile 7: rdfs:subProperyOf sollte rdfs:subPropertyOf heißen. Danke an Dennis Patzer für den Hinweis.
Kapitel 4
- S. 117, Zeile 3 im grauen Kasten: ex:VegetableTaiCurry sollte ex:VegetableThaiCurry heißen. Danke an Dennis Patzer für den Hinweis.
- S. 117, Zeile 7 im grauen Kasten: rdfs:subProperyOf sollte rdfs:subPropertyOf heißen. Danke an Dennis Patzer für den Hinweis.
- S. 118, Zeile 7: rdfs:subProperyOf sollte rdfs:subPropertyOf heißen. Danke an Dennis Patzer für den Hinweis.
- Es wird behauptet, dass die für RDF(S) angegebenen Ableitungsregeln vollständig seien. Tatsächlich sind die Ableitungsregeln aber unvollständig:
Für einen leeren Knoten b folgt aus den drei Tripeln
p rdfs:subPropertyOf b . b rdfs:domain u . v p w .
gemäß RDFS-Semantik das Tripel
v rdf:type u .
was sich aber nicht über den gegebenen Kalkül ableiten lässt.
Dies ist übrigens auch im entsprechenden W3C-Dokument fehlerhaft.
Kapitel 5
- Das grau unterlegte Beispiel auf S. 138 unten lautet korrekt:
<owl:Class rdf:about="SekretärinnenVonStuder"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Sekretärinnen"/> <owl:Class rdf:about="AngehoerigeAGStuder"/> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class>
- Die beiden grau unterlegten Kästen auf S. 139 lauten korrekt
<owl:Class rdf:about="Professor"> <rdfs:subClassOf> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="aktivLehrend"/> <owl:Class rdf:about="imRuhestand"/> </owl:unionOf> </owl:Class> </rdfs:subClassOf> </owl:Class>
und
<owl:Class rdf:about="Fakultätsmitglied"> <rdfs:subClassOf> <owl:Class> <owl:complementOf rdf:resource="Publikation"/> </owl:Class> </rdfs:subClassOf> </owl:Class>
- Das grau unterlegte Beispiel auf S. 140 oben (Abbl. 5.11) lautet korrekt:
<owl:Class rdf:about="Professor"> <rdfs:subClassOf> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Person"/> <owl:Class rdf:about="Universitaetsangehoeriger"/> </owl:intersectionOf> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Person"/> <owl:complementOf rdf:resource="Doktorand"> </owl:intersectionOf> </owl:unionOf> </owl:Class> </rdfs:subClassOf> </owl:Class>
- S. 146: Es kann natürlich nicht gefolgert werden, dass Doris und Gustav nicht zu Klasse2 gehören, denn wir haben z.B. nicht ausgeschlossen, dass Bernd und Dagmar dieselbe Person sind. Um folgern zu können, dass Doris und Gustav nicht zu Klasse2 gehören, müsste noch deklariert werden, dass Bernd nicht zur Klasse weiblicheKollegen gehört.
Danke an Thomas Kupka für den Hinweis.
Kapitel 6
- S. 170. Der Text "Dabei ist natürlich gleichbedeutend mit " muss lauten: "Dabei ist natürlich gleichbedeutend mit ". Danke an Fabian Leuchtner für den Hinweis.
Kapitel 7
- S. 216: Das erste Argument von langMatches ist nicht wie angegeben ein Literal mit einer zu testenden Sprachangabe (z.B. "Beispiel"@de-ch), sondern lediglich die Sprachangabe selbst als einfaches Literal (z.B. "de-ch").
- S.223: SORT BY sollte ORDER BY heißen, so wie auch sonst überall korrekt verwendet.
- S. 227: Im Beispielausdruck hat LeftJoin nur zwei Parameter. Es fehlt ein true als "leerer Filterausdruck" an dritter Stelle.
- S. 229:
- In der Definition von Union haben sich zu viele Indizes eingeschlichen. Korrekt müsste es heißen: Union(Ψ1 , Ψ2 ) = {µ | µ ∈ Ψ1 or µ ∈ Ψ2 }
- In der Definition von LeftJoin werden Lösungsfunktionen auf ganze Filterausdrücke angewendet. Gemeint ist damit der Filterausdruck, der entsteht, wenn man die Lösungsfunktion auf jede Variable anwendet.
- S.230: Wie auf Seite 227 fehlt im Beispiel true als drittes Argument von LeftJoin.
- S.236: In der Einführung zu konjunktiven Anfragen werden negierte Propertyausdrücke erlaubt, wie im Beispiel
Buch(x) ∧ ¬VerlegtBei(x, Springer) ∧ Autor(x, y)
- Diese Erweiterung ist im Allgemeinen in konjunktiven Anfragen nicht möglich, ohne Entscheidbarkeit zu verlieren. Negierte Klassenausdrücke dagegen sind möglich wie angegeben.
Anhang A
- S. 252: "Als Hornklauseln bezeichnet man Klauseln, die höchstens ein negiertes Atom enthalten." Das muss natürlich heißen: "Als Hornklauseln bezeichnet man Klauseln, die höchstens ein nicht-negiertes Atom enthalten." Danke an Cord Wiljes für den Hinweis.