heute als allererstes noch mal zu der Frage der Abgabe bei den Projektaufgaben etwas sage,
weil da die Unklarheit auftauchte, was eigentlich alles zur Abgabe dazugehört.
Wir haben das gestern noch mal besprochen und exekutieren wörtlich den Vorspann zu dem Übungszettel,
in dem also drin steht, dass Obligat ist,
eine Präsentation in Form von Folien, dass eine dokumentiertes Programm vorliegen muss,
aus dem hervorgeht, wie man dieses Programm benutzen muss.
Und das würde ich dahingehend erweitern, aus dem auch hervorgehen muss,
oder dass man aus der Dokumentation hervorgeht,
wie man dieses Programm zu verstehen hat. Also insbesondere,
wie Konzepte, die wir hier in der Veranstaltung benutzen,
je nachdem, worum es gerade geht, sucht Zustände,
Übergänge zwischen Suchtzuständen oder was immer da im Einzelnen vorliegt,
wie die in dem Programm repräsentiert sind und wo die sich da wiederfinden.
Und wenn dies ausreichend ist, um einen anderen Teilnehmer dieser Veranstaltung darüber zu informieren,
was macht das Programm und wird diese Funktionalität tatsächlich erreicht,
dann ist das ausreichend. Wann immer Sie der Meinung sind,
da fehlt etwas dazwischen, dann läuft das unter dem,
was dort unter optional weitere Dokumente läuft,
dass man also nochmal vielleicht diese oder hier eine Erklärung dazu liefern muss,
damit das verstehbar ist.
Also das entscheidende Kriterium ist immer,
ich muss daher rekonstruieren können, was ist dort gemacht worden,
wie ist das gemacht worden und wie hängt das mit dem allgemeinen Begriffsgefüge zusammen,
was wir hier in der Vorlesung aufgebaut haben.
Das sind die entscheidenden Kriterien. Wesentlich ist die Einreichung
des Programms plus die Präsentation in Form von Folien,
was immer dort an Fragen offen bleibt,
weil man auf den Folien nicht genügend Platz hat,
um ins Detail zu gehen, müsste in Form von zusätzlicher Dokumentation mit dazugeliefert werden.
Aber das ist dann mehr oder weniger ihnen überlassen,
zu entscheiden, ob das noch mit erforderlich ist oder nicht.
Zum Verständnis dessen, was sie da einreichen. Das ist
eine etwas salomonische Erklärung, die ich jetzt abgegeben habe.
Da bin ich mir vollkommen darüber im Klaren.
Aber es ist eigentlich genau das, was wir erreichen wollen,
dass sie selbst sich von der Adressatengruppe her Gedanken machen müssen,
was ist für einen bestimmten Adressatenkreis an Informationen erforderlich,
damit ihr nachvollziehen kann, was hier im Einzelnen passiert ist.
Und der Adressatenkreis, das ist wesentlich, bin nicht
ich oder die anderen Übungsgruppenbetreuer der Adressatenkreis sind ihre Mitstudierenden.
Denen müssen sie verständlich machen, was dort passiert ist und
was ihre Lösung kann und was sie nicht kann.
So, dazu erst mal eine Vorbemerkung. Jetzt zum Inhalt.
Wir sind also dabei ontologisches Wissen zu repräsentieren und dann natürlich auch zu benutzen.
Und wir hatten uns gestern mit dem Mechanismus der Relifizierung beschäftigt und Ririfizierung heißt immer,
ich wandle eine Relation, um in eine Konstante.
Wir hatten das an diesem Beispiel gesehen hier,
wir wollen ausdrücken, dass ein bestimmter Gegenstand rot ist.
Wir haben dann ein einstelliges Prädikat. Hier ist eine Individuenkonstante.
Hier haben wir eine Relation, die da definiert ist.
Und das ist für bestimmte Zwecke ausreichend, indem man fragen kann,
was ist alles rot und man kriegt dann valiabel Instanziierungen,
die sagen, alle Gegenstände, die die rote Farbe haben,
aber ich kann nicht mehr nach der Farbe fragen,
weil ich in der Prädikatenlogik nicht Vayable für den Prekatsnamen angeben kann.
Das ist der Grund dafür. Es gibt Erweiterungen des Ganzen,
das will ich auch erwähnen, das sind merkmals Logiken,
die auf den Prädikatsnamen verzichten und alles als Attribute behandeln.
Das, was wir hier tun, ist ein Schritt im Prinzip in diese Richtung.
Wir werden gleich sehen, dass wir den Prädikatsnamen dann auch völlig vergessen können.
Der hat nur noch kosmetische Funktionen. Jetzt triilifizieren wir,
indem wir eben dieses Prädikat hier zu einer Konstanten umwandeln und
die Konstante im das erweiterte Prädikat aufnehmen.
Dass wir also jetzt sagen, dieses Objekt hat die Farbe
rot und wir haben da natürlich einen anderen Prädikatsnamen für das ganze Spiel.
Jetzt sind wir also sowohl in der Lage,
die alte Frage zu beantworten,
was ist rot, indem wir eben sagen,
gib mir alle X für die Guild Collar von X das Rett.
Wir können auch fragen, was ist die Frage von PEN Nummer 7,
indem wir sagen, Color von PEN Nummer 7,
X, dann kriegen wir die Wertebindung für die Farbe.
Und wir sehen, warum wir das Ganze machen,
weil wir hier eben mit Vajablen arbeiten können,
hier vorn aber
Das ist der Grund, weshalb wir diese Reihifizierung machen,
dass was immer, dir vorne an Informationen zur Verfügung steht,
wir umwandeln in Konstanten, die wir dann eine Argumentposition benutzen
können und per variablen Bindung dann auch abfragen können.
Wir sind aber immer noch nicht zufrieden,
weil wir nämlich immer noch nicht fragen,
weil wir jetzt nicht fragen können,
was ist eigentlich die Eigenschaft von Pen7, die diesen speziellen Wert hier hat.
Und das können wir in einem zweiten Reihifizierungsschritt machen,
dass wir also auch noch die Eigenschaft als Konstante mit in
das Prädikat aufnehmen und dann haben wir eben einen sehr allgemeinen Prädikatsnamen hier.
Eine Propertie von einem Objekt bezüglich einer Eigenschaft ist ein bestimmter Wert.
Und jetzt können wir alle diese drei Fragen tatsächlich stellen,
indem wir eben an den entsprechenden Punkten Variablen angeben.
Entweder wir fragen nach allen Objekten,
die die rote Farbe haben oder wir fragen nach der Eigenschaft
bezüglich derer dieses Objekt diesen Wert hat.
Oder aber nach dem Wert, den dieses Objekt bezüglich
dieser Eigenschaft hat
Gut, und das ist tatsächlich die Basis jetzt für
die Darstellung von Entologie, von ontologischem Wissen.
Diese Triebel hier, und wir werden uns gleich angucken,
dass es auch wirklich das Einzige ist, was wir brauchen,
komplexer wird es nicht, also es bringt keinen Sinn mehr,
jetzt dieses Propertier auch noch zu realifizieren.
Das bringt keinen zusätzlichen Gewinn mehr. Diese Triebel sind tatsächlich
die Basis für die Arbeit mit solchen Wissensrepräsentationen und weil das ein sehr einfacher Mechanismus ist,
das ist immer schön für die rechentechnische Umsetzung des Ganzen,
Da gibt es also Standards, die dafür entwickelt worden sind.
Und das ist im Prinzip das Ressource Description Framework oder auch RDF genannt.
Da kommen wir im weiteren noch des Öfteren drauf zu sprechen.
Das basiert eben genau auf einer solchen Triebelrepräsentation,
wobei immer im Hinterkopf sein muss, wir reden hier über ein Individuum,
das bestimmte Eigenschaften hat bezüglich derer Gewerte, zuweisen können.
Und die Entwicklung ist tatsächlich so weit gegangen,
das hatte ich, glaube ich, gestern noch angedeutet,
dass es heutzutage kommerzielle Datenbanksysteme gibt,
die nichts anderes machen als solche Triebel abzuspeichern
Das hat in verschiedenster Hinsicht Vorteile. Einerseits ist es eben
ein universeller Formalismus, um die Art von Wissen,
mit der wir es hier zu tun haben, abzuspeichern.
Und zweitens ist es eine Darstellungsweise, die der Parallelisierung,
Parallelisierung hochgradig zugänglich ist. Also auf die Art und Weise kann ich
sehr hochskalierende Parallelimplementationen machen. Und das ist einer der Wege,
weshalb und im Web-Kontext ist man auf solche Parallelarchitekturen angewiesen.
Das ist einer der Gründe, weshalb das Ganze
relativ populär ist
Und dann also diese Tripelsammlungen dann auf verschiedene Prozessoren verteilen und dort parallel Suchoperationen drin machen.
Das läuft also in die Richtung der Nicht-Standard-SQL-Datenbanken. Gut,
wenn ich also jetzt eine Aussage abspeichern will,
wie irgendein A ist von einem bestimmten Typ,
dann habe ich grundsätzlich zwei Möglichkeiten zur Verfügung, das auf so einen Triebel abzubilden.
Ich kann entweder sagen, dass dieses Individuum A einen Typ hat,
der durch diesen Werttier angegeben ist, oder aber ich kann sagen,
dass dieses A eine Eigenschaft hat, Parcel zu sein und diese Eigenschaft.
Und das hat den Wahrheitswert zu. Also das sind verschiedene Optionen,
die man dort hat, um solche Aussagen jetzt abzuspeichern.
Eine der Repräsentationen muss man wählen, das ist eine Designentscheidung,
das kann man hier nach Vorliebe oder Anwendungserfordernis und dann machen.
Was passiert aber, wenn wir höherstellige Atome abspeichern wollen?
Wir haben also hier so etwas wie die Veranstaltung Computer Science 4,
2-2, ist,
besteht aus verschiedenen Sektionen und Sektionen 2,
also Also das ist so ungefähr zu sehen,
wie unsere Montags- und Montags- und Dienstagsveranstaltungen,
wir sind jetzt an der Dienstagsveranstaltung, also zwei findet in einem,
zu einer bestimmten Zeit in einem bestimmten Raum statt.
Ein vierstelliges, ein vierstelliger Prädikatsausdruck, den wir abspeichern wollen.
Wir haben jetzt aber nur Triebelstores zur Verfügung.
Wie gehen wir vor? Wir müssen solche Dinge,
ja, das ist ja ein ganz einfacher, relationaler Datenbank-Eintrag,
den müssen wir ja in einen solchen Triebelstor hineinbringen.
Und das erreicht man dadurch, dass man eben das,
was hier, und das Geduld läuft,
als Buchung bezeichnet oder als Buchung einführt in die Modellierung und für diese Buchung in Amen vergibt.
Wir reden jetzt also von einer bestimmten Raumbuchung,
die zu diesem Ergebnis geführt hat, dass ein bestimmter Kurs und
so weiter zu einer bestimmten Zeit in einem bestimmten Raum stattfindet.
Und jetzt können wir die verschiedenen Eigenschaften, die hier die Attributspositionen kennzeichnen,
nämlich, dass dies hier eine Lehrveranstaltungsbezeichnung ist,
das können wir in einem extra Triebel abspeichern,
dass wir eben sagen, die Buchung 123 hat dazu geführt,
dass Kurs Nummer 422 einen Raum zugewiesen bekommen hat.
Welchen Raum er zugewiesen bekommen hat, das ist in den anderen Triebeln abgespeichert.
Nämlich insbesondere hier in dem letzten, was dann eben sagt,
Buchung 123, das ist genau die gleiche,
hat den Raum 208 zugewiesen bekommen und die Zeit 10.30 Uhr
und es handelt sich nicht um den ganzen Kursus,
sondern nur um Section Nummer 2 davon.
Auf diese Art und Weise haben wir wieder von Reifizierung Gebrauch gemacht.
Wir haben ein Individuum konstanter eingeführt, die eben jetzt einen
Namen für bestimmte höherstellige Prädikatsausdrucke oder Tupel höheren Grades angibt.
Dass wir also dieses Tupel hier mit einem Namen versehen und
dann können wir über die Namen hier sicherstellen,
dass all diese Detailinformationen zu den unterschiedlichen Eigenschaften sich auf diese gemeinsame Buchung beziehen.
Und das ist eben auch wieder eine Form von Reifizierung und hat den Vorteil,
nicht nur, dass wir jetzt höherstelliger Relationentupel berücksichtigen können,
sondern hat auch den Vorteil, dass das Ganze sehr flexibel wird.
Wenn wir also Bisher, jetzt das ergänzen wollten,
wir haben jetzt eine Datenbank,
die nicht nur für das aktuelle Semester gültig ist,
sondern eine Datenbank, die über einen längeren Zeitraum benutzt werden soll,
da müssen wir natürlich so was wie eine Jahresinformation hinzufügen und sagen,
dies gilt eben nur für das Jahr
2014. 2015 ist es wahrscheinlich eine andere Uhrzeit und ein anderer Raum.
Und wenn wir das nach dem alten Schema machen wollten,
hätten wir diese vier Stellen ja Relation in eine fünfstellige Relation umwandeln müssen,
was mit einer Reorganisation der gesamten Datenbanken verbunden ist,
hier brauchen wir einfach nur ein zusätzliches Triebel hinzuzufügen und zu sagen,
okay, dann speichern wir jetzt eben noch Prop,
123, RB 123,
hier 2014 ab.
Und auf die Art und Weise können wir beliebig und sehr flexibel zusätzliche Informationen hinzufügen.
Und das macht sich eben besonders gut in Bereichen, wo die Wissensrepräsentation wächst.
Und das ist genau ein Charakteristikum dieses Ontologischen Wissens,
das sich Gemeinschaften finden, die sagen,
wir brauchen eine Ontologie, wir müssen uns daran setzen,
sie zu entwickeln.
Und jeder bringt bestimmte Ideen dazu ein
Und jeder möchte dann diese Ontologie durch seine Ideen erweitert sehen. Und dazu braucht man einen flexiblen Mechanismus,
womit der einen nicht zwingt, das gesamte Design zu ändern,
nur weil irgendjemand mit einer neuen Idee einherkommt,
sondern da möchte ich alles wiederverwenden können,
was ohnehin schon bekannt ist und das ist hier genau möglich,
dass ich eben einfach für eine neue Eigenschaft,
die ich jetzt,
die für meine Anwendung wichtig ist,
die die anderen Leute aber vielleicht gar nicht interessiert,
aber ich möchte diese Sache für meine Anwendung mit einbringen und dann habe ich auch die Möglichkeit,
ohne dass sich das Design aus der Perspektive der anderen Nutzer
überhaupt verändert
Gut, wenn wir das alles so machen,
dann haben wir schon gesehen, dass jetzt alles hier diesen Prädikatsnamen Prop kriegt,
also alle diese Triebel, die wir hier verwenden.
Und das heißt, das ist keine Information mehr,
während wir vorher hier sowas wie Kala hatten oder so etwas wie Red hatten.
Steht jetzt hier nur noch Propertier und das ist im Prinzip bedeutungsleer. Das heißt,
wir können gut und gerne dieses Prop auch weglassen und ab
sofort nur noch mit solchen Triebeln arbeiten unter dem Verständnis,
dass die eben genau diese Subjektprädikatsobjektstruktur haben,
ein Individuum hat eine bestimmte Eigenschaft und weist bezüglich dieser oder
das Triebel weist diesem Individuum einen bestimmten Wert bezüglich dieser Eigenschaft
Und da gibt es verschiedene Möglichkeiten, das darzustellen.
Wir gucken uns gleich eine Sprache an, mit der wir
das beschreiben können. Wir können es auch grafisch darstellen,
indem wir eben sagen, wir haben hier ein Objekt,
das kriegt bezüglich dieser Eigenschaft einen Wert zu gewesen.
Und dieses ursprüngliche, auch wenn hier Pop steht,
damit es diese Property gemeint, nicht dieser Publikatsnamen hierforen.
So, und auf die Art und Weise kann man solche Nets aufbauen,
da sind semantische Netze, eine ziemlich alte Erfindung.
Ich glaube, die ersten Publikationen darüber sind irgendwann in den
60 Jahren gewesen, mit einem Namen verbunden,
der Squinlin und Quinnlin ist ein Psychologe
Interessanterweise auch wieder gewesen. Also viele dieser Entwicklungen sind aus
der Psychologie heraus entstanden und da von dort aus in die Informatik gekommen.
Und hier ist also für ein fiktives Beispiel ein solches semantisches Netz aufgemalt,
was wir gleich noch in verschiedener Hinsicht erweitern werden.
Wir haben hier, das ist der zentrale Knoten,
einen Computer, der hat einen Namen.
Das ist also Computer 200347 und er hat verschiedene Eigenschaften.
Das sind all diese Kanten, die von dem Knoten ausgehen.
Also er hat die Eigenschaft, eine bestimmte Marke zu haben
Ein Lemon-Computer hier. Er hat ein bestimmtes Logo,
das ist eben nicht der Apfel, sondern eine Zitronenscheibe.
Er hat eine bestimmte Farbe, er hat eine Größe,
ein Gewicht, wo man schon sieht,
da muss man irgendwie Vereinbarungen treffen, welche Werte hier zugelassen sind.
Also ich könnte das Gewicht natürlich auch ganz anders darstellen,
indem ich hier Kilogramm oder Pfund oder was auch immer angebe.
Aber hier ist es offensichtlich eine diskretisierte Variante,
dass ich so etwas wie leichtgewichtig oder schwergewichtig habe.
Es ist eine Angabe darüber,
in welcher Form das Ding ausgeliefert wird,
also hier in diesem Fall
im Pappkarton
Der Rechner ist einer Person zugeordnet als Besitzer.
Ich glaube nicht, dass hier wirklich Besitztum gemeint ist,
sondern eher die Frage, was ist der Nutzer?
Aber das ist eine Vereinbarungsangelegenheit. Das ist immer dieses Spannungsverhältnis zwischen dem,
was man in seinem Kopf hat und dem,
was man hier tatsächlich niederschreibt für den maschinellen Gebrauch.
Das ist eben genau diese Frage der gewünschten Interpretation.
Was heißt Ownbye eigentlich? Also ist der Nutzer,
der diesen Rechner temporär zur Verfügung bekommen hat, ist,
dass der Eigentümer des Rechners oder ist das nur ein Nutzer, da kann man sich
Das muss man irgendwo kodifizieren. Geliefert wird der Rechner aber an eine andere Adresse,
das ist offensichtlich irgendein Verwalter,
der erstmal die Inventarnummer vergeben muss und die Administration des Ganzen übernimmt,
diese Personen,
sowohl Craig als auch Menge sitzen in bestimmten Räumen und diese Räume sind,
haben eine Propertie, eine Eigenschaft zu einem Gebäude zu gehören und das ist das Informatikgebäude.
Gut, ach so, eins haben wir noch,
dieser Computer hat eben nicht nur diesen Ist nicht nur von dieser Marke,
sondern hat natürlich auch irgendeine Typenbezeichnung und die steht da oben.
Gut, also auf die Art und Weise kann man jetzt
einzelne Individuen in ein gesamtes Netz von Eigenschaften einbetten.
Was wir hier schon sehen ist, und das,
was sich jetzt im Weiteren durchziehen, dass diese Repräsentationen in
keiner Weise irgendwie definiert, was ist ein Computer.
Ja, das kann ich hier draus nicht entnehmen.
Sondern es sagt nur irgendetwas, wie ist dieser Computer
in einem Netz von anderen Begriffen verankert.
Ja, und das ist also sozusagen eine schwache Wissensrepräsentation,
die nicht definitorisches Wissen enthält, sondern im Prinzip Begriffe
Und ein Minimum an Wissen, was ich brauche,
um Begriffe voneinander unterscheiden zu können. Und was dieses Minimum ist,
was sich da alles repräsentieren muss, das ist anwendungsabhängig.
Das ist von Anwendung zu Anwendung unterschiedlich und hochgradig subjektiv.
Was einzelne Personen als relevant betrachten und was sie nicht relevant betrachten.
Das sind keine vollstehenden Definitionen irgendwelcher Konzepte. Sondern nur,
was die verschiedenen Konzepte voneinander unterscheidet. Aber da werden wir
gleich noch Beispiele sehen. Diese grafische Repräsentation kann man jetzt
eben auch in der klassischen Prädikaten logischen Notation aufschreiben,
indem wir eben hier Individuum, Computer 2, 3, 4,
7 haben, der was bezüglich dieser ganzen Eigenschaften eben Wert zuweist.
Und dann eben auch für die anderen Individuen, also hier
der Besitzer dieses Computers, der kriegt einen Raum zugewiesen.
Und dieser Raum kriegt ein Gebäude zugewiesen, in dem er sich befindet.
Das ist also von dem, was ich ausdrücken will, vollständig äquivalent.
Gut, wir haben also immer diese Struktur von den Triebeln
und das ist in Anlehnung an einfache englische Sätze.
Sie kennen das alle mit SPO per Subject,
mit Predicat,
be object
Eine solche Triebstruktur, irgendjemand macht etwas mit irgendetwas.
Also die steckt hier auch immer im Hintergrund dahinter und wir haben hier eine,
üblicherweise werden die Sachen mit Form von XML dargestellt,
aber die Handhabung von XML ist natürlich hochgradig aufwendig und schwer lesbar,
weshalb also verschiedene Leute hingegangen sind und Spezialsprachen geschrieben haben,
wo ich die gleichen Sachverhalte ausdrücken kann,
aber mit einer etwas überschaubaren und menschenfreundlicheren Syntax und Turtle ist ein solches Beispiel.
Da gibt es also verschiedene andere Formalismen,
mit denen man solche Zusammenhänge da aufschreiben kann
Die Syntax ist relativ simpel. Also wir haben immer diese
Triebbildstruktur und es gibt ein paar kleine, syntaktische Ergänzungen.
Das würde völlig ausreichend sein. Damit können wir alles darstellen.
Aber es gibt ein bisschen so einen taktischen Zucker hier.
Eins davon ist dieses Komma, soll also heißen,
diesem Individuum wird unter dieser Eigenschaft entweder dieser Wert oder dieser Wert zugewiesen.
Und ist damit eben äquivalent dazu,
als ob ich diese beiden Triebel im System drin hätte.
Also es kann entweder eine Farbe rot oder eine Farbe grün
haben.
Das ist eine Alternative
Wir können aber auch Eigenschaftsobjektpaare miteinander kombinieren, indem wir sagen,
dieses Individuum hat bezüglich dieser Eigenschaft diesen Wert bezüglich dieser Eigenschaft diesen Wert.
Das ist also eine Art Konjunktion, die hier drin ist.
Wir haben zwei verschiedene Eigenschaften und weisen denen unterschiedliche Werte zu.
Das wird also, wenn man zum Begriff in der natürlichen Sprache macht,
ist das eine Koordination, die hier passiert,
wo gemeinsame Bestandteile rausgezogen sind.
Hier ist also dieser gemeinsame Bestandteile,
das Individuum und seine Eigenschaft und hier ist der gemeinsame Bestandteil
eben nur das Individuum
Und der letzte Trick ist, dass wir noch Ecke,
Klammern, einfügen und über Ecke klammern, können wir wieder Individuen definieren.
Und wir geben ihnen aber keinen eigenen Namen.
Das ist also eine Art anonymes Individuum, was wir einführen.
Und wenn wir so etwas machen, dann können wir
einen solchen Klammerausdruck an der Objektsposition des Triebbilds verwenden.
Also wenn wir sagen wollen, es wird hier einen Wert zugewiesen,
dann können man diesen Objektswert auch in Form solcher,
eine solchen Klammerausdrucke schreiben und er enthält dann nur eine Property-Angabe und eine Objektangabe,
weil nämlich die Individuen-Angabe, die brauchen wir nicht.
Wir geben der Sache keinen Identifier und deshalb können wir das weglassen.
So, also hier ist ein Beispiel, wie sowas dann aussieht.
Wir haben hier einen bestimmten Computer und der hat jetzt drei Eigenschaften.
Er hat einen Besitzer, er hat eine Farbe und er wird von irgendjemandem gewartet.
Und der Besitzer ist natürlich eine Individuenkonstante, eine Person, den er besitzt.
Die Farbe ist hier eine Eine, jetzt muss ich überlegen,
ist das so eine Disjunktion oder ist das eine Konjunktion?
Heißt es grün oder gelb oder grün und gelb?
Das ist eigentlich ein Und, ich habe beide Triebel,
naja, wenn ich es im Logik sinne,
ist es eine Alternative, wenn ich die beide aufschreibe.
Ja, da bin ich jetzt auch etwas unsicher,
wie das zu interpretieren ist. Also, es sind beide Varianten möglich,
ich weiß es nicht genau. Interessant ist der dritte Fall,
weil wir hier so einen Klammerausdruck haben, wo jetzt hier ein Individuum,
hier haben wir das Individuum durch eine Individuum Konstante beschrieben.
Hier geben wir jetzt einen Ausdruck an, wie er zu berechnen ist,
indem wir sagen, es ist ein Individuum,
das hat zwei Merkmale. Einerseits hat es eine bestimmte,
einen bestimmten Job und der Job heißt System,
Administrator und es ist eine Person,
wo das gilt und es gilt auch gleichzeitig noch,
dass diese Person ein bestimmtes Gebäude zu bedienen hat,
also für ein Gebäude zuständig ist und das Gebäude,
was für das er zuständig ist,
ist,
dass Informatikgebäude
Sodass wir hier also jetzt über eine Person reden können,
ohne die Person namentlich nennen zu müssen. Hier haben wir den Namen angegeben,
hier geben wir nur eine Eigenschaftsbeschreibung für diese Person an,
welche Eigenschaften soll sie eigentlich haben,
damit sie diese Rolle des Managers oder des Maintainers erfüllen kann.
So, und da sehen wir eben schon, ja,
an keiner Stelle ist hier definiert,
was ist ein Computer oder so etwas, sondern man sagt nur,
welche Eigenschaften hat dieser Computer und mit welchen anderen Dingen in der Welt hängt er zusammen.
Und an der Stelle sieht man schon, Wie so etwas
beispielsweise verwendet werden kann, um Schema-Mapping für unterschiedliche Datenbanken zu machen.
Wenn ich also jetzt irgendwo eine Information Typ finde in einer Datenbank
und es geht aus der Datenbank an keiner Stelle hervor,
ja, was sind für ein Typ eigentlich?
Sind das Fernseher? Sind das Autos? Sind das Mobiltelefone?
Oder was für ein Typ von Objekten wird dort eigentlich beschrieben? Dann kann ich aus diesen Eigenschaften,
die hier zur Verfügung stehen, im Kontext schließen,
wenn ich also dort einen Typ habe und es ist dann ein Motor dazu angegeben und vielleicht noch irgendwie etwas Was weiß ich,
irgendwelche Ausstattungsmerkmale, dann kann ich eben darauf schließen,
es wird offensichtlich kein Mobiltelefon gemeint sein,
sondern etwas wie ein Automobil, wovon da die Rede ist.
Und dann kann ich aufgrund dieser Content-Information in des Kontextes,
in denen dieser Begriff eingebettet ist,
sowohl in meiner Wissensrepräsentation als auch in der Datenbank,
die ich mir gerade angucke, kann ich dann daraus schließen,
welche Begriffsverwendung von Typ könnte das eigentlich sein.
Also welche Art von Geräten wird dort tatsächlich verwaltet.
Und kann ich das deshalb benutzen, um irgendein E-Commerce-Angebot machen zu können.
Bisher haben wir nur Fakten abgespeichert. Das waren vollständig instanzierte,
relationale Tupel. Mehr haben wir nicht abgespeichert in unserer Bank.
Wir sind aber gerade da bei uns anzugucken, wie wir mit denen hilft,
mit den Mitteln der Logik, flexibler arbeiten können,
dass wir nicht nur Fakten über die Welt abspeichern können,
sondern auch generalisierte Zusammenhänge.
Und das wollen wir natürlich auch hier in diese Montologie-Repräsentation haben.
Allerdings nicht in der gesamten vollständigen Schönheit,
wie wir das im Prädikatenkalkül erster Stufe haben, sondern in einer eingeschränkten Form,
die Besser handhabbar ist und möglicherweise die unangenehmen Eigenschaften des Prädikatenkalküls nicht hat,
nämlich zum Beispiel nicht entscheidbar zu sein.
Und der entscheidende Schritt war also,
dass wir Variablen eingeführt haben und diese Variablen,
weil wir jetzt hier natürlich auch benutzen,
sodass wir also in der Lage sind, nicht nur Fakten abzuspeichern,
sondern auch generelle Zusammenhänge über die Welt.
Und da haben wir dann die Unterscheidung zwischen dem primitiven Wissen,
was wir bisher immer betrachtet haben,
also explizit aufgelistete Fakten über die Welt und abgeleiteten Wissen,
was wir durch Regeln definieren,
wo ich aus Fakten mithilfe der Regeln
neue Fakten ableiten kann
Und das hängt zusammen eben mit dem Begriff der Klasse,
dass ich Klassen einführe, die hier als Menge von Individuen bezeichnet werden.
Und zwar, und das ist jetzt eine Designangelegenheiten wieder,
dass man natürlich solche Dinge zusammenfasst, die ähnliche Eigenschaften haben.
Und die Frage,
welche Eigenschaft eine Klasse oder zu der Klasse gehörenden Objekte haben,
ist auch die entscheidende Basis dafür zu,
eine entscheidende Basis dafür zu entscheiden,
welche Dinge man zu einer Klasse zusammenfasst und
welche man nicht zu einer Klasse zusammenfasst
Und das Beispiel ist eben, wenn alle diese Lemon-Computers eben die Farbe braun haben,
dann könnte man die Farbe nicht mit den Individuen,
wo man sie immer wieder auflisten muss, zusammenbringen, sondern an die Klassendefinition.
Ich bin ein Lemon-Computer und deshalb ist meine Farbe braun auf einer möglichst generellen Ebene beschreiben. Ja,
und dann muss man natürlich sagen,
welche Individuen gehören zu einer bestimmten Klasse dazu und das wäre eben eine Typinformation,
dass ich sage, dieser spezielle Computer ist vom Typ Lemon-Computer
Und ich möchte natürlich auch Klassen miteinander in Beziehung setzen,
dass ich also eine hierarchische Abstraktion habe über verschiedene Zwischenstufen,
wo ich sagen kann, dies ist eine Unterklasse von diesem.
Und dies ist eine, im umgekehrten Fall eine Oberklasse von etwas anderem.
Und dieser Mechanismus wird im Prinzip zur Vererbung benutzt,
um Eigenschaften, die an einer bestimmten Klasse hängen,
von der Oberklasse auf die Unterklasse vererben zu können.
Das ist ein Vererbungsmechanismus, wie man in vielen anderen Kontexten auch findet.
Begegnet es sich, das wird Sicherheit in der objektorientierten Programmierung.
Allerdings gibt es auch hier wieder
ein paar Unterschiede
Da werden wir gleich drauf kommen. Ich glaube,
der wesentlichste Unterschied für unsere Zwecke ist,
dass wir in der objektorientierten Programmierung relativ strenge Einschränkungen machen,
wie zu vererben ist, nämlich immer nur von einer Oberklasse,
während wir hier davon Gebrauch machen werden,
dass wir von mehreren Oberklassen vererben können.
Das ist also eine ganz natürliche Angelegenheit,
dass eine bestimmte Instanz eben nicht nur zu der einen Klasse gehört,
sondern auch möglicherweise zu einer anderen Klasse gehört
Und das wollen wir hier auch ausdrücken können. Also das
gibt da unterschiedliche Einschränkungen für das Klassensystem und die Vererbungsregeln,
die da gelten, bis hin zu der Frage,
ob ich, ob ich überschreiben kann.
Oder ja, also ob ich vererbte Werte durch andere vererbte Werte überschreiben kann oder durch individuelle,
weiter unten in der Hierarchie definierte Werte überschreiben kann.
Also da muss man genauer hingucken. Äußerlich sieht alles wie Vererbung
aus. Was auch noch eine Rolle spielt, ist,
dass hier Klassen immer als Mengen von Individuen bezeichnet werden.
Das ist ein kleiner Unterschied zu der Prädikaten, logischen Definitionen,
die wir bisher hatten für solches generalisiertes Wissen.
Aber der Unterschied verschwindet,
wenn man etwa eine Mengen bezogene Semantik für die Prädikatenlogik einführt,
das kann man machen, dann hat man den gleichen Effekt,
dass eben ein bestimmter Ausdruck der Prädikatenlogik eine Menge von Objekten der Welt beschreibt.
Und genau das haben wir hier vorliegen. Also der Unterschied
ist nicht so gravierend. An unserem semantischen Netz ändert sich jetzt Folgendes,
dass wir eben diesen Computer hier die spezielle Instanz und für
diese spezielle Instanz können wir eben jetzt den Benutzer festlegen und
so weiter,
wo er sitzt
Dass der einen bestimmten Typ hat und er ist nämlich von diesem, eine Instanz von diesem Typ Lemon 10.000.
Und diese Computer, davon gibt es ja mehrere sicherlich,
die Firma wird ja nicht nur einen hergestellt haben,
ist eine Subklasse von Lemon Computern im Allgemeinen,
die sich dadurch unterscheiden, dass sie unterschiedliche Typenbezeichnungen haben.
Und das ist natürlich eine Unterklasse von Computern im Allgemeinen. Und wir sehen jetzt,
dass die Frage, wo denn,
wo den Computer angeliefert werden, unabhängig davon,
welche Hersteller sie haben oder welchen Typ sie haben oder wer es bekommen sollte,
Immer an die gleiche Person geschickt werden,
der also offensichtlich diese Personen, die offensichtlich damit befasst ist,
die gesamte Prozedur des Entgegennehmens einer neuen Computerlieferung abzuwickeln.
Und dass der durch Zufall eben in dem gleichen Gebäude sitzt, wo auch dieser Nutzer des Computers ist.
Was aber nicht zwangsläufig so sein muss. Und jetzt sehen wir hier,
dass die verschiedenen Merkmale, die wir hier haben,
auf ganz unterschiedlichen Ebenen dieser Hierarchie angesiedelt werden können,
also der Nutzer, der ist tatsächlich auf der Instanzenebene angesiedelt,
während so etwas wie das Gewicht und die Größe vom konkreten Modell abhängig ist,
während die Frage, Welches Logo diese Computer haben,
natürlich nicht von dem konkreten Modell abhängig ist,
sondern nur von dem Markennamen Lemon Computer.
Und dass eben alle Computer in Form einer Pappschachtel geliefert werden und dass alle Computer,
wenn sie denn geliefert werden, erstmal an diese Personen namens Mengen gehen.
Und das ist eben alles auf unterschiedlichen Abstraktionsebenen angeordnet,
und zwar auf den Ebenen, wo es sinnvollerweise angeordnet werden kann,
nämlich so allgemein wie nur irgendwie möglich,
sodass ich es mir erspare für alle individuellen Instanzen,
dieses Wissen abzuspeichern,
was ich in einer relationalen Datenbank ja machen müsste.
Da werde ich
ja nicht bewahrt davon
So, und nun sind wir also auch in der Lage,
in so einem semantischen Netz solche generellen Beziehungen abzuspeichern,
wie alle Lemon Computer haben eine Zitronenscheibe als Logo.
Oder alle Computer kommen in einer Pappschachtel geliefert. Ja,
die Logik, die hinter dem Ganzen dahinter liegt,
ist, also wenn wir so eine Kante haben,
ein Individuum wird bezüglich eines Merkmals einen Wert zugewiesen,
dann ist das Im Prinzip Äquivalent damit, dass wir sagen,
wir haben ein Objekt von einem bestimmten Typ und dieser Typ ist das,
was hier mit C angegeben ist.
Und wenn wir das haben, dann folgt daraus,
dass dieses Objekt bezüglich der Eigenschaft P diesen Wert erhalten muss.
Also eine solche Kante heißt dann eben eine solche Implikation im logischen Sinne.
Und Beispiele dafür sind eben, wenn ich ein Objekt habe,
was vom Typ Lemon Laptop 10.000 ist,
dann kriegt er das Merkmal leichtgewichtig bezüglich seines Gewichtsmerkmals
Oder wenn ich eben ein Objekt habe, das ein Computer ist,
dann kriegt er bezüglich des Merkmals Verpackung die Pappschachtel zugeordnet.
Das ist also auf der Ebene der Zuordnung von Merkmalswerten.
Und natürlich müssen wir das Ganze auch in der Vererbungshierarchie betrachten. Wenn wir jetzt also zwei Klassen haben,
die durch eine Merkmals, durch eine Subklassenbeziehung miteinander in Verbindung gesetzt sind,
dann folgt eben aus der Tatsache,
dass S eine Subklasse von Tee ist, dass die Bezüglich des Typs,
sich die Typenzugehörigkeit vererbt, dass ich also sagen kann,
ein Objekt X hat einen bestimmten Typ S und es gilt,
dass S eine Subklasse von TS,
dann hat auch X den Typ T zugeordnet.
Das heißt also, X ist jetzt vom Typ S und T gleichzeitig.
Und natürlich über die transitive Höhle die gesamte Vererbungshierarchie nach oben für alle Oberklassen, die ich davon habe.
Das ist also die Grundlage der Vererbung und Da die jetzt also... Instanzen immer dieses Typs sind,
ja, also auch der Obertypen,
kann ich eben über diese Vererbungsbeziehung hier jetzt auch dann die Tatsache,
dass ein Computer immer in einer Pappschachtel kommt,
gilt eben für Computer und alle seine Unterklassen,
weil ich von den Unterklassen auf die Oberklassen schließen kann und damit ist also auch diese Merkmalszuordnung für die Verpackung,
für alle Unterklassen verfügbar.
Das sind also, ist die logische Basis für das,
was wir in dem semantischen Netz Inferenzdiensten zur Verfügung stellen wollen.
Das hatte ich vorhin schon angekündigt, eines der wesentlichen Merkmale ist,
wenn ich jetzt reale Welten modellieren will,
dass ich eben nicht hingehen kann und sagen kann,
ein Objekt gehört genau zu einer Klasse,
sondern dass ich oftmals mehrere Klassen angeben möchte.
Hier ist also das Beispiel, dass die gleiche Person eben
sowohl ein Experte für Weine sein kann.
Es kann auch eine Lehrperson sein,
es kann ein Fußballtrainer sein und so weiter und so fort.
Also eine Person kann sehr, sehr viele verschiedene Rollen füllen
und das sind unterschiedliche Klassenzugehörigkeiten.
Und aus all diesen Klassen erbt es
bestimmte Eigenschaften
Die dann als gemeinsame Menge von Eigenschaften für die Instanzen gelten müssen.
Und das, bezeichnen wir dann eben auch als multiple Vererbung,
dass sich eben meine Eigenschaften von vielen Klassen zusammen bekomme.
Und solche Repräsentationen sind also in ganz, ganz vielen Gebieten
verwendet worden. Ich kenne es eben aus der Sprachverarbeitung,
wo eben auch verschiedene Informationen zusammengebracht werden muss. Einerseits,
wenn ich ein flektiertes Verb habe, wie Freust,
da habe ich die Informationen, die von der Flexionsendung kommt,
die etwas über Personen und Nummerus aussagt, die muss ich damit zusammenbringen,
mit der Information, die sich aus dem Stamm ergibt.
Und aus dem Stamm ist eben deutlich,
dass das ein reflexives Verb ist,
dass also so etwas wie Freude, du freust dich,
erforderlich ist, aus den Endungen ergibt sich eben die Information zweite Person singular.
Und das kann ich eben dadurch modellieren,
dass es einerseits ein Vollwerb ist, was reflexiv ist,
andererseits bestimmte Flexionsmerkmale hat.
Also zu einer Flexionsklasse zugeordnet wird. Das ist
ein Beispiel für solche Mehrfachvererbung in einem ganz anderen Gebiet
Und das Problem ist nur,
wenn das jetzt für ein und dasselbe Merkmal passiert,
kann ich aus den unterschiedlichen Klassen Merkmale erben,
die nicht miteinander verträglich oder Werte ererben für das Merkmal,
die nicht miteinander verträglich sind.
Und dann brauche ich irgendeinen Mechanismus zur Konfliktlösung.
Und das hatten wir uns schon angeguckt,
dass es das Mehrfachvererbungsproblem, wo ich eben entscheiden muss,
speziellere Informationen überschreibt,
allgemeinere Informationen wäre eine solche Strategie etwa
Das ist das, was ich in dem Augenblick brauche.
Und weil das gegebenenfalls sehr, sehr schnell unübersichtlich wird,
macht man das in Programmiersprachen nicht.
Da beschränkt man sich darauf, dass man einfache Erbung macht.
Mehrfache Erbung ist da typischerweise nicht erlaubt. Auf der
anderen Seite aber wieder an dieser Stelle beschreiben wir Programmobjekte,
nicht die reale Welt, sondern eine Abstraktion über der realen Welt.
Und für unser tägliches Leben oder unserer täglichen Schlussfolgerung,
mit denen wir unseren Alltag bewältigen,
machen wir so etwas aber wieder auf ganz natürliche Art und Weise,
ohne dass wir uns dessen eigentlich bewusst sind,
dass wir jetzt eben bezüglich bestimmter Dinge, Eigenschaften von ganz,
ganz unterschiedlichen Klassenerben.
Also was weiß ich, für diese Sitze hier,
dass sie eben zur Klasse Stuhl gehören und andererseits aber
wieder zur Klasse der Einrichtungsgegenstände dieses Raumes.
Und von daher kann ich ganz unterschiedliche Informationen zusammenbringen.
Also das ist etwas, worauf man in natürlichen Welten
nicht verzichten kann, dass man diese Mehrfachvererbung einführt.
Aber man muss eben Sorge dafür tragen,
was passiert im Falle von Konflikten
Ja, es gibt dann eine ganze Menge von Handreichungen,
das war ja Gegenstand der Übung auch, wie designt man jetzt eine solche Begriffshierarchie.
Also das hatte ich schon gesagt, Werte für eine bestimmte Eigenschaft
sollten soweit es geht nach oben im Vererbungsbaum geschoben werden,
dass man das an der Klasse anordnet, die am allgemeinsten ist.
Und andererseits sollte man aber Werte oder Eigenschaften einer Klasse,
die sich ändern, nicht einer Klasse zu ordnen.
Also wenn es nur so ist, das ist etwas,
Das merkt, weil die Beispiele hier,
wir haben eine Lieferung von Computern gekriegt,
die haben alle die gleiche Farbe und sind alle von einer gleichen Marke,
weil sie von dieser Firma geliefert wurden.
Dann könnte ich natürlich sagen, in meiner Vererbungshierarchie,
dass die Farbe, die wir hier an die Lemon Computer angeordnet haben,
das war die allgemeinste Klasse, alle Lemon Computer,
die wir jetzt gekriegt hatten,
waren alle von dieser Farbe.
Also ordnen wir
die Farbe hier zu
Nun kann es aber passieren,
wir kriegen morgen eine Lieferung und dann sind die eben nicht braun,
weil zwischen die Modefarbe sich geändert hat,
dann sind sie eben pink oder so etwas.
Und dann zeigt es sich,
dass diese Zuordnung der Farbe zu diesem Allgemeinsten Fall hier offensichtlich
falsch war und dass diese Farbzuordnung entweder nur für bestimmte Typen
gültig ist oder möglicherweise gar nur für einzelne Instanzen.
Also Dinge,
die sich möglicherweise ändern könnten und die Farbe ist so etwas,
die sollte man nicht an solch allgemeinen Klassen hängen,
sondern auf einer Ebene,
wo man den Änderungen tatsächlich Rechnung tragen kann
Gut, das sind also solche Handreichungen dafür,
wie man eine solche, ein solches semantisches Netz aufbauen kann.
So, nun kommen wir wieder zu dem Ontologie-Problem zurück. Das Stichwort,
was wir hier adressieren müssen, ist,
also das Teilen von Konzeptualisierungen oder von Wissen und teilen hier nicht in dem Sinne,
dass ich es in Einzelstücke zerlege,
sondern dass ich dieses Wissen von mehreren Agenten gleich benutzt werden kann,
um sicherzustellen,
dass alle über das gleiche Ding reden.
Das ist die Hauptverwendung von Ontologie
Informationen. Und dazu muss ich also für eine bestimmte Domäne erstmal mir im Kopf,
das heißt Konzeptualisierung, mir im Kopf klar werden,
wie ich diese Domäne strukturiere,
welche Dinge ich mit welchen Begriffen belegen will und so weiter und so fort.
Dies ist ein Aufwand, den man üblicherweise unterschätzt.
Da gibt es also zahlreiche Publikationen darüber, welche Fallstrecke dort
üblicherweise lauern. Das selbst in unterschiedlichen Abteilungen unterschiedlicher,
eines Unternehmens eine völlig unterschiedliche Begriffskultur herrscht.
Also die Beispiele, die ich in der Ratenbankvorlesung immer benutze,
sind so etwas wie,
was ist eigentlich
ein Kunde
Meint jeder, ist doch eigentlich klar, was ein Kunde ist.
Nein, unterschiedliche Abteilungen in einem Unternehmen haben unterschiedliche Vorstellungen darüber,
weil Kunde ist. Für den Marketingfritzen ist das irgendjemand,
dem man mal einen Prospekt in die Hand gedrückt hat und von dem her,
der die Adresse hat, dem man also Werbematerial zuschicken kann.
Für die Abrechnungsabteilung ist ein Kunde einer, dem man mal
eine Rechnung geschickt hat und der die Rechnung möglicherweise bezahlt hat.
Dass du zwei völlig unterschiedliche oder Verständnisse von Kunde.
Und wie man auch gesehen hat,
hängen ganz unterschiedliche Eigenschaften an diesem Begriff von Kunde dran.
Von dem einen habe ich eine Rechnungsadresse,
von dem anderen habe ich sie möglicherweise nicht.
Und da habe ich vielleicht noch eine E-Mail-Adresse oder so etwas
Die, ein anderes Beispiel ist,
das habe ich mal irgendeiner Studie gelesen,
dass teilweise die, also die Frage steht eben immer,
wenn ich unterschiedliche Wissen oder Datenbestände zusammenbringen will,
ich hatte schon das Beispiel der verteilten Datenbanken benutzt,
wo eben unterschiedlich entwickelte und gepflegte Datenbanken zusammengebracht werden müssen.
Eine andere Anwendung ist, auch im Datenbankbereich selbst
innerhalb eines Unternehmens, wenn man verschiedene Abteilungsdatenbanken zusammenfassen will.
Und da taucht nämlich genau das Problem auf,
ob Kunde in der Datenbank 1 genau gleich Kunde in der Datenbank 2 ist.
Und typischerweise wird das nicht der Fall sein
Ein Beispiel, was ich mal gesehen hatte,
was eigentlich ziemlich deutlich gemacht hat, wie erschreckend es ist,
wo diese Fusion der Datenbestände daran gescheitert ist,
dass eine unklare Vorstellung darüber war, was eigentlich eine Ölquelle ist.
Und das ist ähnlich wie dieses Kundenproblem,
dass eben die Explorationsabteilung, alles das,
wo sie meine Probebohrung gemacht hatten und was man vielleicht irgendwann mal ausbeuten könnte,
das ist eine Ölquelle, während für die Förderabteilung entscheidend war,
wird dort Produktivöl gefördert, ja oder nein.
Und solange das nicht in dem Zustand ist,
dass man dort routinemäßig Öl fördert, was auch heißt,
das Öl muss abtransportiert werden können.
Das reicht nicht ein Loch in der Erde zu haben und da sprudelt das jetzt daraus,
sondern es muss die gesamte Infrastruktur vorhanden sein,
dass sie mit diesem austretenden Öl auch irgendetwas Sinnvolles anfangen kann.
Und da hat man wieder zwei völlig unterschiedliche Vorstellungen darüber,
was ist eigentlich eine Ölquelle. Und von daher weiß man auch,
dass diese Zahlen, die jetzt hochgerechnet werden,
wie lange reichen denn die Ölvorräte der Menschheit noch,
dass die auf ganz unterschiedlicher Basis zustande kommen.
Die einen rechnen von dem, was zurzeit förderwürdig ist nach oben.
Die anderen rechnen nach oben von dem,
was vielleicht in Zukunft mal förderwürdig sein wird
Es sind aber zwei. Und völlig unterschiedliche Berechnungsbasis. Und
dann kommt man auch zu völlig unterschiedlichen Schlussfolgerungen. Gut,
also, es geht immer darum, Vereinheitlichung von Begriffssystemen zu machen.
Und das ist ein hartes Brot. Das ist etwas,
wo sich ganze Communities schon heftig zerstritten haben. Bis zu dem Punkt,
wo sie überhaupt nicht mehr miteinander reden, weil keiner seine Vorstellung durchsetzen konnte,
wie denn die Begriffsbegriffe zu verstehen sind, mit denen man benutzt.
Und wenn man sich überlegt, dass das an den Kern menschlicher Kommunikation geht,
Kann man eigentlich nur so ein bisschen erschrocken sein.
Also eine Konzeptualisierung ist eine Abbildung und das ist eine Abbildung,
die ich im Kopf eben vornehmen muss, aus der Problemdomäne,
also der Welt da draußen, in eine Repräsentation.
Und ich muss immer angeben, über welche Individuen rede ich.
Und ich muss angeben, mit welchen Begriffen möchte ich
über diese Individuen sprechen. Also was sind die Bezeichnungen,
die ich für bestimmte Arbeitsprozesse brauche, um Dinge eindeutig charakterisieren zu können?
Und dann ist es die Bedeutung oder die Intentionen,
die mit einem bestimmten Begriff verbunden sind.
Das muss ich alles spezifizieren. Also Meaning ist und Intention,
da sind wieder Begriffe, die in die menschliche Interpretation hineinreichen.
Also wie soll ich das, was sich dort verwendet, tatsächlich verstehen?
Wo gilt es, wo gilt es nicht mehr?
Und wenn jetzt also mehrere Personen beteiligt sind,
und das ist genau das Szenario,
über was wir reden die ganze Zeit,
dann müssen sie in der Lage sein,
sich auf eine Konzeptualisierung zu einigen.
Und dieser Abstimmungsprozess, der ist ein sehr steiniger.
Und die Ontologie ist dann das Resultat dieses Abstimmungsprozesses.
Dort lege ich jetzt nieder, Konzeptualisierung aussieht. Also wie die Begriffe miteinander zusammenhängen,
wofür sie stehen und wofür sie nicht mehr stehen.
Und das ist jetzt mit der Onthologie spezifiziert man dann also
die Bedeutung von solchen Symbolen in einem Informationssystem.
Und auf die Art und Weise kann man dieses Interoperabilitätsproblem in
den Griff bekommen. Also wir haben die Welt da draußen,
wir haben bestimmte Personen, die da mit beteiligt sind.
Wir haben in den Köpfen der Personen bestimmte Begriffe,
wie der redet hier über Wohnungen,
der hier redet über Kondos und der redet über ein Apartmentkoomplex.
Und ich muss aber, wenn ich das im Computer
verarbeiten will, diese Begriffe miteinander in Beziehung setzen und formalisieren
Und solche Ontologien, also die Hauptanwendung ist eben im semantischen Web,
wo ich jetzt Begriffe, nicht nur durch ihre Zeichenkette angebe,
sondern wo ich eine Semantik hinterlegen will,
in welchem Sinne habe ich diesen Begriff hier zu verstehen?
Also, was weiß ich, Programm, wenn ich so etwas
wie Programm habe, in welchem Sinne ist das ein Programm?
Ist das ein politisches Programm einer Partei?
Ist das Programm eines Konzerts, was dort stattfinden soll?
Ist das ein Computerprogramm, was ich abarbeiten kann?
Ist das irgendeine Sorte von anderen Programmen, was sich Leute
als Agenda gegeben haben, was sie jetzt alles tun wollen.
Es gibt also sehr viele verschiedene Verwendungsweisen dafür. Und das semantische Web beruht jetzt immer darauf,
dass wenn ich einen solchen Begriff verwende, ich im Hintergrund,
das ist für den Menschen durchaus nicht sichtbar,
im Hintergrund sofort hinterlege, ein Pointer auf eine Anthologie und sage,
es ist Programm in diesem Sinne,
hier in dieser Onthologie ist es spezifiziert.
Und wenn jetzt jemand ein anderes Programm,
ein anderes System, ein Computersystem,
sich mit meinem Angebot verbinden will,
dann kann es mit Hilfe der Onthologie überprüfen,
reden wir von der gleichen Sorte von Programmen
oder meinen wir
ganz unterschiedliche Dinge
Und das heißt also immer,
wenn ich eine Wissensbasis oder eben auch nur eine Webseite aufbaue,
dann muss ich, wenn ich diesen semantischen Austausch haben will,
natürlich immer, unter der Voraussetzung, wenn ich das nicht will,
dann muss ich das nicht machen.
Aber wenn ich es haben will, dann sollte ich auf
eine Onthologie zurückgreifen und es muss natürlich eine Onthologie sein,
die öffentlich verfügbar ist.
Solange die nicht öffentlich verfügbar ist, kann ich keine Abstimmung darüber herstellen.
Und dann habe ich eben eine Garantie dafür,
dass irgendein Symbol in all den Anwendungen,
die sich auf die Onthologie beziehen,
in dem gleichen Sinn verwendet werden kann
Und wenn es jetzt passiert, dass ich einen Begriff verwenden will,
der in einer existierenden Onthologie nicht existiert,
dann bin ich jederzeit aufgefordert, eine eigene Onthologie dafür zu schreiben.
Und diesen Begriff in einem Zusammenhang zu bringen.
Und das kann jetzt eingebaut werden in andere Onthologien,
dass ich mich also wieder per Pointe auf existierende Onthologien ziehe,
dass ich beispielsweise eine existierende Klasse durch neue Unterklassen ergänze,
weil ich der Meinung bin,
für meine Anwendung,
es ist notwendig,
hier nochmal unter Klassen
zu unterscheiden
Und wenn andere das nützlich finden, werden sie es benutzen,
wenn nicht, dann ist es eben nur für meinen Zweck.
Aber ich habe den Rest der Enthologie nicht angefasst.
Und auf die Art und Weise entwickeln sich Enthologien mit der Zeit,
weil es in einem kooperativen Prozess jeder seinen Beitrag aus seiner speziellen Perspektive einbringen kann.
Und ob es benutzt wird oder nicht, ist immer
davon abhängig, ob andere diese Perspektive teilen oder nicht.
Und in vielen Fällen, das hatte ich schon erklärt,
wird das also in organisierten Konsortien durchgeführt,
dass ich eben Branchenvertreter irgendeiner Industriebranche zusammentun und ein Komitee gründen,
was eben genau diese terminologische Abstimmung in ihrem Auftrag durchführen soll.
Ja, es ist sogar so, dass ich,
wenn ich verschiedene Ontologien habe, haben die ganzen Ontologiesprachen,
die es heutzutage gibt, Möglichkeiten, verschiedene Ontologien aufeinander zu beziehen.
Dann kann ich eben sagen, das,
was ich hier XY nenne, ist genau das Gleiche,
was ich dort YZ nenne.
Oder unterscheidet sich in irgendeinem einer Art und Weise von dem.
Und dann muss ich die Art und Weise
eben spezifizieren
Also auf die Art und Weise kann ich auch existierende Ontologien
miteinander in Beziehung setzen und auf die Art und Weise ein Recycling von Ontologieinformationen erreichen.
Üblicherweise wären die groß, das sind also große Terminologiebestände,
die man hat, für irgendein gegebenes Gebiet.
Es ist also durchaus, also selbst die kleinen Sachen,
die ich kenne, wo Leute für Jobbeschreibungen im Informatikbereich,
also so etwas wie Freelancer, Freelancer,
die in der Informatik sich selbstständig gemacht haben und jetzt auf dem Markt ihre Dienste anbieten,
was sie machen können.
Jeder dieser freiberuflich tätigen Menschen hat irgendein Portfolio.
Das sind Dinge, die er bisher schon gemacht hat,
von denen er glaubt, dass er sie gut machen kann.
Und die beschreibt er typischerweise in Form eines kurzen Portfolioberichts,
der dann in Datenbanken abgespeichert wird.
Und wenn ich darin jetzt maschinell suchen will,
dann komme ich natürlich sofort auf das Problem,
dass irgendjemand schreibt, ja, ich kenne mich in SQL-Datenbanken aus.
Der andere schreibt, ich kenne mich in relationalen Datenbanken
gut aus
Und der dritte schreibt, ich kenne mich in Datenbanken gut aus.
Wie hängen diese Begriffe zusammen? Also kann ich irgendjemanden,
der eine sucht jemanden, der relationale,
oder sagen wir, instanzenweise, der eine sucht jemanden,
der sich mit Oracle-Datenbanken auskennt und in der Beschreibung steht eben drin,
ich kenne mich mit SQL-Datenbanken aus.
Passt das zusammen, passt das nicht zusammen? Also kann ich jetzt,
da gibt es Suchdienste wieder, die ihren Service anbieten,
wo jetzt jemand, der einen Freiberufler sucht,
der ihm bestimmte Arbeiten erledigen kann,
seine Anforderungen beschreibt,
und jetzt muss ich die Anforderung auf diese Beschreibung mappen
Und dafür brauche ich eben eine solche Ontologie,
die dieses terminologische Wirrwarr einigermaßen sortiert und fragt,
was ist Oberbegriff von wem? Und wenn etwas Oberbegriff ist,
kann ich das dann auch noch als zugehörig betrachten und so weiter.
Und solche Anthologien haben üblicherweise um die 1.000, 1.500 Konzepte.
Das ist ungefähr eine Größenordnung dafür. Da steht also,
was weiß ich, die ganzen Programmiersprachen,
die typischen Betriebssysteme und so weiter drin,
typische Fähigkeiten oder Fertigkeiten, die man in dem Kontext hat,
von Entwurf bis hin zum Testen oder zum Anfertigen von Dokumentationen
und so weiter und so fort.
All diese Sachen sind ja
mögliche Tätigkeitsmerkmale eines Freiberuflers
Und das ist also eine relativ kleine Domäne.
Wenn man also jetzt industrielle Kontexte nimmt, gefürchtet,
sind immer solche Sachen wie Chemie, Medizin,
wo ich es eben mit Hunderttausenden von verschiedenen Substanzen zu tun habe,
die ich irgendwie alle in dieses Begriffsgebäude einordnen muss.
Und da geht das dann eben leicht in diese Größenordnung,
dass ich 200, 300.000 verschiedene Konzepte in so einer Onthologie unterbringen muss.
Und das ist richtig viel Arbeit. Das ist Knochenarbeit.
Also das kann schwierig sein,
weil es ist nicht nur die Menge,
es ist auch die Frage der Inkonsistenzen
Also dies in ein einigermaßen konsistentes Gebilde hineinzubekommen, das ist die Kunst eigentlich dabei.
Dort erstens den Überblick zu behalten, was tue ich da?
Und zweitens, Widersprüche zu vermeiden zwischen den verschiedenen Teilen der Enthologie.
Und das ist insbesondere deshalb schwierig, weil die Welt da draußen typischerweise nicht widerspruchsfrei ist.
Es gibt Bereiche, wo man Widerspruchsfreiheit relativ einfach herstellen kann.
Das sind sicherlich die Bereiche der irgendwelcher industrieller Aktivitäten.
Wenn ich also über Maschinenteile rede, die sind von Alters
her standardisiert. Und da gibt es eine etablierte Begrifflichkeit,
die schon immer sehr, sehr stark strukturiert waren.
Da werde ich also kein Problem damit haben. Es gibt
aber andere Bereiche, wo ich ernsthafte Probleme damit habe.
Also beispielsweise für den Bereich der natürlichen Sprache habe ich mich
von der Vorstellung verabschiedet, dass man ein widerspruchsfreies Begriffsgebilde aufbauen kann.
Früher oder später läuft man immer wieder in die Fälle hinein,
wo man sagt, ja, das könnte man so sehen,
das könnte man so sehen, aber wenn man es so sieht,
beißt es sich mit dieser Festlegung dort,
wenn man es anders sieht,
beißt es sich mit jener Festlegung.
Also Widerspruchsfreiheit ist nicht immer einfach zu herzustellen und ich glaube
auch in solchen Bereichen wie Medizin etwa,
ist das nicht erreichbar
Ist keine Mechanik, über die ich da rede,
sondern das sind lebende Systeme, über die ich rede.
In diesem Falle, im Falle der Medizin,
also auch noch über lebende Systeme, die,
sagen wir mal, ihren Wohlfühlbereich verlassen haben.
Es geht ja um Krankheiten, um Abweichung vom Normalfall.
Und da läuft man sehr, sehr schnell in widersprüchliche Aussagen.
Ja, das Ganze ist ganz stark anwendungsabhängig, das hatte ich schon erwähnt.
Wie man also die Welt strukturiert und einteilt, das Hand
von der jeweiligen Anwendung ab. Und deshalb ist es nicht verwunderlich,
dass also unterschiedliche Onthologien die Welt unterschiedlich strukturieren dann zu unterschiedlichen Ergebnissen kommen,
wie man über die Welt reden sollte. Und es kann eben sein,
und Fundamentaly ist wirklich das richtige Wort dafür,
dass sich Leute bis aufs Messer streiten darüber,
was nun die richtige Verwendungsweise irgendwelcher Begriffe ist und wie man die voneinander abgrenzen kann,
wie man sie in der Hierarchie einzuordnen hat.
Ja, wenn nicht unterschiedliche, ich würde es nicht Knowledge Bases nennen,
sondern unterschiedliche Informationssysteme habe, dann können die eben von verschiedenen Anthologien Gebrauch machen.
Wenn man verschiedene Anthologien benutzt und man möchte,
dass sie zusammenarbeiten, dann braucht man eben dieses Mapping,
sagt, Begriff, A, hier entspricht Begriff B dort.
Und das Ganze ist, wesentlich ist, wenn es kein
Nutzerinteresse an der Ontologie gibt, dann scheitert die Sache.
Also man kann Ontologien nicht verordnen. Das funktioniert nicht. Die Leute müssen einen Leidensdruck haben,
also die Nutzer einer Entologie müssen einen Leidensdruck haben,
aus demraus sie erkennen, ja,
wenn wir es nicht machen, dann haben wir ein Problem.
Andererseits, falls wird man immer in das Problem reden,
in das Problem rennen, dass alle Leute sich fragen,
warum müssen wir dieses hier eigentlich tun?
Es ist doch bisher immer glatt gegangen, das wird auch in Zukunft glatt gehen.
Aber wenn es nicht genügend viele Schlag der Argumente dafür gibt,
dass man ohne diese tabinologische Abstimmung nicht weiterkommt,
dann hat man mit der Einführung solcher Dinge große Schwierigkeiten.
Und das ist eben genau die Frage, die sich stellt,
also das Semantic Web ist ja eine Entwicklung,
die auf Tim Berners Lee zurückgeht, der das Ganze,
ja, ja, eigentlich die Grundlagen des www.
am Zahn mitgeschaffen hat, also die Grundlagen von HTML etwa,
die gehen auf ihn zurück und der zweite Entwicklungsschritt ist dann gewesen,
dass er gesagt hat, es reicht nicht mehr,
wenn wir die Dinge syntaktisch auszeichnen,
wir müssen an die Bedeutung herankommen,
damit wir eben bedeutungsgenauen Zugriff auf Informationen anbieten können.
Und von daher hatte diese Evision des semantischen Webs entwickelt.
Und auf die Frage, ja, wie lange werden wir
denn noch brauchen, bis wir das semantische Web haben?
Hat er immer gesagt, es ist schon da.
Und als Beleg dafür hat er eben angeführt,
dass er seine Homepage vollständig semantic verifiziert hat.
Er ist ja hinter den Kulissen immer die entsprechenden Pointer in die Ontologien gesetzt,
hat also so etwas wie ich bin, eine Person.
Und das, was dort steht,
ist eine Telefonnummer und was eine Telefonnummer ist,
ist in dieser Ontologie
unter diesem Knoten erklärt
Wenn das also sinnvoll sein soll,
dann müssen es alle Leute machen und dann kann sich jetzt jeder fragen,
ob er seine Homepage schon ververbifiziert hat,
um sie zu einem semantischen Zugriff in der Lage zu sein.
Es gibt also, ich weiß nicht,
wie weit er gekommen ist im regionalen Rechenzentrum, ein Mitarbeiter,
der sich das mal auf die Fahnen geschrieben hat,
dass er tatsächlich verschiedene Informationsangebote der Universität zusammenbringen wollte, genau auf dieser Basis.
Also Triple Stores, das, was wir vorhin gerade hatten,
wie zerlebe ich Informationen in diese Triple von Individuum,
Eigenschaft und Wert dieser Eigenschaft,
Und auf die Art und Weise wollte er zusammenbringen vom Telefonverzeichnis der Universität,
wo also alle Angestellten dieser Universität mit ihren Raumnummern und Telefonnummern und mit ihren Abteilungszugehörigkeiten verzeichnet sind,
bis hin zum Katalog der Staatsbibliothek.
Wo ich also dann Personen mit ihren Publikationen verknüpfen kann.
Und das wieder gekoppelt mit Informationen auf den Webseiten der einzelnen Abteilungen,
wo Personen, achso, mit dem Lehrtableau natürlich,
wo ich sehen kann,
welche Lehrveranstaltungen machen die verschiedenen Personen
Mit den Informationen auf den Webseiten, wo ich also die Selbstdarstellung entnehmen kann,
was für Forschungssystemen bearbeite ich und dergleichen mehr. Bis hin zur Zugehörigkeit,
zu irgendwelchen Gremien, sodass also die Telefonauskunft,
wenn sie denn ein solches System im Hintergrund hat, viel,
viel zielgenauer Anrufe, die zentral in der Universität eingehen,
von der Art, wie wir brauchen mal einen Experten,
der uns erklären kann,
was ist eigentlich mit dem Carbon Footprint auf sich hat.
Da ist die Telefonauskunft vollkommen überfordert damit. Die sagt ja,
dann sagen sie mir bitte,
in welchem Fachbereich soll der sitzen und in welcher Abteilung
soll der sitzen und so weiter und so fort,
dann verbinde ich sie.
Ja, dann wird derjenige sagen,
das weiß ich nicht.
Ich dachte,
sie wissen das
Aber die Telefonauskunft weiß es nicht, über ein solches
verknüpftes Informationssystem könnte man solche Informationen zur Verfügung stellen.
Ich weiß leider Gottes nicht, wie weiter gekommen ist,
damit, ich muss mich mal wieder drum kümmern,
aber das fand ich eigentlich eine ganz nette Vision,
wie man eben Informationsangebote für so eine Organisation wie diese Universität auf ein völlig neues Niveau heben kann.
Weg von isolierten Datenbeständen, die irgendwo rumliegen,
hin zu einer integrierten Sicht,
die all diese Sachen zusammenbringen kann
Gut, das ist wieder der Vorbehalt, den wir immer machen müssen.
Der Computer hat keinerlei Verständnis für die Bedeutung irgendwelcher Symbole. Und der Formalismus,
den wir hier benutzen, ist also nicht dafür da,
um Begriffe zu definieren, sondern um die Bedeutung einzuschränken,
also um deutlich zu machen, wie sich dieser Begriff von anderen Begriffen abgrenzt,
aber nicht, was genau die einzelnen Sachen jetzt bedeuten.
Die Technologien, die dahinter stecken, sind also einerseits XML-Sachen,
das ist ein Missverständnis, ich glaube,
in der Zwischenzeit ist es nicht mehr ganz so stark,
aber am Anfang ist immer ein Missverständnis gewesen,
das XML, irgendeine neue Qualität von Informationsdarstellung ist,
ist es überhaupt nicht.
Es ist nur eine andere syntaktische Notationsweise für Informationen,
die wir schon immer irgendwie repräsentiert haben. Nur ist eben XML
daran orientiert, dass es für den Datenaustausch gedacht ist.
Und wenn nicht, an irgendeiner Stelle ein Datenaustausch mit anderen Systemen
vorgesehen ist oder beabsichtigt ist, braucht man auch keine XML.
Das ist, ich habe so viele Vorträge auf Konferenzen gesehen,
wo Leute eine XML-Repräsentation für dieses und für jenes.
Und wenn man sie gefragt hat, ja,
warum eigentlich XML
Dann konnten sie das nicht beantworten, sondern nur,
ob alle Leute machen heutzutage XML. Aber dann ist XML
nur ein Plotz am Bein. Es verschlechtert nur die Lesbarkeit von Informationsbeständen,
dann sollte man, wenn der Datenaustausch keine Rolle spielt,
dann sollte man irgendetwas nehmen, was menschenfreundlich benutzbar ist.
Und XML ist es wirklich nicht. Und in dem Augenblick,
wo ich aber Datenaustausch betreiben muss, dann ist XML unverzichtbar.
Und zwar ist XML eben gerade deshalb so populär geworden,
weil es auf jede Form von Semantik verzichtet.
XML ist der Prototyp einer Auszeichnungssprache,
die vollständig bedeutungsleer ist
Da wird an keiner Stelle gesagt, was diese,
was diese Tags hier, also öffnende und schließende Klammern,
was die im Einzelnen zu bedeuten haben.
Nirgendwo wird das spezifiziert. Das ist immer im,
der Interpretation durch den Empfänger überlassen.
In der Sprache selber ist das an keiner Stelle festgelegt.
Natürlich müssen Sender und Empfänger über ein gemeinsames Verständnis der Sache verfügen.
Das ist richtig. Aber in der Sprache selber ist es
nicht ausgedrückt. Und selbst wenn wir hier Tags verwenden,
so was wie Name beispielsweise, das ist eine Interpretation,
die wir haben.
Das muss nicht die Interpretation sein,
die der Empfänger dieses XML-Dokuments hat
Gut, das ist also das eine, was wir brauchen.
Wir wollen hier Datenaustausch betreiben und deshalb ist es also
eine gute Idee, XML zu verwenden. Ach,
im Übrigen ist XML, das sollte vielleicht noch sagen,
ist eine Entwicklung, die ursprünglich mal zurückgegangen ist,
auf eine Auszeichnungssprache, die sich SGML nannte,
für Standard-General Lized Mark Up Language und so weiter,
was mal Leute so würde schätzen,
in den 80er Jahren des letzten Jahrhunderts probiert haben,
eine universelle Auszeichnungssprache für Texte aller Arten
zu entwickeln
Dass ich also in der Lage bin, einen gegebenen,
natürlich sprachlichen Text durch semantische Informationen so anzureichern,
dass er auch Maschinen interpretierbar wird.
Und das hat ganz harmlos angefangen und ist immer weiter aufgebläht. Und dahingehend,
dass man Spezialauszeichnungssprachen für chemische Verbindungen geschaffen hat, Spezialauszeichnung,
Sprachen für mathematische Formeln, Spezialauszeichnungssprachen für geografische Namen und dergleichen mehr.
Und das Gebäude wurde immer komplizierter und immer unüberschaubarer.
Und irgendwann ist XML der Beschreibungsschlag gewesen,
dass man von all diesen semantischen Sachen,
ich bin eine Auszeichnungssprache für dieses und jenes Gebiet
Und die Tags, die ich verwende, die sahen genauso
aus wie die hier, haben eine bestimmte Bedeutung.
Von dieser Aspekt hat man vollkommen abstrahiert und hat gesagt,
wir schmeißen die gesamte Bedeutung raus.
Wir sagen nur noch, was ist ein wohlgeformter XML-Ausdruck?
Die Bedeutung ist nicht im Ausdruck selber kodiert,
sondern außerhalb des Ausdrucks. Das ist ein Befreiungsschlag gewesen.
Auf die Art und Weise hat man eine Linguafranka entwickelt,
die sich wirklich darauf konzentrieren konnte, nur noch syntaktische Struktur bereitzustellen,
aber von jeder Semantik abgesehen hat.
Und das hat den Durchbruch gebracht, was das tatsächlich in
allen möglichen Anwendungsgebieten benutzt werden konnte.
Denn jetzt konnten alle Anwender hingehen und sagen, ja,
für meine Zwecke brauche ich die folgenden Tags
Preis, Menge, Kategorie und so weiter.
Wenn ich eben irgendwelche Produktdatenaustausch machen will.
Und das konnte man von Anwendung zu Anwendung unterschiedlich handhaben,
Hauptsache Empfänger und Sender verstehen sich einigermaßen.
Der Anspruch einer Auszeichnungssprache für alle Dinge in der Welt
zu haben, der war vom Tisch.
Und dann wurde es plötzlich praktikabel. Also auch wieder ein schönes Beispiel,
was wir auch schon bei der Einführung der Enthologie selber gesehen hatten,
der versucht, das gesamte Wissen der Welt in einer Wissensbasis zu verankern.
Der ist mehr oder weniger als gescheitert anzusehen.
Aber es gibt sehr wohl spezielle Wissensbasis, Banden,
die für spezielle Zwecke sehr nützlich sind.
Und genau das Gleiche hat man auf der Ebene der Auszeichnungssprachen gehabt,
also XML-Dialekte, wo ich dann über einen Stylesheet eben angeben kann,
welche Tags sind jetzt erlaubt und so weiter.
Das ist die Erfolgsstory gewesen. Was ich dann brauche,
sind Namensräume. Wenn also verschiedene Anwendungen miteinander reden sollen,
dann brauche ich einen gemeinsamen Namensraum.
Das ist innerhalb eines Computers relativ einfach herzustellen,
weil man einfach die Speicheradressen als eindeutige Identifikatoren verwenden kann
Da ist das kein Problem. Im Web ist das ein Problem.
Wir haben verschiedene Computer mit unterschiedlichen Adressräumen und wir müssen trotzdem ermöglichen,
dass die feststellen können, ob sie über das gleiche Ding reden.
Möglicherweise liefert uns das Web genau die Mittel dafür.
Wir haben die URLs im Web. Die sind eindeutig,
weil es eine Organisation gibt, die dafür darüber wacht,
dass sie eindeutig sind.
Wenn ich ein URL haben will, muss ich einen Antrag stellen,
dass sich diese URL zugewiesen bekomme und die ist dann weltweit eindeutig.
Damit habe ich erstmal einen eindeutigen Ein eindeutiges Präfix und dieses
Präfix kann ich jetzt nach Belieben noch durch Anker-Informationen erweitern und
kann hinter einer URL eindeutige Identifikatoren verbergen für die Konzepte,
über die ich gerade reden möchte.
Und die werden dann eben auch als URA Eyes als Resource Identifiers bezeichnet,
weil sie nichts anderes sind, als weltweit eindeutiger Pointer in einen Namensraum.
Und üblicherweise, die Dinger sehen aus wie normale URLs.
Ich kann sie auch aufrufen im Browser. Normalerweise werde ich
aber da nichts kriegen, weil hinter diesen URLs steckt.
Da ist keine Webseite, die ich aufrufen kann,
sondern es ist nur ein Pointer, der zeigt auf irgendeinen Punkt in einem virtuellen Namensraum.
Und wenn zwei Leute auf den gleichen Punkt zeigen,
dann können sie feststellen, aha, wir reden über das gleiche Ding.
Das ist die Einzige Verwendungsweise davon. RDF hatte ich schon angedeutet,
dass es genau die Sprache, die es mir erlaubt,
mit Triebinformationen umzugehen, da gibt es dann noch zusätzlich RDFS,
das ist eine Schemasprache, wo ich wieder Schemainformationen,
wie ich es auch in relationalen Datenbanken zur Verfügung habe,
auch hier benutzen kann.
Also so etwas wie Datentypinformationen
Wenn ich Datentypen angeben will,
dass eben dieser Wert in einem Triebel eine Integer-Zahl sein soll,
dann kann ich das dahingehend machen, indem ich mich auf RDFS beziehe,
also auf die Schemasprache für das Ressource-Discription-Framework.
Und schließlich das Ausgebauteste ist Owl, die Web-Anthology Language,
die hat eine ganze Reihe von primitiven Prädikaten und ja, Prediger.
Es sind Relationsnamen, ja, also Eigenschaften zur Verfügung,
die man oftmals braucht, wenn man hingeht und terminologisches Wissen spezifizieren will.
Da sehen wir gleich noch Beispiele. So,
also was brauchen wir immer? Wir brauchen die Individuen,
also die Dinge, über die ich reden möchte.
Die sind üblicherweise nicht Bestandteil der Ontologie,
also in diesen semantischen Netzen hatten wir die ja drin,
dass wir eben über einen ganz bestimmten Computer geredet haben und eine ganz bestimmte Person.
Das ist nur die Instanzierung einer Ontologie. Typischerweise in der Ontologie
will ich ja nur die Zusammenhänge zwischen den Begriffen spezifizieren.
Das heißt also, im Wesentlichen rede ich über Klassen und Eigenschaften.
Und welche Individuen jetzt diese Klassen oder diese Eigenschaften füllen können,
das ist eine andere Angelegenheit.
Das hat nichts mehr mit der Ontologie
zu tun
So, dann müssen wir Individuen sind, also Dinge,
die ich in der Welt vorfinde, denen ich einen Namen geben kann,
die konkrete Dinge sein können, also Dinge,
die ich anfassen, auf die ich zeigen kann, sein,
es können auch abstrakte Dinge sein, sowas wie glücklich sein,
das muss nichts, was ich anfassen kann, nichts,
was ich auf was ich zeigen kann, das können Konzepte sein,
das können reifizierte Relationen sein,
was auch immer.
Üblicherweise macht man eine Annahme, dass man das Namen immer unterschiedliche Objekte bezeichnen.
Also wenn ich zwei verschiedene Namen habe, bezeichnen sie,
wenn nichts anderes bekannt ist, immer zwei verschiedene Objekte.
Das macht man der Einfachheit halber. Es ist allerdings eine Einschränkung,
damit kommt man nicht allzu weit,
weil man in vielen Fällen man eben ein und dasselbe Ding
auch über unterschiedliche Namen ansprechen möchte.
Das ist eben Textschreib-Business, eine ganz natürliche Angelegenheit,
dass sich schon der Abwechslung halber nicht
die gleichen Referenzen für einen und
dasselbe Ding verwende
Also was weiß ich, nehmen wir mal den 1. FC
den FC Bayern München, der als der Rekordmeister,
die Bayern und weiß ich, was alles bezeichnet wird.
Also alles unterschiedliche Bezeichnungen für einen und dasselbe Ding.
Hier ist es also für die Queen angegeben, die also entweder mit ihrem Namen,
einem sehr bürgerlichen Namen übrigens, bezeichnend werden kann.
Ich wusste gar nicht, dass man das Haus Wind so
als Familiennamen verwenden kann, was man alles lernt bei solcher Gelegenheit.
Oder eben mit ihrer Rolle, die sie im Kommenworth spielt,
als für Queen ansprechen kann. Und wenn ich das mache,
dann kann ich nicht mal feststellen,
über wie viele Personen rede ich jetzt gerade, weil ich nie weiß,
wie viele dieser Namen beziehen sich auf einen und dieselbe Person.
Und deshalb braucht man zusätzlich eine Relation, wo man sagen kann,
also ein Individuum mit einem bestimmten Namen und ein anderes Individuum
mit einem anderen Namen sollen das gleiche Individuum bezeichnen.
Also hier würde man eben sagen, The Queen und Elizabeth,
die zweite sind das gleiche Individuum.
Und natürlich eine temporär abhängige Information,
auch wenn die Queen schon ziemlich alt ist,
ewig wird sie nicht leben.
Das heißt also etwas,
was man gegebenenfalls revidieren muss
Oder ich kann natürlich auch das Gegenteil spezifizieren, dass ich
zwei Individuen als unterschiedlich deklariere. Das sind also einfache Wissensbestandteile,
die ich in dieser Sprache owle, dieser Web-Entology-Language, aufschreiben kann.
Und das erlaubt es mir dann eben zu sagen,
ja, okay, wenn das das gleiche Individuum ist,
dann kann ich alles das, was ich für das nachweisen kann,
auch auf das hier übernehmen.
Ja, Klassen, also als Mengen von Individuen,
zum Beispiel die Menge von Häusern,
die Menge von Gebäuden,
von Bürogebäuden und so weiter
Strukturiert im Hinblick auf Subklassen-Superklassen, also ein Haus. Wobei Haus,
muss man dazu sagen, ist nicht die deutsche Verwendungsweise von Haus,
sondern lass es das Einfamilienhaus von dem hier die Rede ist.
Also ein Einfamilienhaus ist eine Teilklasse der Gebäude.
Genauso wie eben ein Bürogebäude, eine Subklasse von Gebäude ist.
Und ich brauche irgendwo einen allgemeinsten Knoten, den kann man irgendwie bezeichnen.
Da gibt es unterschiedliche Konventionen. Früher war es mal Vanilla
und heute ist es Fing. Wobei das natürlich schon wieder
irgendetwas ex impliziert. Nicht alles ist ein Ding. Also
wenn ich in der Onthologie auch Werben, etwa beschreiben möchte,
Tätigkeiten beschreiben möchte, dann würde ich die ungern unter Fing unterordnen.
Aber das ist Geschmackssache. Das ändert nichts dran. Ich brauche
irgendeinen ausgezeichneten Spitzenknoten, unter dem die Begriffe alle untergeordnet sind.
Ich kann, und das ist jetzt auch wieder owl,
genauso wie diese Subclass Off, kann ich eben sagen,
wie ich same individuell sagen konnte oder different individuell,
kann ich eben sagen,
es ist die gleiche Klasse oder es sind unterschiedliche Klassen.
Also ein Einfamilienhaus ist das Gleiche wie ein Assingle Family Welling,
also offensichtlich eine Umschreibung der Bedeutung von Einfamilienhaus
Oder eben ein Einfamilienhaus hat mit einem Office-Building nichts zu tun.
Da deklariere ich, dass alle Instanzen von Einfamilienhaus
nicht in der Klasse Office-Building sein können.
Das muss so nicht sein. Das muss so nicht sein
. Für Einfamilienhäuser kann man das so machen,
aber andere Gebäude können durchaus eine Mischnutzung haben,
dass sich sowohl Büros drin habe, als auch Wohnungen.
Und dann kann ein, und dieselbe Instanz,
sowohl Element der Klasse,
gewerbliche Nutzung als auch Wohnnutzung sein
Das ist also auch hier wieder nicht ausgeschlossen,
dass sich eine Zuordnung zu mehreren Klassen mache und dann auch von beiden Klassen Eigenschaften erben kann.
Ja, die Eigenschaften sind also immer Relation zwischen einem Individuum
und einem Wert, den ich bezüglich dieser Eigenschaft zuweise.
Wir haben immer für eine Eigenschaft, ein müssen wir einerseits eine Domäne angeben,
das ist die Domäne für das Individuum, über das wir sprechen.
Und wir müssen andererseits einen Range angeben, einen Wertevorrat angeben,
dass es das für diesen Wert, der dort hinten zugewiesen wird.
Also, wenn wir die Eigenschaft Lives In haben,
dann ist das Subjekt, also von der,
das erste Bestandteil des Triples, immer vom Typ Person.
Und das Objekt, das ist das,
was hinten steht, ist vom Typ Place of Residence.
Mit anderen Worten, eine Person lebt in einem Residenzort.
Und dann können wir solche Ranges wieder noch unterscheiden,
im Hinblick auf Objektproperties, Object Properties,
wo der Range wieder ein Individuum ist,
wo wir also sagen, ja,
das muss aus einer bestimmten Klasse von Individuen sein, der Wert.
Oder es kann etwa ein Datentyp sein,
also sowas wie ein Intager, so was wie ein Datum,
so was wie eine Zeichenkette oder dergleichen mehr.
Dadurch können wir unterscheiden,
ob das wieder in die Welt der semantischen Begriffe zurückzeigt oder
ob es irgendwo auf einen Datentyp zurückgreift,
der in jeder Programmiersprache irgendwie zur Verfügung steht
Und wir können auch wieder, das ist auch eine
nette Eigenschaft, wir können auch Eigenschaften hier reiche strukturieren.
Dass wir also sagen, Lifts In ist eine speziellere Eigenschaft gegenüber
einer Enclosure. Also eine Umhüllung einer Umgebung. Oder eben,
dass der Hauptwohnsitz ein Spezialfall von einem Wohnsitz ist.
Also auf die Art und Weise können wir auch Eigenschaften hierarchisch strukturieren.
Das sind so die Ausdrucksmöglichkeiten, die man da zur Verfügung hat.
Wir können auch sagen, eine Eigenschaft ist eine inverse Eigenschaft
eines anderen
Einer anderen Eigenschaft. Also A, lebt in B,
ist eben das Umgekehrte wie B hat den Einwohner A.
Das ist manchmal nützlich, dass man die umgekehrte Schlussrichtung auch zur Verfügung hat.
Wir können sagen, welche formalen Eigenschaften eine solche Eigenschaft haben soll.
Also beispielsweise soll sie transitiv sein. Also wenn A
mit B in dieser Eigenschaft steht und B mit C in
der gleichen Eigenschaft steht, dann steht auch A mit C
in dieser Eigenschaft
Soll sie symmetrisch sein? Also wenn A mit B
in dieser Eigenschaft steht, dann auch das Umgekehrte.
RB mit A. Soll sie funktional sein? Also so etwas
wie, wird der Wert eindeutig zugeordnet?
Oder soll sie invers funktional sein? Gibt es nur ein
einziges Objekt, dem dieser Wert zugewiesen werden darf?
Und wir können auch Kardinalitätseinschränkungen eingeben, indem wir minimale Kardinalitäten
und maximalikale Larritäten angeben können. Und das sind alles Dinge,
das ist dieses Spiel an der Grenze der Entscheidbarkeit,
was ich schon mal erwähnt hatte, wo man immer testet,
Ist man durch die Angabe der Kardinalität bereits jenseits der Entscheidbarkeit oder ist man noch im Bereich der Entscheidbarkeit?
Da unterscheiden sich dann die einzelnen Sprachen hinsichtlich ihrer Ausdrucksmächtigkeit und
den Konsequenzen auf die Berechnungseigenschaften.
Ja, hier ist noch diese Frage in Klammern eingebaut,
wenn man so etwas hat. Darum kann man sich natürlich überlegen,
nicht für alle Fälle kann ich das angeben.
Also welche dieser Eigenschaften gehen nur für Objekteigenschaften,
nicht aber für Datentypeigenschaften
Gemeint. Drei Minuten vor Schluss noch mit sowas zu kommen,
das ist nicht fair. Gemeine Idee. Also funktional heißt,
ich kann dich einen Wert eindeutig zuweisen. Und es gibt
nur einen einzigen Wert, den ich zuweisen kann.
Ein zweiter ist nicht erlaubt. Geht das auch für Datentypzuweisungen
Das heißt, sowas wie die Daten, dynamisches Binden hat,
dann fangen wir ein Datentitel zu diesem Wechsel.
Das ist nicht die Frage. Ich mache keine Typrestriktion,
sondern ich lege einen Wert fest. Also ich weise über
einen Triebel einen Wert zu einer Eigenschaft zu.
Es ist wie eine Ergibtanweisung. Aber ich kann eben immer
nur bei der Ägyptanweisung, ist klar,
für klassische Variablen kann ich immer nur einen Wert zuweisen.
Die sind also immer funktional. Hier kann ich natürlich auch
mehrere zuweisen. Also sowas, was wir vorhin hatten,
dass ich mehrere Farben angeben kann.
Ein Ding muss ja nicht
einfarbig sein
So, und Objektproperties sind also solche,
die immer wieder auf andere Individuen verweisen,
also sowas wie die Ownership-Relation, die sagt eben ein Objekt,
was ich habe, ist,
hat einen Besitzer und das ist ein anderes Individuum aus meiner Welt der Individuen,
die ich habe.
Eine Day-Datei-Propertie weist also jetzt in einen Datenraum, so etwas wie die Zahlen Inditor-Zahlen beispielsweise.
Und natürlich kann ich, und das ist funktional,
einer Person eine Altersangabe zu weisen und dieses Funktional,
die ist eindeutig, zu einem gegebenen Zeitpunkt,
hat eine Person immer genau eine Altersangabe.
Und das heißt also, offensichtlich funktional kann ich auch für Nicht-Object-Properties zuweisen.
Das geht. Inverse funktional, also genau in die umgekehrte Richtung.
Wo ist also die Person eindeutig, aber möglicherweise stehen mehrere Werte zur Verfügung?
Ich habe gar kein gutes Beispiel. Doch,
ich habe ein gutes Beispiel. Also so etwas immer,
wenn ich eine Person eindeutig auszeichnen will, Ja,
das kann man immer, das ist, lassen wir das mal weg.
Das ist eine schwierige Sache, weil wir dann in diese,
in das Diskussion hineinkommen. Aber wo wir es auf
jeden Fall betrachten können, ist Symmetrie und Transitivität.
Kann ich Symmetrie für das Alter herstellen? Also gilt,
wenn das Alter einer Person zwölf ist,
gilt dann auch, dass das Alter von zwölf
die Person ist
Nicht. Das ist etwas, was nicht funktioniert. Das ist was,
was nur für Objektpropertise funktioniert, wo ich also sagen kann,
A ist Freund von B,
dann kann ich auch Symmetrie fordern, dass dann auch gilt,
B ist Freund von A oder ist Geschwister oder was auch immer man da betrachtet.
Transitivität, aus A von B, aus BVC,
also folgt auch aus A, C.
Geht das für Nicht-Objektpropertise
Also typischer Fall, so etwas, wenn ich von A
nach B fahren kann und von BNAC fahren kann,
kann ich auch von A nach C fahren.
Wenn A, Subklasse von B ist und B ist Subklasse
von C, dann ist auch A-Subklasse von C. So,
was ist, ich habe jetzt immer von Klassen geredet,
von Orten geredet, sind das Data-Type oder Object Properties?
Ja, Digga,
das ist der Eigenschaften
Sie zeigen aber wieder, dessen, dann, ha,
ha, ha, ein wichtiger Informat,
eine wichtige Information, dann ist sich klar geworden,
was der Unterschied dazwischen ist.
Also, Optik properties, da ist der Wertevorrat immer wieder ein Individuum.
Ich komme vom einen Ort A in ein Ort B,
vom Ort B komme ich in Ort C, sind immer wieder Individuen.
Es ist eine Optik-Propertie in diesem Fall. Daydatei propertie ist
so etwas wie alter. Person A hat alter zwölf Jahre.
Und da kann ich eben Transitivität nicht bilden.
Ich kann jetzt nicht sagen, zwölf Jahre und das Alter
davon ist so und so viel.
Das geht nicht
Also Symmetrie und Transitivität geht nur dann,
wenn ich das zwischen Objekten, also zwischen Individuen spezifiziere,
wenn dort ein Datentyp,
sowas wie eine Zahl oder eine Zeichenkette drin auftaucht,
dann bricht die Transitivitätskette ab, dann geht es nicht weiter.
Das ist auch super. Der eine ist die Mannschaft mit anderen,
muss man sagen, von Gras kann, okay,
gehst du mal im Prinzip, heißt man nicht, dass auch vom Prinzip.
Ich muss, nein, das gilt nicht automatisch,
nicht für beliebige Relationen oder nicht, sagen wir es so rum,
nicht jede Relation muss transitiv sein.
Das ist selbstverständlich nicht, aber wenn ich Relationen spezifizieren möchte,
ach Quatsch, wenn ich Transitivität spezifizieren möchte,
dann muss ich
es können
Aber ich kann es nur machen, wenn es eine Objektpropertie ist.
So ist die. Also, wenn ich beispielsweise Erreichbarkeit,
möchte ich als Transitivität ausweisen, Vererbung möchte ich als Transitiv ausweisen,
dann kann ich es machen, weil es objektproperties sind.
Wenn es eine Data-Type-Property wäre, dann könnte ich es nicht machen.
Aus den naheliegenden Gründen, dafür geht es einfach nicht.
Gut, okay, sorry,
jetzt hat es doch zwei Minuten länger gedauert als geplant.
Ich bitte um Entschuldigung und wir machen dann an der Stelle
weiter nächsten Montag.
Tschüss und schönen Dank