Ontologien Ein Vortrag von Sven Liekenbrock 24 06
Ontologie(n) Ein Vortrag von Sven Liekenbrock 24. 06. ‘ 03
Aufbau • Einleitung • Formalismen für die Darstellung von Ontologien (Syntax) • Ontologiesprachen SHOE, RDF/S, DAML+OIL • Ontologieentwicklung als Prozeß • Anwendungsbereiche von Ontologien • Semantic Web
Definitionsversuch einer Ontologie [Gruber `91] • „An ontology is an explicit formal specification of a shared conceptualization“ • „eine explizite formale Spezifikation einer gemeinsamen Konzeptualisierung“
Konzeptualisierung? ! • Konzeptualisierung ist eine Modell in dem Einheiten, Relationen, Funktionen und Schlußfolgerungsregeln für einen bestimmten Bereich festgelegt werden. • Bereichsgröße beliebig
Blockswelt
Blockswelt Regeln • Konzepte: Block, Table • Beziehungen: on, above, clear • Regeln: x, y : on(x, y)-> above(x, y)
Formalismen • XML (kennen wir mittlerweile) • XML/S (Schema) • F(rame) - Logic (Logikexkurs? !)
XML-Schema • Wäre eigenes Thema • Zum Schema: Klassenmodell mit hierarchischen Strukturen
F(rame) - Logic • Logik-Sprache • Verdeutlicht logische Zusammenhänge und Schlußfolgerungen
Ontologiesprachen • SHOE • RDF/S • DAML+OIL
Simple HTML Ontology Extension • Forschungsteam aus Maryland • Ziel der Einbettung von Meta-Tags in bereits bekannte HTML Strukturen • Zeitlich vor „sematic web road map“ anzusiedeln `95
Aufteilung in: • Kategorien • Relationen • Inferenzen
Beispiel: Tags die Ontologien definieren <HTML> <HEAD> <META HTTP-EQUIV=“SHOE“ CONTENT=“VERSION=1. 0“> <TITLE>Irgendein Titel</TITLE> </HEAD> <BODY> <ONTOLOGY ID=“base-ontology“ VERSION=“ 1. 0“ DESCRIPTION=“Base Ontology“> <DEF-TYPE NAME=“STRING“ DESCRIPTION=“An HTML 2. 0 String literal“ SHORT=“A string“>. . . </ONTOLOGY> </BODY> </HTML>
Beispiel: Tags die Kategorie definieren Erweitertes Ontology mit Prefix b Erweitertes Define some categories and subcategory relationships Ontology mit < DEF-CATEGORY NAME="Person" ISA="b. SHOEentity" >Prefix b … < DEF-CATEGORY NAME="Organization" ISA="b. SHOEentity" > < DEF-CATEGORY NAME="Worker" ISA="Person" > < DEF-CATEGORY NAME="Advisor" ISA="Worker" > < DEF-CATEGORY NAME="Student" ISA="Person" > < DEF-CATEGORY NAME="Graduate. Student" ISA="Student Worker" > …
Beispiel: Tags die Relation definieren … Define some relations; these examples are binary, but relations can be n-ary < DEF-RELATION NAME="advises" > < DEF-ARG POS=1 TYPE="Advisor" > < DEF-ARG POS=2 TYPE="Graduate. Student" >< /DEF-RELATION > < DEF-RELATION "age" > < DEF-ARG POS=1 TYPE="Person" > < DEF-ARG POS=2 TYPE="b. NUMBER" >< /DEF-RELATION > < DEF-RELATION "works-for" > < DEF-ARG POS=1 TYPE="Person" > < DEF-ARG POS=2 TYPE="Organization" > < DEF-ARG POS=3 TYPE=“Organization” >< /DEF-RELATION > …
… Beispiel: Tags die Inference definieren Define a transfers-through inference over working for organizations < DEF-INFERENCE > < INF-IF > < RELATION NAME="works-for" > < ARG POS=1 VALUE="x" VAR > < ARG POS=2 VALUE="y" VAR >< /RELATION > < RELATION NAME="suborganization" > < ARG POS=1 VALUE="y" VAR > < ARG POS=1 VALUE="z" VAR >< /RELATION >< /INF-IF > < INF-THEN > < RELATION NAME="works-for" > < ARG POS=1 VALUE="x" VAR > < ARG POS=2 VALUE="z" VAR >< /RELATION >< /INF-THEN > < /DEF-INFERENCE > …
Zusammenfassung • SHOE verbindet Syntax und Semantik • XML-Kompatibel • Nicht vom W 3 C unterstützt
Ressource Description Framework / (Schema) • W 3 C Entwicklung • Sprache zum Austausch von Meta-Daten • ‚maschinenverstehbar‘
Ressource • Alles was mit einer URI belegen kann, kann eine Ressource sein • Alles kann eine URI haben • -> Alles ist eine Ressource
Description • Gerichteter Graph • Menge von Statements • Teil einer Datei in XML, oder RDF/S
Graph
Statements • Ora Lassila -> creator -> http: //www. w 3. org/TR/1999/REC-rdfsyntax-19990222 • Ralph R. Swick -> creator -> http: //www. w 3. org/TR/1999/REC-rdfsyntax-19990222 • Ora Lassila-> works with-> Ralph R. Swick
In Datei <? xml version="1. 0"? > <rdf: RDF xmlns: rdf="http: //www. w 3. org/1999/02/22 -rdfsyntax-ns#" xmlns: s="http: //description. org/schema/"> <rdf: Description about="http: //www. w 3. org/Home/Lassila"> <s: Creator>Ora Lassila</s: Creator> </rdf: Description> </rdf: RDF>
RDF/ S(chema) • Vergleichbar mit Klassenkonzept • Aktuelle Empfehlung des W 3 C • Erweiterung von RDF durch sehr allgemeine Prädikate
RDF/ S Erweiterung(en) • rdfs: sub. Property. Of = erweitert rdf: Property um Eigenschaftshierarchien (Property=Eltern, Subproperty=Mutter) • rdfs: Class, rdfs: sub. Class. Of, rdfs: type = Klassen/Subklassendefinition, Typisierung • rdfs: domain = beschränkt die Anzahl gültiger Dokumente für eine Domain
RDF/ S Erweiterung(en) II • rdfs: range = legt fest in welchem Rahmen sich die Werte eines Properties bewegen • rdfs: Container = sog. Utilitykonzept, kapselt Ressourcensammlungen z. B. einer Domain • rdfs: constraint. Property = legt Einschränkungen einer Ressourceeigenschaft fest
Beispiele RDF/ S
Überleitung • RDF/S unzulänglich • Kein „automatic reasoning“
OIL • `99 Ontology Inference (Interaction) Layer • Aus dem Bereich der KI • Gut konzipierte Ontologiesprache
DAML • Ein Jahr später von der US-Regierung ins Leben gerufenes Projekt • DARPA Agent Markup Language • Stützt sich auf Klassenmodell von RDF/S
DAML+OIL • W 3 C Standard, da schnell Gemeinsamkeiten und Potential erkannt worden ist • Syntax : XML • Struktur : RDF/S
DAML+OIL • Erweitert RDF/S über – Boolsche Verknüpfung – Einschränkung von Werten und Klassen – Transitive Verknüpfung
Beispiel Boolsche Verknüpfung • Vereinigung & Vereinigung mit Schnitt – <daml: union. Of parse. Type=„daml: collection“> – <daml: intersection. Of parse. Type=„daml: collection“>
Beispiel Einschränkungen • <daml: one. Of parse. Type=„daml: collection“> • Aussage, daß der Klasse nur ein Attribut zugeordnet werden kann
Beispiel Transitive Verknüpfung • <daml: Transitive. Property rdf: ID=„. . . “> • Ist jemand im Club A Mitglied, ist er auch in B Mitglied, wenn A zu B transitiv ist.
Wie erstellt man eine Ontologie ? • 1. Welches sind die relevanten Begriffein der Domain? • 2. Wie sind die Beziehungender Begriffe zueinander? • 3. Welche Begriffe bezeichnen Klassen, welche sind Eigenschaften?
Wie erstellt man eine Ontologie ? II • 4. Gibt es abstrakte Konzepte(Superklassen), von der sich konkrete Begriffe ableiten lassen? (Hierarchisierung) • 5. Welche Eigenschaften beschreiben welche Klassen? • 6. Welche Relationen bestehen zwischen den Instanzen?
Ontologieentwicklung als Prozeß
Anwendungsbereiche von Ontologien • Datenbank Management • Information retrieval • Knowledge sharing
Schluß auf das Semantic Web • Idee von Tim Berners-Lee • Förderung der Maschine Kommunikation
Layermodell
Fazit • Während das „alte“ WWW eher mit einem unstrukturierten Text zu vergleichen ist, ist das Semantic Web und seine Datenhaltung ähnlich einer relationalen Datenbank.
[T. Davenport] • „People can‘t share information if they don‘t speak a common language“
Szenario • Agenten werden intelligent das Web nach Informationen absuchen • Inhalte werden Maschinenverstehbar sein • Auf der Suche nach “Yacht“ kommt bsp. auch „Boot“. . .
Abschluß • Danke für die Aufmerksamkeit!
- Slides: 45