Web Ontology Language (OWL) und Anfragesprachen

Größe: px
Ab Seite anzeigen:

Download "Web Ontology Language (OWL) und Anfragesprachen"

Transkript

1 Explicit explicit Formal shared Ontology Inference domain Conceptualization conceptualization TBox/ABox semantics Restriction Shared formal Triple Pattern menatal model Web Ontology Language (OWL) und Anfragesprachen Michael Fellmann Institut für Informationsmanagement und Unternehmensführung

2 Teil I Einführung in OWL Michael Fellmann 2

3 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 3

4 OWL > Motivation Motivation zur semantischen Beschreibung Beispiel DB Netz AG was ist ein Gleis? Eine Ontologie erlaubt die Erfassung der verschiedenen Bedeutungsinhalte sowie die Auflösung von Synonymen und Homonymen (und weiteren Defekten ) Quelle: Schmidt, A.; Otto, B.; Österle, H. (2010): Unternehmensweite Stammdatenintegration. In: WuM 5/2010, S. 47 Michael Fellmann 4

5 OWL > Motivation Motivation zur semantischen Beschreibung Beispiel Renault Produkt-Repräsentation mit RDF und OWL Quelle: Badra, F.; Servant, F.-P.; Passant, A. (2011): A Semantic Web Representation of a Product Range Specication based on Constraint Satisfaction Problem in the Automotive Industry. In: Proc. of the 1st International Workshop on Ontology and Semantic Web for Manufacturing (OSEMA 2011), May 29, Crete, Greece. CEUR-WS.org Vol. 748), S Beispielhafte Repräsentation eines Fahrzeugs Eine Ontologie erlaubt die Erfassung der verschiedenen Varianten Michael Fellmann 5

6 OWL > Motivation Warum OWL? Charakteristika Eindeutige Spezifikation von Konzepten und Relationen ( shared conceptualization ) prüfung Einfache Graphstruktur (S-P-O) Maschinelle Korrektheits- + Flexible Visualisierung! Maschinelle Schlussfolgerungen Michael Fellmann 6

7 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 7

8 OWL > Grundlagen Terminologische Grundlagen Beschreibungslogik Beschreibungslogiken im Allgemeinen Es handelt sich um eine Familie von Sprachen zur Wissensrepräsentation. Sie bauen meist auf einer Untermenge der Prädikatenlogik erster Stufe auf, sind im Gegensatz zu dieser jedoch entscheidbar - das ermöglicht Inferenzen (Schlussfolgerungen), d.h. aus vorhandenem Wissen neues zu gewinnen. Beschreibungslogiken werden häufig im Hinblick auf effiziente Verfahren zur Schlussfolgerung entwickelt. Entwicklung und Bedeutung von Beschreibungslogiken Das erste Beschreibungslogik-System war KL-ONE. Weitere Beispiele: LOOM (1987), BACK (1988), KRIS (1991), CLASSIC (1991), FaCT (1998), RACER (2001), KAON 2 (2005). Die Abbildung von Ontologiesprachen (bspw. OWL) auf Beschreibungslogiken ermöglicht Schlussfolgerungen, die ein wichtiger Baustein von Semantic-Web- Technologien sind. Michael Fellmann 8

9 OWL > Grundlagen OWL 1 im Überblick Begriff, Sprachprofile Was ist OWL (1.0)? OWL steht für Web Ontology Language und ist eine vom W3C standardisierte Ontologiesprache. OWL ist abbildbar auf die Beschreibungslogik SHOIN(D), für die effiziente Inferenzmaschinen existieren. OWL 1 gibt es in drei verschiedenen Versionen OWL Full OWL-DL ( Wird im Rahmen der Vorlesung verwendet) OWL Lite Mit OWL 2 gibt es bereits eine Nachfolgeversion, für die neben OWL-Full und OWL-DL noch die zusätzlichen Profile EL, RL und QL existieren. Für die Anwendung im Rahmen der Vorlesung ist jedoch die Ausdrucksstärke von OWL-DL ausreichend. Michael Fellmann 9

10 OWL > Grundlagen OWL 1 und Beschreibungslogiken Zusammenhang Beschreibungslogik ALC als Basis ALC(Attributive Language with Complements) ist die Grundlage vieler Beschreibungslogiken und unterstützt: Klassen, Rollen, Individuen und deren Beschreibung mit den Konstrukten: Konjunktion, Disjunktion, Existenz- und Allquantor sowie Negation. Erweiterungen dieser Basissprache werden durch Hinzufügungen gekennzeichnet wie: S H O I N transitive Rollen Rollen-Hierarchien Klassen basierend auf der Aufzählung ihrer Mitglieder inverse Rollen Kardinalität des Auftretens von Rollen (D) für Datentypen OWL-DL entspricht der Beschreibungslogik SHOIN(D) Michael Fellmann 10

11 OWL > Grundlagen OWL 1 und Beschreibungslogiken Zusammenhang Eigenschaften von SHOIN(D) Trotz eines relativ hohen Grades an Ausdrucksmächtigkeit vollständig berechenbar und entscheidbar. Die vollständige Berechenbarkeit (engl. computational completeness) gibt an, dass jede theoretisch herleitbare Schlussfolgerung auch tatsächlich von einer Inferenzmaschine berechenbar ist. Die Entscheidbarkeit gibt an, dass alle zu Schlussfolgerungen benötigten Berechnungen in endlicher Zeit möglich sind. Eigenschaften von OWL-DL im Gegensatz zu OWL Full ist OWL-DL berechen- und entscheidbar. OWL-DL supports those users who want the maximum expressiveness while retaining computational completeness (all conclusions are guaranteed to be computable) and decidability (all computations will finish in finite time) (McGuiness, van Harmelen 2004). Michael Fellmann 11

12 OWL > Grundlagen OWL 2 im Überblick Begriff, Sprachprofile Was ist OWL (2.0)? OWL 2 ist eine Weiterentwicklung von OWL 1 und besitzt eine höhere Ausdrucksstärke. In OWL 2 wurde der DL-Teil von OWL weiter aufgefächert in die Profile: OWL 2 EL ( Existential Quantification ) für große Ontologien mit großem Schema -Anteil (d.h. einer großen TBox), Schlussfolgerungen sind in polynomialer Zeit in Abhängigkeit der TBox möglich. OWL 2 QL ( Query Language ) für Ontologien, die aus großen Mengen von Instanzdaten bestehen (d.h. eine große ABox aufweisen), über die im Rahmen von Anfragen geschlussfolgert werden muss. Dies ist mit einem garantierten Speicherverbrauch in Bezug auf die ABox-Größe möglich (LOGSPACE). OWL 2 RL ( Rule Language ) kann mit einer Regelsprache implementiert werden und ist für Anwendungen, in denen Abstriche bei der Performanz zugunsten einer erhöhten Ausdrucksstärke hinnehmbar sind. Wesentliche Schlussfolgerungen sind in polynomialer Zeit in Abhängigkeit von der gesamten Ontologie möglich. Michael Fellmann 12

13 OWL > Grundlagen OWL 2 und Beschreibungslogiken Zusammenhang Die Beschreibungslogik SROIQ (D) sroiq ist eine Erweiterung von SHOIN Komplexitätsnavigator für DLs: Merkmale der Beschreibungslogik sind: S R O I Q (D) Einige gegenüber SHOIN zusätzliche Eigenschaften wie disjunkte, reflexive, irreflexive, asymmetrische Rollen, negierte Rollen in der ABox, reflexive Rollen in Klassenkonstruktoren etc. Komplexe Rolleninklusionen (zur Realisierung sog. Property-Ketten ) (z.b. sind PKW-Besitzer auch Motor-Besizter, da diese Teil eines PKW sind), diese implizieren zudem S (Rollen-Transitivität) und H (Rollen-Hierarchie) Klassen basierend auf der Aufzählung ihrer Mitglieder Inverse Rollen Qualifizierte Kardinalität des Auftretens von Rollen (z.b. eine Hand hat als Teile maximal 5 Finger, wovon einer ein Daumen ist.) Unterstützung von Datentypen Michael Fellmann 13

14 OWL > Grundlagen Bestandteile einer OWL-Ontologie Grafische Übersicht über wesentliche Konstrukte Kunde Land Holger Josef Elvis Liu Anna Paraguay Lettland Belgien China Bezeichnungen Klasse (Konzept) Instanz (Individuum) Property (Rolle, Relation) Produkt iphone Rasierer Michael Fellmann 14

15 OWL > Grundlagen Bestandteile einer OWL-Ontologie ABox und TBox Eine Unterteilung der in einer Beschreibungslogik ausgedrückten Fakten wird oft in eine Terminological box (TBox) und eine Assertional Box (Abox) vorgenommen. TBox Auch Schema genannt, enthält Wissen über Konzepte (Klassen) einer Domäne. Beispiele: ABox Alle Professoren sind Personen. Doktoranden haben mindestens einen Professor, der sie betreut. Auch Daten genannt, enthält Wissen über Instanzen dieser Konzepte und deren Beziehungen untereinander. Beispiele: Michael ist eine Instanz von Doktorand. Walter ist eine Instanz von Person. TBox und ABox zusammen können als Wissensbasis bezeichnet werden. Michael Fellmann 15

16 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 16

17 OWL > Klassen Klassen Deklaration und Verwendung Bedeutung von OWL-Klassen owl:class ist eine Unterklasse von rdfs:class. Klassen fassen Individuen zusammen, die gleichartig beschrieben werden können. Deklaration von OWL-Klassen Langform: Es wird eine RDF-Ressource deklariert, die als OWL-Klasse typisiert wird. Diese Form ist semantisch äquivalent zur Kurzform, wird jedoch im Folgenden aus Gründen der besseren Lesbarkeit nicht mehr weiter verwendet. Beispiel: <rdf:description rdf:id="abc"> <rdf:type rdf:resource="&owl;class"/> </rdf:description> Kurzform: Es wird die von RDF bekannte Kurzschreibweise verwendet. Beispiel: <owl:class rdf:id="abc"/> Michael Fellmann 17

18 OWL > Klassen Klassen Vordefinierte Klassen, Klassenhierarchie Vordefinierte Klassen in OWL owl:thing ist die Klasse, die alles enthält. (Thing) DL-Syntax (Nothing) owl:nothing ist leer und enthält nichts. Beziehungen jeder Klasse zu den vordefinierten Klassen Jede Klasse ist Unterklasse von owl:thing. owl:nothing ist Unterklasse jeder Klasse. Klassenhierarchien Zur Bildung einer Klassenhierarchie wird rdfs:subclassof verwendet. Beispiel: Klasse LKW ist eine Unterklasse von Automobil. <owl:class rdf:id="lkw"> <rdfs:subclassof rdf:resource="#automobil"/> </owl:class> LKW DL-Syntax Automobil Michael Fellmann 18

19 OWL > Klassen Klassen Klassenhierarchie Grafische Veranschaulichung owl:thing ist Oberklasse aller OWL-Klassen. B A DL-Syntax Die Subklassenbeziehung kann auch als is-a gelesen werden: Alle Instanzen von B sind auch Instanzen von A sowie Instanzen von Thing. owl:thing A B Michael Fellmann 19

20 OWL > Klassen Klassen Ansätze zur Klassenbildung Top-down-Ansatz (1) Allgemeinste Klasse einer Domäne formulieren (z.b. Thing ) (2) Speziellere Unterklassen entwickeln (z.b. Objekt, Prozess etc.) Bottom-up-Ansatz (1) Speziellste Klasse wird definiert (z.b. Lieferantenadresse ) (2) Definition von allgemeineren Oberklassen (z.b. Adresse ) Kombinierter Ansatz (Middle-out) (1) In beide Richtungen (2) Man beginnt mit den hervorstechendsten/ (vgl. Basisklassen im Kontext der intuitiv wichtigsten Konzepten Prototypentheorie) Michael Fellmann 20

21 OWL > Klassen Klassen Empfehlungen zur Klassenhierarchie Semantische Korrektheit Die Hierarchie repräsentiert eine transitive is-a -Beziehung, daher sollte für jede Klasse geprüft werden, ob sie Subklasse aller (!) übergeordneter Klassen ist. Keine Zyklen in der Klassenhierarchie. Siehe auch weitere Verfahren der Evaluation wie OntoClean. Guter Stil Klassen im Singular benennen. Geschwisterklassen, d.h. Subklassen einer gemeinsamen Oberklasse, sollten (außer an der Wurzel) den gleichen Abstraktionsgrad aufweisen. Synonyme Bezeichnungen der Klassen (Konzepte, Begriffe) in der Dokumentation der Klassen vermerken, nicht mehrere Klassen hierfür anlegen. Hierarchische Struktur möglichst nicht im Namen der Klassen mitführen (z.b. Klasse ObjektDokumentBedienungsanleitung ); der Kontext einer Klasse sollte durch die verwendete Software angezeigt werden. Michael Fellmann 21

22 OWL > Klassen Klassen Empfehlungen zur Verwendung von Subklassen und Instanzen Eine Subklasse hinzufügen, wenn eine Teilmenge der Instanzen zusätzliche Eigenschaften besitzt, (Ausnahme: Klassen in terminologischen Hierarchien), andere Restriktionen aufweist oder an anderen Relationen teilnimmt, oder wenn die Unterscheidung in der betrachteten Domäne wichtig ist. Eine Instanz hinzufügen, wenn keine weitere Spezialisierung mehr zu erwarten oder sinnvoll ist, oder konkrete physische Objekte gemeint sind. Beispiel: Klasse Weinsorte, Instanz Rotwein. Vorsicht: Wenn einzelne Flaschen in einem Lager gemeint sind, dann könnte Rotwein wieder zur Klasse werden. Restriktion von OWL-DL Instanzen dürfen nicht gleichzeitig als Klassen auftreten, sonst liegt OWL-Full vor. Diskussion und Lösungen: Michael Fellmann 22

23 OWL > Klassen Klassen Einfache Klassenbeziehungen Disjunkte Klassen mit owl:disjointwith Zwei Klassen können keine gemeinsamen Instanzen besitzen. DL-Syntax Männlich Weiblich Beispiel: <owl:class rdf:id="männlich"> <owl:disjointwith rdf:resource="#weiblich"/> </owl:class> Äquivalente Klassen mit owl:equivalentclass Zwei Klassen gleichen sich. DL-Syntax Automobil Kraftfahrzeug Beispiel: <owl:class rdf:id="automobil"> <owl:equivalentclass rdf:resource="#kraftfahrzeug"/> </owl:class> Michael Fellmann 23

24 OWL > Klassen Komplexe Klassen Konstruktoren Schnittmenge mit owl:intersectionof Interpretierbar als UND-Operator auf Klassen. Individuen müssen beiden Klassen zugleich angehören. Beispiel: <owl:class rdf:id="amphibienfahrzeug"> <rdfs:subclassof> <owl:class> <owl:intersectionof rdf:parsetype="collection"> <owl:class rdf:about="#landfahrzeug"/> <owl:class rdf:about="#wasserfahrzeug"/> </owl:intersectionof> </owl:class> </rdfs:subclassof> </owl:class> DL-Syntax Amphibienfahrzeug Landfahrzeug Wasserfahrzeug Michael Fellmann 24

25 OWL > Klassen Komplexe Klassen Konstruktoren Schnittmenge mit owl:intersectionof Grafische Veranschaulichung des Beispiels: Amphibienfahrzeug Fahrzeug Landfahrzeug Corolla Verso BMW 320d Mercedes SLK Wasserfahrzeug X Big Gipsy LARC-5 Wildflower DL-Syntax Amphibienfahrzeug Landfahrzeug Wasserfahrzeug Michael Fellmann 25

26 OWL > Klassen OWL-Übung Aufgabe: Überlegen Sie Gegeben sei das folgende Objekt: Einflügeliges Bodeneffektfahrzeug von Alexander Lippisch (Erstflug 1970) Begründen Sie unter Bezugnahme auf das Objekt, warum es sinnvoll ist, die Klasse Amphibienfahrzeug als Teilmenge der Schnittmenge aus Landfahrzeug und Wasserfahrzeug zu definieren (und nicht als deren Äquivalent)! Michael Fellmann 26

27 OWL > Klassen Komplexe Klassen Konstruktoren Vereinigungsmenge mit owl:unionof Interpretierbar als ODER-Operator auf Klassen. Individuen müssen einer oder beiden Klassen angehören. Beispiel: <owl:class rdf:id="wasseroderlandfahrzeug"> <rdfs:subclassof> <owl:class> <owl:unionof rdf:parsetype="collection"> <owl:class rdf:about="#landfahrzeug"/> <owl:class rdf:about="#wasserfahrzeug"/> </owl:unionof> </owl:class> </rdfs:subclassof> </owl:class> DL-Syntax WasserOderLandfahrzeug Landfahrzeug Wasserfahrzeug Michael Fellmann 27

28 OWL > Klassen Komplexe Klassen Konstruktoren Vereinigungsmenge mit owl:unionof Grafische Veranschaulichung des Beispiels: WasserOderLandfahrzeug Fahrzeug Landfahrzeug Corolla Verso BMW 320d Mercedes SLK Wasserfahrzeug X Big Gipsy LARC-5 Wildflower DL-Syntax WasserOderLandfahrzeug Landfahrzeug Wasserfahrzeug Michael Fellmann 28

29 OWL > Klassen Komplexe Klassen Konstruktoren Komplementmenge mit owl:complementof Interpretierbar als NICHT-Operator (d.h. Negation). Individuen dürfen nicht einer angegebenen Klasse angehören. Beispiel: <owl:class rdf:id="bodenoderluftoderraumfahrzeug"> <rdfs:subclassof> <owl:class> <owl:complementof rdf:resource="#wasserfahrzeug" /> </owl:class> </rdfs:subclassof> </owl:class> DL-Syntax BodenOderLuftOderRaumfahrzeug Wasserfahrzeug Michael Fellmann 29

30 OWL > Klassen Komplexe Klassen Konstruktoren Komplementmenge mit owl:complementof Grafische Veranschaulichung des Beispiels: BodenOderLuftOderRaumfahrzeug Fahrzeug Landfahrzeug Corolla Verso BMW 320d Mercedes SLK Wasserfahrzeug X Big Gipsy LARC-5 Wildflower Problem: Klasse ist zu groß, besser wäre: BLR Fahrzeug Wasserfahrzeug DL-Syntax BodenOderLuftOderRaumfahrzeug Wasserfahrzeug Michael Fellmann 30

31 OWL > Klassen Klassen und Inferenz Vorbemerkungen Inferenz und Inferenzmaschinen Der Begriff Inferenz Auch als Folgerung, Schlussfolgerung oder Schließen bezeichnet. Es geht grundlegend um die logisch korrekte Ableitung von neuen Aussagen (Fakten) aus bestehenden Aussagen. Inferenzmaschine Eine Inferenzmaschine (engl. auch Inference engine, Reasoner oder Classifier genannt) leitet durch Schlussfolgerung neue Aussagen aus einer bestehenden Wissensbasis ab. Teilweise wird auch davon gesprochen, dass durch maschinelles Schlussfolgern implizit (in der Wissensbasis) vorhandenes Wissen expliziert wird. Aufgaben von Inferenzmaschinen sind u.a.: Konsistenzprüfung (Consistency Checking) Explizite Ober-/Unterbeziehungen prüfen oder entdecken (Subsumption Checking) Gleichheitsprüfung (Equivalence Checking) Instanziierungsprüfung (Instantiation Checking) Michael Fellmann 31

32 OWL > Klassen Klassen und Inferenz Vorbemerkungen OWA und GWA, Implementierungen von Inferenzmaschinen Annahme einer offenen oder geschlossenen Welt Die Geschlossene-Welt-Annahme beim Schlussfolgern (Closed World Reasoning) Annahme, dass alle relevanten Fakten in der Wissensbasis vorhanden sind. Fehlende bzw. unauffindbare Informationen können als Fehler interpretiert werden. Die Offene-Welt-Annahme beim Schlussfolgern (Open World Reasoning) Annahme, dass die Wissensbasis unvollständig ist. Fehlende Informationen werden als unbekannt (nicht: falsch) eingestuft. Inferenzmaschinen für OWL-DL Es existieren leistungsfähige Inferenzmaschinen wie Pellet HermiT FACT++ Racer Michael Fellmann 32

33 OWL > Klassen Klassen und Inferenz Beispiele für Schlussfolgerungen Durch logisches Schließen (Inferenz) können einer Ontologie auf der Basis der verwendeten Sprachkonstrukte automatisch (mittels einer Inferenzmaschine) neue Fakten hinzugefügt werden. Im Folgenden werden hierfür Beispiele angegeben. Nutzung der transitiven Subklassenbeziehung Gegeben: Schlussfolgerung: TBox: Fakultätsmitglied Person Professor Fakultätsmitglied Professor Person Nutzung der Subklassen- und Äquivalenzbeziehung Gegeben: Schlussfolgerung: TBox: Professor Fakultätsmitglied Professor Hochschullehrer Hochschullehrer Fakultätsmitglied Michael Fellmann 33

34 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 34

35 OWL > Properties Abgrenzung: Properties und Eigenschaften Grundlegende Bemerkungen Properties sind Beziehungen zwischen Instanzen von Klassen, diese werden in der Literatur auch als Rollen oder (gelegentlich) Relationen bezeichnet. In RDF wird auch davon gesprochen, dass Ressourcen (Subjekte) Properties (Prädikate) besitzen, deren Wert (Objekt) andere Ressourcen sind. In OWL werden Properties, die Instanzen verbinden, als Objekt-Properties bezeichnet. Eigenschaften sind Beziehungen zwischen Instanzen von Klassen und Datenwerten. In RDF wird auch davon gesprochen, dass Ressourcen (Subjekte) Properties (Prädikate) besitzen, deren Werte (Objekte) Literale sind. In OWL werden Eigenschaften als spezielle Properties aufgefasst: Sie werden als Daten-Properties bezeichnet. Im Rahmen der Vorlesung werden zur Reduzierung der Bezeichnungsvielfalt die OWL-nahen Bezeichnungen Objekt-Property und Daten-Property gewählt. Michael Fellmann 35

36 OWL > Properties Properties Charakterisierung, Deklaration Charakterisierung von Properties Properties in OWL sind Spezialisierungen von rdf:property und besitzen daher eine Domäne, die über rdfs:domain angegeben wird und einen Wertebereich, der über rdfs:range angegeben wird. Beispiele zur Deklaration Objekt-Property: <owl:objectproperty rdf:id="besitzt"> <rdfs:domain rdf:resource="#person"/> <rdfs:range rdf:resource="#objekt"/> </owl:objectproperty> DL-Syntax besitzt. Person besitzt.objekt Daten-Property: <owl:datatypeproperty rdf:id="hatalter"> <rdfs:domain rdf:resource="#person"/> <rdfs:range rdf:resource="&xsd;int"/> </owl:datatypeproperty> DL-Syntax hatalter. Person hatalter.(xs:int) Michael Fellmann 36

37 OWL > Properties Daten-Properties Verwendbare Datentypen Grundsätzlich können die von der XML-Schema-Spezifikation bekannten Datentypen verwendet werden. Ausgewählte Datentypen Name Bedeutung Beispiel xsd:float Gleitkommazahlen 2.25 xsd:int Ganzzahlen 4711 xsd:boolean Wahrheitswerte true xsd:string Zeichenkette abcdef xsd:double Gleitkommazahlen mit hoher Präzision xsd:date Datum xsd:datetime Datum mit Uhrzeit T09:00:00 In OWL 2 können darüber hinaus durch Mechanismen von XML-Schema eigene Typen definiert werden. Michael Fellmann 37

38 OWL > Properties Beziehungen zwischen Properties Gleichartigkeit und Umgekehrtheit Äquivalente Properties owl:equivalentproperty zur Deklaration von Properties, deren Extension gleich ist, die sich aber hinsichtlich ihrer Intension unterscheiden können owl:sameas zur Definition synonymer Properties. Beispiel: <owl:objectproperty rdf:id="hatehefrau"> <owl:equivalentproperty rdf:resource="#hatgattin"/> </owl:objectproperty> Inverse Properties (nur bei Objektproperties möglich) owl:inverseproperty zur Deklaration inverser ( umgekehrter ) Properties Beispiel: <owl:objectproperty rdf:id="hatehefrau"> <owl:inverseof rdf:resource="#hatehemann"/> </owl:objectproperty> hatehefrau DL-Syntax hatehefrau hatgattin DL-Syntax hatehemann Michael Fellmann 38

39 OWL > Properties Zusätzliche Beziehungen zwischen Properties in OWL 2 Disjunktivität und Propertyketten Disjunkte Properties Erlauben eine zusätzliche Einschränkung gültiger Ontologien. Es gilt stets: R 1 (x, y) R 2 (y, x). Somit können einfache Wenn-Dann-Beziehungen spezifiziert werden, die als Restriktion genutzt werden können. Beispiel: Wenn ein Kunde das Property hatneukundenrabatt besitzt, dann darf er nicht das Property hatstammkundenrabattstufe besitzen. Property-Ketten (nur bei Objektproperties möglich) Das Auftreten eines Properties zwischen zwei Instanzen in der Wissensbasis wird an das Auftreten einer Kette von Properties zwischen den beteiligten Instanzen gebunden. Es können somit ebenfalls einfache Wenn-Dann-Beziehungen spezifiziert werden, mit denen neues Wissen generiert wird. Beispiel: Wenn ein Fahrzeug als Bauteil einen Motor hat, der einen bestimmten Treibstoff verbraucht, dann benötigt das Fahrzeug diesen Treibstoff. Schematisch: R hatmotor (x, y), R verbrauchttreibstoff (x, z) R benoetigttreibstoff (x, z) Michael Fellmann 39

40 OWL > Properties Zusätzliche Beziehungen zwischen Properties in OWL 2 Propertyketten Beispiel Grafisch: LARC-5 V-903 Engine Diesel hatmotor verbrauchttreibstoff In RDF/XML: <owl:objectproperty rdf:id="benoetigttreibstoff"> <owl:propertychainaxiom rdf:parsetype="collection"> <owl:objectproperty rdf:about="hatmotor"/> <owl:objectproperty rdf:about="verbrauchttreibstoff"/> </owl:propertychainaxiom> </owl:objectproperty> Charakteristische Anwendungen benoetigttreibstoff Übertragung von Eigenschaften in hierarchischen Ordnungen entlang der Hierarchie (z.b. Teil/Ganzes-Hierarchie, Subklassenhierarchie). Transfer von Eigenschaften zwischen Instanzen (z.b. eine Person kennt ein Dokument, das ein Thema behandelt Person kennt das Thema). Michael Fellmann 40

41 OWL > Properties Properties mit besonderen Eigenschaften Funktionalität Funktionale Properties owl:functionalproperty zur Deklaration von Properties, die maximal einen Wert für jede Instanz besitzen dürfen (äquivalent zur Kardinalitätsrestriktion von 1). DL-Syntax 1 hatvorgesetzten Lässt Schlüsse der Form zu: R(x, y) und R(x, z) y = z. Beispiele: hatvorgesetzen, hatmutter. Inversfunktionale Properties (nur bei Objekt-Properties möglich) owl:inversefunctionalproperty zur Deklaration von Properties, für die verschiedene Instanzen nicht den gleichen Wert besitzen können. DL-Syntax 1 hatssn Lässt Schlüsse der Form zu: R(x, y) und R(z, y) x = z. Beispiele: hatssn, hatpersonalausweisnummer. Michael Fellmann 41

42 OWL > Properties Properties mit besonderen Eigenschaften Transitivität, Symmetrie Transitive Properties (nur bei Objekt-Properties möglich) owl:transitiveproperty zur Deklaration Lässt Schlüsse der Form zu: R(x, y) und R(y, z) R(x, z). Beispiele: subregionvon, hatnachfahre. subregion + DL-Syntax subregion Symmetrische Properties (nur bei Objekt-Properties möglich) owl:symmetricproperty zur Deklaration Lässt Schlüsse der Form zu: R(x, y) R(y, x). Beispiele: hatpartner, istgeschwistervon. hatpartner DL-Syntax hatpartner In OWL 2 sind weitere Eigenschaften möglich Reflexive und irreflexive Properties. Irreflexivität erlaubt den Schluss: R(x, y) y x. Asymmetrische Properties. Es gilt stets: R(x, y) R(y, x). Michael Fellmann 42

43 OWL > Restriktionen Properties mit besonderen Eigenschaften Schlüsseleigenschaft von Properties in OWL 2 Festlegung von Properties als Schlüssel Ein Property oder mehrere Properties können als Schlüssel einer Klasse festgelegt werden. Jede Instanz der Klasse kann dann eindeutig durch die Menge der Werte dieser Properties identifiziert werden. Es können Objekt- und Daten-Properties verwendet werden. Beispiel: <owl:class rdf:about="maschine"> <owl:haskey rdf:parsetype="collection"> <owl:datatypeproperty rdf:id="hatinventarnr"/> </owl:haskey> </owl:class> Alternative: Referenzierung eines extern deklarierten Property <rdf:description rdf:about="hatinventarnr"/> owl:haskey kann zur Spezifikation eines Schlüssels auf Klassenebene verwendet werden. Michael Fellmann 43

44 OWL > Properties Properties und Inferenz Beispiele für Schlussfolgerungen Nutzung der Property-Hierarchie und -Transitivität Gegeben: Schlussfolgerung (u. a.): TBox: Fluss mündetin fließtin fließtin + fließtin ABox: Fluss(pegnitz), Fluss(main), Fluss(rhein) mündetin(pegnitz, main), mündetin(main, rhein) fließtin(pegnitz, rhein) Nutzung der Property-Hierarchie und inverser Properties Gegeben: Schlussfolgerung (u. a.): TBox: Firma istgeschäftspartner istgeschäftspartner istgeschäftspartner kennt ABox: Firma(a), Firma(b), istgeschäftspartner(a, b) kennt(b, a) Michael Fellmann 44

45 OWL > Properties Properties und Inferenz Beispiele für Schlussfolgerungen Nutzung von Domäne und Wertebereich zur Klassierung Gegeben: TBox: istkfzhaltervon. Person, istkfzhaltervon.pkw, hatehemann. Frau ABox: istkfzhaltervon(yun, q7), hatehemann(yun, heinz) Schlussfolgerungen: Person(yun), Frau(yun), PKW(q7) Nutzung inversfunktionaler Properties zur Äquivalenzbestimmung Gegeben: TBox: 1hatUmsatzsteuerID ABox: hatumsatzsteuerid(fa_meier, "DE "), hatumsatzsteuerid(meier_gmbh, "DE ") Schlussfolgerung: fa_meier meier_gmbh Michael Fellmann 45

46 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 46

47 OWL > Restriktionen Restriktionen auf Klassen Grundlegendes Property-Restriktionen sind Bedingungen, welche die zulässigen Property-Werte einschränken, die Instanzen einer Klasse aufweisen dürfen. Festlegung durch <owl:restriction>...</owl:restriction> Die Restriktion muss ein owl:onproperty-element enthalten und ein oder mehrere der folgenden Deklarationen: owl:cardinality, owl:mincardinality, owl:maxcardinality owl:allvaluesfrom owl:somevaluesfrom owl:hasvalue Weitere Restriktionen in OWL 2 Qualifizerte Kardinalitätsrestriktionen Selbstbezüge (owl:hasself) Restriktionen über Datentypdefinitionen (vgl. Abschn. Benutzerdefinierte Datentypen ) Michael Fellmann 47

48 OWL > Restriktionen Restriktionen auf Klassen Kardinalitäts-Restriktion Unter- und Obergrenze der Kardinalität (Auftretenshäufigkeit) Für das Auftreten eines Properties bei einer Instanz kann eine genaue Anzahl mit owl:cardinality, oder eine Untergrenze mit owl:mincardinality und/oder eine Obergrenze mit Beispiel: owl:maxcardinality festgelegt werden. <owl:class rdf:id="vorlesung"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hatdozent"/> <owl:mincardinality rdf:datatype="&xsd;int">1</owl:mincardinality> </owl:restriction> </rdfs:subclassof> DL-Syntax </owl:class> Vorlesung 1 hatdozent Michael Fellmann 48

49 OWL > Restriktionen Restriktionen auf Klassen Qualifizierte Kardinalitäts-Restriktion in OWL 2 Qualifizierte Kardinalität (Auftretenshäufigkeit mit Typangabe) Für das Auftreten eines Properties bei einer Instanz kann die Anzahl (min, max, exakt) in Abhängigkeit des Wertebereichs festgelegt werden. Beispiel: <owl:class rdf:id="pruefung"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hatpruefer"/> <owl:onclass rdf:resource="#professor"/> <owl:minqualifiedcardinality rdf:datatype="&xsd;nonnegativeinteger" >1</owl:minQualifiedCardinality> </owl:restriction> </rdfs:subclassof> </owl:class> DL-Syntax (Erweiterung) Pruefung 1 hatpruefer.professor Kombinierbar mit unqualifizierter Kardinalitätsangabe (z.b. max. 3 Prüfer) Michael Fellmann 49

50 OWL > Restriktionen Restriktionen auf Klassen Wertebereichs-Restriktion Einschränkungen des Wertebereiches Für das Auftreten eines Properties bei einer Instanz kann vorgeschrieben werden, dass dieses Property nur bestimmte Werte annehmen darf. Beispiel: <owl:class rdf:id="vorlesung"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hatdozent"/> <owl:allvaluesfrom rdf:resource="#lehrpersonal"/> </owl:restriction> </rdfs:subclassof> </owl:class> DL-Syntax Vorlesung hatdozent.lehrpersonal Michael Fellmann 50

51 OWL > Restriktionen Restriktionen auf Klassen Existenz-Restriktion Forderung nach mindestens einem Wert Für das Auftreten eines Properties bei einer Instanz kann vorgeschrieben werden, dass dieses mindestens einen Wert eines bestimmten Objekttyps aufweist. Beispiel: <owl:class rdf:id="pruefung"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hatpruefer"/> <owl:somevaluesfrom rdf:resource="#professor"/> </owl:restriction> </rdfs:subclassof> </owl:class> DL-Syntax Prüfung hatpruefer.professor Michael Fellmann 51

52 OWL > Restriktionen Restriktionen auf Klassen Vorgabewert-Restriktion Festlegung eines Vorgabewertes Für das Auftreten eines Properties bei einer Instanz kann ein fester Wert vorgegeben werden. Beispiel: <owl:class rdf:id="niederlassungusa"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hatland"/> <owl:hasvalue rdf:resource="#usa"/> </owl:restriction> </rdfs:subclassof> </owl:class> NiederlassungUSA DL-Syntax hatland.{usa} owl:hasvalue kann zur Spezifikation von Relationen oder Eigenschaften auf Klassenebene verwendet werden. Michael Fellmann 52

53 OWL > Restriktionen Restriktionen auf Klassen und Inferenz Beispiele für Schlussfolgerungen Nutzung der Kardinalitäts-Restriktion Gegeben: Schlussfolgerung: TBox: Fahrzeug =1 hathalter hathalter. Fahrzeug ABox: hathalter(a4, sabine), hathalter(a4, bine) sabine bine Nutzung eines Vorgabewertes Gegeben: Schlussfolgerung: TBox: NiederlassungUSA hatland.{usa} ABox: NiederlassungUSA(san_francisco) hatland(san_francisco, USA) Viele Inferenz-Beispiele, die auf Restriktionen basieren, benötigen definierte Klassen. siehe daher auch die Inferenzbeispiele im Bereich definierte Klassen. Michael Fellmann 53

54 OWL > Restriktionen Weitere Schlussfolgerungen in Bezug auf Existenzaussagen Äquivalenzbeziehung Der Vereinigungsmengenkonstruktor (ODER) verhält sich distributiv in Existenzaussagen (der Schnittmengekonstruktor nicht!). Es gilt: p.(a B) ( p.a) ( p.b) Subklassenbeziehungen Einige Folgerungen sind schwächer als Äquivalenzen. Beispiele: p.(a B) ( p.a) ( p.b) ( p.a) ( p.b) ( p.a) ( p.b) ( p.a) ( p.b) p.(a B) Quelle: Michael Fellmann 54

55 OWL > Restriktionen Weitere Schlussfolgerungen in Bezug auf Allaussagen Äquivalenzbeziehung Der Schnittmengekonstruktor (UND) verhält sich distributiv in Allaussagen (der Vereinigungsmengenkonstruktor nicht!). Es gilt: p.(a B) ( p.a) ( p.b) Subklassenbeziehungen Einige Folgerungen sind schwächer als Äquivalenzen. Beispiele: ( p.a) ( p.b) ( p.a) ( p.b) p.(a B) ( p.a) ( p.b) ( p.a) ( p.b) ( p.(a B)) Quelle: Michael Fellmann 55

56 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 56

57 OWL > Klassenarten Primitive und definierte Klassen Vorbemerkungen Primitive Klassen Auch partielle Klassen genannt, da sie nur notwendige Bedingungen, jedoch keine hinreichenden angeben. Die Klassenmitgliedschaft von Individuen wird i.d.r. manuell bspw. durch einen Ontologiekonstrukteur oder Ontologienutzer deklariert. Definierte Klassen Auch vollständige Klassen genannt, da sie notwendige und hinreichende Bedingungen angeben, um die Mitgliedschaft einer Instanz zu entscheiden. Die Klassenmitgliedschaft kann automatisch durch eine Inferenzmaschine geschlossen werden. Definierte Klassen nutzen das Potenzial maschineller Intelligenz. Michael Fellmann 57

58 OWL > Klassenarten Primitive Klassen Beispiel für eine Klasse mit ausschließlich notwendigen Bedingungen Klasse Unternehmensprozess Notwendige Bedingung: Unternehmensprozesse werden von mindestens einer Person oder einer Maschine ausgeführt. RDF/XML: <owl:class rdf:id="unternehmensprozess"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hatakteur"/> <owl:somevaluesfrom> <owl:class> <owl:unionof rdf:parsetype="collection"> <owl:class rdf:about="#mitarbeiter"/> <owl:class rdf:about="#maschine"/> </owl:unionof> </owl:class> </owl:somevaluesfrom> DL-Syntax </owl:restriction> Unternehmensprozess </rdfs:subclassof> hatakteur.(mitarbeiter Maschine) </owl:class> Michael Fellmann 58

59 OWL > Klassenarten Definierte Klassen Beispiel für eine Klasse mit notwendigen und hinreichenden Bedingungen Klasse KritischerProzess Notwendige Bedingung: Der Prozess wird von einem Mitarbeiter ausgeführt. Hinreichende Bedingung: Der Prozess unterstützt ein strategisches Unternehmensziel. RDF/XML: <owl:class rdf:id="kritischerprozess"> <owl:equivalentclass> <owl:restriction> <owl:onproperty rdf:resource="#hatziel"/> <owl:somevaluesfrom rdf:resource="#strategischesziel"/> </owl:restriction> </owl:equivalentclass> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hatakteur"/> <owl:somevaluesfrom rdf:resource="#mitarbeiter"/> </owl:restriction> DL-Syntax </rdfs:subclassof> KritischerProzess hatziel.strategischesziel </owl:class> KritischerProzess hatakteur.mitarbeiter Michael Fellmann 59

60 OWL > Klassenarten Definierte Klassen Klassenbildung durch Enumeration Definition einer Klasse durch vollständige Aufzählung ihrer Instanzen mit owl:oneof Alle Instanzen einer Klasse werden vollständig aufgelistet, die Klasse kann darüber hinaus keine weiteren Instanzen enthalten. Beispiel: <owl:class rdf:id="amphibienfahrzeug"> <owl:oneof rdf:parsetype="collection"> <owl:thing rdf:about="larc5"/> <owl:thing rdf:about="amphicar"/> </owl:oneof> </rdfs:subclassof> </owl:class> DL-Syntax Amphibienfahrzeug {larc5, amphicar} Michael Fellmann 60

61 OWL > Klassenarten Definierte Klassen Klassenbildung durch Enumeration Definition einer Klasse durch vollständige Aufzählung ihrer Instanzen mit owl:oneof Grafische Veranschaulichung des Beispiels: Amphibienfahrzeug Fahrzeug Corolla Verso BMW 320d Amphicar LARC-5 Big Gipsy Mercedes SLK Wildflower DL-Syntax Amphibienfahrzeug {larc5, amphicar} Michael Fellmann 61

62 OWL > Klassenarten Definierte Klassen und Inferenz Beispiele für Schlussfolgerungen Nutzung definierter Klassen und der Vereinigungsmenge Gegeben: Schlussfolgerungen: TBox: Kunde Käufer Interessent Käufer Kunde Interessent Kunde Nutzung definierter Klassen, der Subklassenbeziehung und Existenz-Restriktion Gegeben: Schlussfolgerung: TBox: Prozess hatergebnis.produkt Kreditvergabe hatergebnis.kredit Kredit Produkt Kreditvergabe Prozess Michael Fellmann 62

63 OWL > Klassenarten Definierte Klassen und Inferenz Beispiele für Schlussfolgerungen Nutzung def. Klassen, Vereinigungs- und Schnittmenge sowie Existenz-Restriktion Gegeben: Schlussfolgerung: TBox: WerbeEmpfänger (Käufer Interessent) hatzugestimmt.werbemittel ABox: Interessent(max), hatzugestimmt(max, briefpost) Werbemittel(briefpost) WerbeEmpfänger(max) Nutzung definierter Klassen, Schnittmenge und der Existenz-Restriktion Gegeben: Schlussfolgerungen (u. a.) : TBox: Interessent hatinteressean.produkt Käufer hatgekauft.produkt InformierterKäufer Interessent Käufer hatgekauft.produkt ABox: hatinteressean(max, pda), hatgekauft(max, pda) InformierterKäufer(max) Michael Fellmann 63

64 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 64

65 OWL > Datentypen Benutzerdefinierte Datentypen in OWL Grundlegendes In OWL verfügbare Datentypen Grundsätzlich unterstützt OWL eine breite Auswahl an Datentypen, die auf die XML-Schema-Spezifikation zurückgehen (vgl. syntax/#datatype_maps). Benutzerdefinierte Datentypen Benutzerdefiniert meint, dass ein Datentyp von einem verfügbaren, in den OWL- Standard eingebauten Datentyp abgeleitet wurde. Ein abgeleiteter Datentyp besteht aus einem Wertebereich, einem lexikalischen Bereich und einer Menge von Facetten, die den Wertebereich einschränken. Wertebereich: Die Werte, die Instanzen eines Typs annehmen können. Lexikalischer Bereich: Die Zeichenrepräsentation, z.b für den Wert 2. Facetten: Die Angabe eines Datentyps erfolgt (analog zu XML-Schema) durch die Einschränkung des Wertebereichs eines Basistyps, die durch Facetten spezifiziert wird (z.b. mininclusive für Integer). Welche Facetten verwendet werden können, ist durch die OWL-Spezifikation für den jeweiligen Basistyp festgelegt. Michael Fellmann 65

66 OWL > Datentypen Benutzerdefinierte Datentypen in OWL Ein erstes Beispiel Definition eines Datentyps für Zahlen größer Null Ähnlich wie bspw. in XML-Schema, wird zunächst der Datentyp genannt, von dem abgeleitet wird (owl:ondatatype). Danach folgt eine Kollektion von Restriktionen. Die Serialisierung der Typbeschreibung erfolgt in RDF/XML gemäß der Tripelstruktur: Subjekt jeder Restriktion ist eine anonyme Ressource (rdf:description), Prädikate der Ressource sind die Facetten (z.b. xsd:minexclusive), Objekte der Tripel spezifizieren die Ausprägung der Facette (z.b. 1 ). Beispiel in RDF/XML: <rdfs:datatype rdf:id="int_dauer"> <owl:ondatatype rdf:resource="&xsd;int"/> <owl:withrestrictions rdf:parsetype="collection"> <rdf:description> <xsd:minexclusive rdf:datatype="&xsd;integer" >1</xsd:minExclusive> </rdf:description> </owl:withrestrictions> int_dauer := int[> 1] </rdfs:datatype> DL-Syntax (Erweiterung) Michael Fellmann 66

67 OWL > Datentypen Benutzerdefinierte Datentypen in OWL Deklaration anonym oder benannt <owl:class rdf:id="prozess"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hatdauer"/> <owl:somevaluesfrom> <rdfs:datatype>... (vgl. bspw. vorherige Folie)... </rdfs:datatype> </owl:somevaluesfrom> </owl:restriction> </rdfs:subclassof> </owl:class> DL-Syntax (Erweiterung) <rdfs:datatype rdf:id="int_dauer"> <owl:equivalentclass> <rdfs:datatype>... (vgl. bspw. vorherige Folie)... </rdfs:datatype> </owl:equivalentclass> </rdfs:datatype> </rdfs:datatype> <owl:class rdf:id="prozess"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hatdauer"/> <owl:somevaluesfrom rdf:resource="#int_dauer"/> </owl:restriction> </rdfs:subclassof> </owl:class> DL-Syntax (Erweiterung) Prozess hatdauer.int[> 1] Prozess hatdauer.int_dauer Michael Fellmann 67

68 OWL > Datentypen Komposition benutzerdefinierter Datentypen in OWL Grundlegendes zu Datentyp-Ausdrücken Verwendung von Datentyp-Ausdrücken Datentyp-Ausdrücke können verwendet werden, um aus bestehenden (anonym oder benannt deklarierten) Datentypen neue Datentypen zusammenzusetzen. Datentyp-Ausdrücke können innerhalb von Datentypen oder Restriktionen spezifiziert werden. Es können hierbei die gleichen Operatoren verwendet werden, die auch zur Konstruktion komplexer Klassen dienen. Operatoren zur Konstruktion Symbol Name OWL-Konstrukt Beispiel {...,...} UND ODER NICHT ENUM. owl:intersectionof owl:unionof owl:complementof owl:oneof int[> 1] int[< 23] int[> 0] int[< 0] int[< 0] {1, 2, 42} Ähnliche Ausdrücke sind auch mit anderen Datentypen möglich, bspw. xsd:datetime. Bei Schlussfolgerungen wird die Bedeutung der Datentypen berücksichtigt! Michael Fellmann 68

69 OWL > Datentypen Benutzerdefinierte Datentypen und Inferenz Beispiele für Schlussfolgerungen Nutzung definierter Klassen und benutzerdefinierter Datentypen (1) Gegeben: Schlussfolgerung: TBox: Normalprozess hatdauer.(int[> 0] int[< 6]) Expressprozess hatdauer.{1, 2} Expressprozess Normalprozess Nutzung definierter Klassen und benutzerdefinierter Datentypen (2) Gegeben: TBox: int_dauer := int[> 0] int[<6] int_expressdauer := {1, 2} int_normaldauer := int_dauer int_expressdauer Normalprozess hatdauer.int_normaldauer Sonderprozess hatdauer.( int_normaldauer) ABox: hatdauer(x, 2), hatdauer(y, 3), hatdauer(z, 9) Schlussfolgerungen: Sonderprozess(x), Normalprozess(y), Sonderprozess(z) Michael Fellmann 69

70 OWL > Datentypen Benutzerdefinierte Datentypen und Inferenz Beispiele für Schlussfolgerungen Nutzung definierter Klassen und benutzerdefinierter Datentypen (3) Gegeben: TBox: dt_in-summer := (datetime[> " T00:00:00-00:00"] datetime[< " T00:00:00-00:00"]) dt_heat-months := (datetime[> " T00:00:00-00:00"] datetime[< " T00:00:00-00:00"]) dt_in-summer-not-heat := (dt_in-summer dt_heat-months) InSummer hasdate.dt_ in-summer InWarmTime hasdate.(dt_in-summer dt_heat-months) InWarmMonths hasdate.dt_in-summer-not-heat Before2014 hasdate.datetime[< " T00:00:00-00:00"] ABox: hasdate(event, " T04:00:00-05:00") Schlussfolgerungen: InSummer Before2012, InWarmTime InSummer InWarmMonths InSummer, InWarmTime InWarmMonths Before2012(event), InSummer(event) InWarmMonths(event), InWarmTime(event) Michael Fellmann 70

71 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 71

72 OWL > Instanzen Instanzen Grundlegendes Es existieren zwei Arten von Instanzen Klassen-Instanzen (Individuen) Beispiel: <Prozess rdf:id="auftragsbearbeitung"/> Entspricht dem Erzeugen von Instanzen in RDF. Property-Instanzen Beispiel: <Prozess rdf:id="auftragsbearbeitung"> <hatmitarbeiter>5</hatmitarbeiter> </Prozess> Property Properties in OWL entsprechen Prädikaten in Subjekt-Prädikat-Objekt-Sätzen. Michael Fellmann 72

73 OWL > Instanzen Instanzen Beziehungen zwischen Instanzen Gleichheit mit owl:sameas Deklariert, dass verschiedene Bezeichner dasselbe Individuum bezeichnen. Wichtig für Inferenz, da in OWL die Non Unique Name Assumption gilt! Beispiel: <rdf:description rdf:id="rechnung"> <owl:sameas rdf:resource="#faktura"/> </rdf:description> Unterschiedenheit mit owl:differentfrom Gegenteil von sameas. Deklariert, dass zwei Individuen verschieden voneinander sind. Beispiel: Verwendung ähnlich wie owl:sameas. Michael Fellmann 73

74 OWL > Instanzen Instanzen Beziehungen zwischen Instanzen Mengen unterschiedlicher Instanzen mit owl:alldifferent Es handelt sich um eine speziell definierte, vorgegebene OWL-Klasse. Diese kann in Verbindung mit dem Property owl:distinctmembers dazu verwendet werden, die Verschiedenheit einer Menge von Individuen zu notieren. In semantischer Hinsicht entspricht dies einer paarweisen Deklaration der Verschiedenheit der Instanzen untereinander mit owl:differentfrom. Beispiel: <owl:alldifferent> <owl:distinctmembers rdf:parsetype="collection"> <Person rdf:about="#einstein"/> <Person rdf:about="#heisenberg"/> <Person rdf:about="#leibnitz"/> </owl:distinctmembers> </owl:alldifferent> Michael Fellmann 74

75 OWL > Instanzen Instanzen und Inferenz Beispiele für Schlussfolgerungen Nutzung definierter Klassen, Gleichheit und der Vereinigungsmenge Gegeben: Schlussfolgerungen: TBox: FlussUndStrassenfahrzeug Landfahrzeug Wasserfahrzeug ABox: Landfahrzeug(hans_trippels_car), Wasserfahrzeug(amphicar) sameas(amphicar, hans_trippels_car) FlussUndStrassenfahrzeug(amphicar), FlussUndStrassenfahrzeug(hans_trippels_car) Nutzung def. Klassen, Unterschiedenheit u. der qualifizierten Kardinalitäts-Restriktion Gegeben: Schlussfolgerung: TBox: AntragMitDoppelterPrüfung = 2hatPrüfer.Person ABox: hatprüfer(urlaubsantrag, chef), hatprüfer(urlaubsantrag, sachbearbeiter), differentfrom(chef, sachbearbeiter) AntragMitDoppelterPrüfung(urlaubsantrag) Michael Fellmann 75

76 OWL > Instanzen Namenskonventionen Empfehlungen (nicht nur für Instanzen) Namenskonventionen für Ontologie definieren und konsequent anwenden Ontologie leichter verständlich Beugt einigen Modellierungsfehlern vor Verschiedene zu betrachtende Konventionen Großschreibung und Trennzeichen Klassen meist groß, Properties meist klein. Bei Bezeichnern aus zwei Wörtern Trennzeichen verwenden wie _, - oder zusammenschreiben (sog. CamelCase -Schreibweise). Bei Klassen sollte möglichst konsequent der Singular verwendet werden. Präfix- und Suffix-Konventionen: Properties von Klassen abgrenzen (z.b. hatgeburtstag vs. Geburtstag ). Keine unnötigen Suffixe (z.b. bei direkten Unterklassen den Namen der Oberklasse nicht wiederholen (Ausnahmen sind zur Verbesserung der Verständlichkeit teilweise aber möglich). Michael Fellmann 76

77 OWL Schlussbetrachtung zur OWL-Einführung Was ist OWL? OWL ist eine Sprache zur Formulierung von Ontologien. Mit OWL kann Wissen formal repräsentiert werden und es existieren effiziente Algorithmen für Schlussfolgerungen. und was nicht? OWL ist keine Programmiersprache (es ist eine deklarative Sprache, um den Zustand der Welt oder wahres Wissen zu beschreiben). OWL ist keine Schemasprache wie XML-Schema (syntaktisch korrekte Dokumente zu beschreiben, ist nicht das Ziel von OWL). Ontologien sind keine Datenbanken (können aber von DB-Technologien profitieren). OWL ist eine Wissensrepräsentationssprache, die maschinelle Schlussfolgerungen erlaubt! Michael Fellmann 77

78 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 78

79 Ontologien > Methoden Vorgehensmodelle Einordnung und Relevanz Vorgehensmodelle beschreiben eine sinnvolle Ordnung der in einem Gestaltungsprozess auftretenden Aufgabenstellungen und können Empfehlungen hinsichtlich der anzuwendenden Methoden, Techniken und Werkzeuge geben. Die konsequente Anwendung eines Vorgehensmodells zur Ontologiekonstruktion ermöglicht bzw. erleichtert die effiziente Entwicklung komplexer Ontologien, Sicherstellung von Konsistenz und Korrektheit, verteilte Entwicklung von Ontologien durch geographisch getrennte Gruppen. Die Entwicklung von Ontologien kann in drei Bereiche, die von der Verwendung eines Vorgehensmodells profitieren, unterteilt werden: Management (z.b. Koordination der Akteure, Überwachung, Qualitätssicherung) Entwicklung (z.b. Machbarkeitsstudie, Implementierung, Wartung) Unterstützende Tätigkeiten (z.b. Wissensaneignung, Evaluation, Dokumentation) Michael Fellmann 79

80 Ontologien > Methoden Beispiel eines Vorgehensmodells Vorgehensmodell von Uschold & King (1995) Uschold & King schlagen für die Ontologiekonstruktion eine Unterteilung in 4 Prozesse vor: Identify Purpose, Building, Evaluation, Documentation Identify Purpose Building Capture Coding Integrating Evaluation Welchen Zweck hat die Ontologie? Wie wird sie genutzt? Schlüsselkonzepte und Beziehungen identifizieren. Definition aufstellen. Auswahl der Sprachkonstrukte mit denen die Ontologie beschrieben wird (z.b. Klassen, Entitäten, Beziehungen. Auswahl der Sprache. Umsetzung der Konzepte in Code. Integration mit anderen Ontologien. Überprüfung ob die Ontologie den Anforderungen genügt. Documentation Dokumentation der Ontologie und der getroffenen Annahmen um die Kombination mit anderen Ontologien zu ermöglichen. Abb. In Anlehnung an Gómez-Pérez Michael Fellmann 80

81 Ontologien > Methoden Beispiel eines Vorgehensmodells Vorgehensmodell von Uschold & King Veranschaulichung der ersten beiden Teilschritte von Uschold & King am Beispiel einer Ontologie für das Themengebiet Tourismus : Identify Purpose: Wer soll die Ontologien verwenden: Reisebüros mit ihren Partnerunternehmen. Relevante Begriffe: Orte, Sehenswürdigkeiten, Übernachtungen, Arten der Übernachtung (Hotel, Model, Zelten), Züge, Busse, U-Bahnen usw. Capture: Identifizierte Schlüsselkonzepte und Beziehungen sowie deren Definition: Verkehrsmittel ist eine Klasse. Jedes Verkehrsmittel hat einen Abfahrtsort. Bus ist eine Unterklasse von Verkehrsmittel. Lokalbus ist eine Unterklasse von Bus. Bei der Klasse Lokalbus sind Abfahrtsort, Halteorte und Ziel identisch. In den weiteren Schritten wird die Ontologie in einer Ontologiesprache codiert, mit weiteren Ontologien integriert, evaluiert und dokumentiert. Michael Fellmann 81

82 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 82

83 Ontologien > Methoden Übersicht: Vorgehensmodelle zur Ontologiekonstruktion Erläuterung der Kriterien Tabellarischer Vergleich anhand folgender Kriterien: Vorgeschlagener Lebenszyklus ein Lebenszyklus definiert die Phasen, die eine Ontologie durchläuft und etwaige Beziehungen zwischen ihnen. Inkrementeller Lebenszyklus: Die Ontologie wird schrittweise verfeinert. Neue Definitionen werden nur während der Erstellung einer neuen Version hinzugefügt. Kontinuierlicher Lebenszyklus: Die Ontologie wächst nach Bedarf, Veränderung, Ergänzung oder Entfernung von Definitionen ist jederzeit möglich. Evolutionärer Lebenszyklus: Wie kontinuierlicher, aber es werden nur ausgewählte Veränderungen dauerhaft übernommen. Abhängigkeit vom Einsatzgebiet Abhängig: Ontologien werden gemäß den Anforderungen bestimmter Anwendungen entwickelt. Teilabhängig: Mögliche Anwendungen für die Ontologie werden während der Spezifikation definiert. Unabhängig: Die Ontologie ist unabhängig von ihrem Anwendungszweck. Michael Fellmann 83

84 Ontologien > Methoden Übersicht: Vorgehensmodelle zur Ontologiekonstruktion Erläuterung der Kriterien Strategie zur Konzeptidentifikation Bottom-up: Vom Konkreten zum Abstrakten (Allgemeinen) Top-down: Vom Abstrakten zum Konkreten Middle-out: Vom Relevanten zum Konkreten und Abstrakten Verkehrsmittel Strategie Top-Down Middle-Out Bottom-Up U-Bahn Bus Taxi Lokalbus Reisebus Shuttle Michael Fellmann 84

85 Ontologien > Methoden Übersicht: Vorgehensmodelle zur Ontologiekonstruktion Erläuterung der Kriterien Verwendung einer Basisontologie (auch: Core/Upper/Top-level Ontology) Kriterien: Ja/Nein Erläuterung: Basisontologien (Core Ontologies) werden verwendet, um eine Ontologie zu beschreiben, die im weiteren Konstruktionsprozess ausgebaut wird. Demgegenüber zeichnen sich bereichsübergreifende, abstrakte Ontologien (Upper Ontologies) i.d.r. durch einen höheren Abstraktionsgrad aus. Basisontologien enthalten nur grundlegendste Begriffe sie relativ abstrakt und können daher in unterschiedlichen Themengebieten genutzt werden. Ontologien mit derselben Basisontologie sind leichter kombinierbar. Spezifische Softwareunterstützung Kriterien: Ja/Nein (Bei Ja: Angabe der Werkzeuge) Erläuterung: Unterstützung des Vorgehens durch ein darauf abgestimmtes Werkzeug. Michael Fellmann 85

86 Ontologien > Methoden Übersicht: Vorgehensmodelle zur Ontologiekonstruktion Tabellarischer Vergleich ausgewählter Vorgehensmodelle Merkmal VG-Modell Uschold & King Methontology On-To- Knowledge DILIGENT knowledge process Vorgeschlagener Lebenszyklus keiner kontinuierliche Prototypen inkrementell mit kontinuierlichen Prototypen evolutionär Abhängigkeit vom Anwendungsbereich ja nein ja nein Vorgehensweise zur Konzeptidentifikation middle-out middle-out top-down bottom-up middle-out middle-out Verwendung einer Basisontologie nein bedingt bedingt ja Spezifische Softwareunterstützung nein ODE WebODE OntoEdit Protégé OntoEdit nein Michael Fellmann 86

87 Ontologien > Methoden Übersicht: Vorgehensmodelle zur Ontologiekonstruktion Tabellarischer Vergleich: Unterstützung der einzelnen Teilprozesse Tätigkeit/Teilbereich Uschold & King Methontology On-To- Knowledge DILIGENT knowledge process Koordination der Akteure - erwähnt beschrieben - Ontologiemanagement Überwachung - erwähnt beschrieben beschrieben Qualitätssicherung - erwähnt beschrieben beschrieben Vor der Entwicklung Anwendungsanalyse - - erwähnt - Machbarkeitsstudie - - beschrieben - Spezifikation erwähnt det. beschrieben det. beschrieben - Ontologieentwicklung Entwicklung Modellbildung - det. beschrieben det. beschrieben - Formalisierung - beschrieben beschrieben - Implementierung erwähnt det. beschrieben det. beschrieben erwähnt Unterstützende Tätigkeiten Nach der Entwicklung Wartung - erwähnt erwähnt det. beschrieben Nutzung - - erwähnt beschrieben Wissensaneignung erwähnt det. beschrieben beschrieben erwähnt Evaluation erwähnt det. beschrieben erwähnt beschrieben Integration erwähnt erwähnt erwähnt? Versionsverwaltung - beschrieben erwähnt beschrieben Dokumentation erwähnt det. beschrieben beschrieben beschrieben Merging und Alignment - - -? Michael Fellmann 87

88 Ontologien > Methoden Übersicht: Vorgehensmodelle zur Ontologiekonstruktion Abschließende Bemerkungen Keines der Vorgehensmodelle bildet alle Aktivitäten ab. Methodontology beschreibt die einzelnen Aktivitäten am präzisesten. On-To-Knowledge beschreibt die meisten Aktivitäten. DILIGENT knowledge process hat als besonderen Fokus das Zusammenwirken der Beteiligten (zwischen Experten und Benutzern). Weitere Defizite Eine Unterstützung durch Software ist häufig nicht gegeben und die verfügbaren Tools decken nicht alle Aktivitäten ab. Der Fokus der Vorgehensmodelle liegt in der Entwicklung und Implementation, wichtige Bereiche wie Evaluation und Evolution werden weniger ausführlich beschrieben. Die Ontologie-Evaluation ergänzt die Anwendung von Vorgehensmodellen Michael Fellmann 88

89 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 89

90 Ontologien > Methoden Ansätze zur Evaluation von Ontologien Überblick Grundlegendes Es existieren unterschiedliche Auffassungen, welche Tätigkeiten eine Evaluation umfassen sollte und welche Kriterien an die Ontologie anzulegen sind. Im Wesentlichen geht es darum, festzustellen, was die Ontologie korrekt definiert, was sie nicht definiert und was sie falsch definiert. Kriterien zur Evaluation können nach (Gómez-Pérez, 1996) sein: Konsistenz (Widerspruchsfreiheit), Vollständigkeit (jede einzelne Definition ist vollständig und alles was die Ontologie beinhalten soll ist entweder definiert oder kann gefolgert werden) und Präzision (keine Redundanzen, keine unnötigen Informationen). Methoden (Beispiele) Taxonomie-Evaluation: Gómez-Pérez liefert eine Liste häufiger Fehler die als "Checkliste" verwendet werden kann. OntoClean analysiert die Ontologie nach Fehlern bei Ober-/Unterklassen-Beziehungen mittels Meta-Kriterien wie Rigidität, Identität und Einheit (d.h. was umfasst eine Entität). Michael Fellmann 90

91 Ontologien > Methoden Ansätze zur Evaluation von Ontologien Beispiele Allgemein: Taxonomie-Evaluation Circularity Error (Zyklen-Fehler) OntoClean (Beispiel-Kriterien): Rigidity (Beständigkeit, Gültigkeit) ~R Student Subclass-Of +R Person Problem: Studenten können aufhören, Studenten zu sein. Bei Personen gilt dies nicht! Unity (Einheits-Kriterium) Problem: Zyklen in der Taxonomie führen zu falschen Schlüssen. Z.B. kann Frau nicht Unterklasse von sich selbst sein! Weitere Prinzipien der Klassenbildung vgl. Parsons und Wand 2008 Using Cognitive Principles to Guide Classification in Information Systems Modeling +U +U Hotel Subclass-Of Gebäude Problem: Hotel und Gebäude unterliegen unterschiedlichen Einheits-Kriterien! Michael Fellmann 91

92 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 92

93 Ontologien > Werkzeuge Werkzeuge zur Ontologiekonstruktion und -Anwendung Grundlegende Betrachtung Es existiert eine Vielzahl von Werkzeugen zur Erstellung und Verarbeitung von Ontologien wie auch Infrastruktur-Software zur Integration von Wissensrepräsentationen in Anwendungssysteme. An Geschäftsmodellen sind häufig die folgenden anzutreffen: Open Source (meist im akademischen Umfeld) Open Source mit kostenpflichtiger Anpassung/Unterstützung durch Hersteller Kommerzielle Angebote Wesentliche hier betrachtete Kategorien sind: Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 93

94 Ontologien > Werkzeuge Ontologie-Editoren Überblick Ausgewählte Editoren: Be Informed Suite, Chimaera, CmapTools Ontology Editor (COE), DOME (DERI Ontology Management Environment), HOZO, Java Ontology Editor (JOE), KAON, KMgen, Knoodl, LinKFactory, Model Futures IDEAS AddIn, Model Futures OWL Editor, myweb, NeOn Toolkit, OBO-Edit, OilEd, OntoStudio, Ontolingua, Protégé, ScholOnto, Semantic Turkey, Swoop, Synaptica, TopBraid Composer, Transinsight, WebODE. Im Rahmen dieser Vorlesung kann nur eine Auswahl gezeigt werden, deshalb werden nur folgende Editoren näher betrachtet: Protégé OntoStudio Topbraid Composer Semantische Wikis wie SMW oder Moki (keine Editoren im strengen Sinne) Michael Fellmann 94

95 Ontologien > Werkzeuge Protégé Nutzeroberfläche Michael Fellmann 95

96 Ontologien > Werkzeuge Protégé Charakterisierung Plattform eigenständiges Programm Lizenz Mozilla Public License (MPL) Erweiterbarkeit Ja (Plug-In-Konzept) Teil eines Frameworks nein Speicherung Datei / Datenbank Ontologiesprachen RDF, OWL Import- und Exportformate OWL/RDF, OWL/XML, Manchester, N3, TURTLE Michael Fellmann 96

97 Ontologien > Werkzeuge Protégé Ausgewählte Erweiterungen Konstruktion Collaborative Protégé Supports collaborative ontology editing as well as annotation of both ontology components and ontology changes. DL-Learner HTML Chat OntoLing OWL Lint PROMPT SWRLTab Axiomé Sub Ontology Tab The Protégé 4 DL-Learner plugin allows to learn equivalence and super class axioms based on instance data. Allows users logged into a client-server version of Protégé to chat in real time. Facilitates linguistic enrichment of ontologies and includes an interface for WordNet (from 1.6 to 2.1) and DICT dictionaries. Define and run tests against a set of OWL ontologies for quality control, debugging, best practices, and many other purposes. Manage multiple ontologies, create mappings, merge ontologies, extract parts and move frames from one project to another. An extension to Protégé-OWL that supports editing and execution of SWRL rules. A free, open-source Protégé-OWL plug-in for SWRL rules elicitation and management. Allows manipulation of axioms across ontologies. Taxonomy Cut+Paste Provides two quick ways to extract parts of a class hierarchy into text form for papers, presentations, etc. TerMine Plugin Uses text mining tools to extract candidate terms from a corpus of text. Michael Fellmann 97

98 Ontologien > Werkzeuge Protégé Ausgewählte Erweiterungen Visualisierung Bookmarks Cloud Views Jambalaya Matrix OntoBase OntoViz OWL2UML OWLPropViz OWLViz Drag and drop classes and properties into the bookmark view to make them accessible at any time. Visualize your ontology as a tag cloud (a set of related tags with corresponding weights. Jambalaya is a Protégé plug-in that uses Shrimp to visualize Protégé-Frames and Protégé-OWL ontologies. Several spreadsheet-style views of an ontology, including existential fillers, individual relationships, and an object properties view. Allows Protégé to be used as "Model" and "View" for simple database applications. The OntoViz Tab allows you to visualize Protégé ontologies with AT&T's highly sophisticated Graphviz visualization software. Automatically generates UML diagram which represents active OWL ontology using OMG's Ontology Definition Metamodel. Enables graphical presentation of OWL object properties. Users can select the property or properties to be visualized in the graph. Enables class hierarchies in an OWL ontology to be viewed allowing comparison of the asserted class hierarchy and the inferred class hierarchy. Outline and Existential Tree Views Provides alternatives to the subsumption hierarchy view. See documentation below for more detail. PromptViz TGViz Creates visual representations of the differences between two versions of an ontology. TGVizTab allows users to visualize Protégé ontologies using the TouchGraph library. Michael Fellmann 98

99 Ontologien > Werkzeuge Protégé Ausgewählte Erweiterungen Import und Export Excel Import NaturalOWL OWLDoc Import content and generate classes from Excel or CSV files. Provide rules to create restrictions between columns. Generates descriptions of individuals and classes from OWL ontologies. Currently it supports English and Greek. Creates a bundle of (mostly) static HTML pages for publishing to the Web or distributing to colleagues. Queries and Export Tab This plug-in allows you to query knowledge-bases and export the results. UML Backend Provides an import and export mechanism between the Protégé knowledge model and the object-oriented modeling language UML. Michael Fellmann 99

100 Ontologien > Werkzeuge Protégé-Erweiterung OntoGraf Interaktive Navigation im Ontologie-Graph Quelle: protegewiki.stanford.edu/images/c/cd/ontrograf_screenshot1.png Michael Fellmann 100

101 Ontologien > Werkzeuge Protégé-Erweiterung Jambalaya Visualisierung von Zusammenhängen Quelle: webhome.cs.uvic.ca/~chisel/imgs/jambalaya/screenshot_full.jpg Michael Fellmann 101

102 Ontologien > Werkzeuge Protégé-Erweiterungen NavigOWL und Cloud Views Visualisierung großer Datenmengen Layout-Optionen einstellbar Gewichtungs- Kriterium einstellbar (bspw. Menge der Instanzdaten, Hierarchietiefe ) Quelle: protegewiki.stanford.edu/images/f/f8/protege-plugin.jpg ; protegewiki.stanford.edu/images/d/d2/cloud.png Michael Fellmann 102

103 Ontologien > Werkzeuge Protégé-Erweiterung OWL2UML Darstellung einer Ontologie in UML-Notation Quelle: protegewiki.stanford.edu/images/3/34/owl2uml.png Michael Fellmann 103

104 Ontologien > Werkzeuge Protégé-Erweiterung Matrix Erzeugung von Listen-Darstellungen einer Ontologie Quelle: protegewiki.stanford.edu/images/a/ab/matrix-existential.png Michael Fellmann 104

105 Ontologien > Werkzeuge Protégé-Erweiterung OWLDoc Erzeugung einer Hypertext-basierten Dokumentation Quelle: Michael Fellmann 105

106 Ontologien > Werkzeuge OntoStudio Nutzeroberfläche Michael Fellmann 106

107 Ontologien > Werkzeuge OntoStudio Charakterisierung Plattform Eclipse Lizenz kommerziell Erweiterbarkeit ja Teil eines Frameworks (Produktsuite) Speicherung Datei / Datenbank Ontologiesprachen OWL, RDF, F-Logic Import- und Exportformate OWL/RDF, UML 2.0, Excel-Tabellen, Outlook- s, Ordnerstrukturen des Dateisystems Michael Fellmann 107

108 Ontologien > Werkzeuge Topbraid Composer Nutzeroberfläche Michael Fellmann 108

109 Ontologien > Werkzeuge Topbraid Composer Charakterisierung Plattform Eclipse Lizenz kommerziell, kostenfreie Version verfügbar Erweiterbarkeit ja Teil eines Frameworks ja Speicherung Dateien / Datenbank bei den kostenpflichtigen Angeboten Ontologiesprachen OWL, RDF Import- und Exportformate OWL/RDF, XML, UML, Spreadsheets, RSS/Atom Feeds bei den kostenpflichtigen Angeboten Michael Fellmann 109

110 Ontologien > Werkzeuge OWLGrEd Nutzeroberfläche Michael Fellmann 110

111 Ontologien > Werkzeuge OWLGrEd Charakterisierung Plattform Eigenständiges Programm Lizenz free to use Erweiterbarkeit nein (kompatibel mit Protégé) Teil eines Frameworks nein Speicherung Datei Ontologiesprachen OWL 2 Import- und Exportformate OWL/RDF Michael Fellmann 111

112 Ontologien > Werkzeuge Semantic Media Wiki Nutzeroberfläche Michael Fellmann 112

113 Ontologien > Werkzeuge Semantic Media Wiki Charakterisierung Plattform webbasiert (Erweiterung des Media Wiki) Lizenz verschiedene Open-Source-Lizenzen Erweiterbarkeit nein (indirekt durch Plug-Ins zu Media Wiki) Teil eines Frameworks nein Speicherung online Ontologiesprachen proprietär Import- und Exportformate OWL/RDF Michael Fellmann 113

114 Ontologien > Werkzeuge Moki Wiki Nutzeroberfläche (1/2) Michael Fellmann 114

115 Ontologien > Werkzeuge Moki Wiki Nutzeroberfläche (2/2) OWL-Export Michael Fellmann 115

116 Ontologien > Werkzeuge Moki Wiki Charakterisierung Plattform webbasiert (Erweiterung von Semantic Media Wiki) Lizenz GPLv2 Erweiterbarkeit nein (indirekt durch Plug-Ins zu Media Wiki) Teil eines Frameworks nein Speicherung online Ontologiesprachen proprietär Import- und Exportformate OWL/RDF, erdf Michael Fellmann 116

117 Ontologien > Werkzeuge Weitere Werkzeuge Ergänzungen zu den Editoren Online-Validatoren OWL-Validator der Uni Manchester, erlaubt die Verifizierung von OWL-Profilen owl.cs.manchester.ac.uk/validator WonderWeb OWL Ontology Validator Diff-Werkzeug zur Bestimmung der semantischen Differenz von Ontologien (Anzeige semantisch wirksamer/unwirksamer Hinzufügungen/Entfernungen) owl.cs.manchester.ac.uk/diff/ Online-Visualisierungen MyGrid OWL Ontology HTML Präsentation OWLSight pellet.owldl.com/ontology-browser Michael Fellmann 117

118 Ontologien > Werkzeuge Weitere Werkzeuge Ergänzungen zu den Editoren Online-Syntax-Konverter Konverter zwischen verschiedenen OWL-Formaten wie RDF/XML, OWL/XML etc. owl.cs.manchester.ac.uk/converter Konverter von OWL 2 in ACE (Attempto Controlled English) attempto.ifi.uzh.ch/site/docs/owl_to_ace.html Metriken, Komplexität, Module Metriken zu OWL-Ontologien anzeigen (z.b. Anzahl der Klassen, Ausdrucksstärke etc.) owl.cs.manchester.ac.uk/metrics Komplexität einer Beschreibungslogik owl.cs.manchester.ac.uk/navigator OWL-Modul-Extraktor zur Gewinnung logisch unabhängiger Ontologie-Teilbereiche owl.cs.manchester.ac.uk/modularity Weitere Werkzeuge Liste mit weiteren Werkzeugen im Bereich des Semantic Web (ca. 800) Michael Fellmann 118

119 OWL Agenda OWL-Einführung Grundlagen und Terminologie Klassen Properties Restriktionen auf Klassen Primitive und definierte Klassen Benutzerdefinierte Datentypen Instanzen Methodische Aspekte der Ontologiekonstruktion Überblick und Klassifikation von Vorgehensmodellen Ansätze zur Ontologie-Evaluation Werkzeuge zur Ontologiekonstruktion und -Anwendung Editoren und Visualisierungswerkzeuge Rahmenwerke und Infrastrukturen Michael Fellmann 119

120 Ontologien > Werkzeuge Rahmenwerke und Infrastrukturen Begrifflichkeiten Ein Framework ist eine Grundstruktur, ein Rahmenwerk. Es erleichtert die Erstellung eigener Applikationen durch die Bereitstellung von Funktionen auf die über eine API zugegriffen werden kann. Das Framework beeinflusst die Struktur der Applikation. Im Zusammenhang der Ontologiekonstruktion decken unterschiedliche Frameworks unterschiedliche Bereiche ab. Ein Triplespeicher (Triplestore) bildet das Rückgrat vieler Semantic-Web-Anwendungen und ist daher eine wichtige Infrastruktukomponente. Ein Tripelspeicher enthält wie eine relationale Datenbank Informationen. Im Gegensatz zu relationalen Datenbanken werden diese nicht in Tabellen, sondern in Tripeln gespeichert (diese können in einem RDBS in eine einzige Tabelle gespeichert werden). Es existieren Mischformen; einige Hersteller relationaler Datenbanken bieten Zusatzfunktionalitäten an (bspw. Oracle 11g unterstützt OWL 2 RL). Michael Fellmann 120

121 Ontologien > Werkzeuge Rahmenwerke Jena, KAON Jena Ist eine Java-API für RDF und OWL unterstützt die Abfrage, Manipulationen, Ausgabe, Import und Export von RDF/XML, N3 und N-Triples, enthält eine Regelbasierte Inferenzmaschine. jena.sourceforge.net KAON (Karlsruhe Ontology and Semantic Web tool suite) Enthält einen Ontologieeditor OI-Modeler und eine API für die Verwaltung von Ontologien in RDFS. Eine Wissensakquisitionskomponente TextToOnto, die aus Texten in natürlich Sprache Ontologien erstellen kann. Es existiert ein Nachfolger KAON2 der jedoch nicht abwärtskompatibel ist und sich vorallem in den unterstützten Sprachen (OWL-DL, F-Logic) von KAON unterscheidet. kaon.sourceforge.net (KAON) bzw. kaon2.semanticweb.org (KAON2) Michael Fellmann 121

122 Ontologien > Werkzeuge Rahmenwerke Sesame, OWLIM Sesame Ursprung im On-To-Knowledge-Projekt. Unterstützt mehrere Anfragesprachen, sowie die Eigenentwicklung SeRQL, die sich v.a. durch Anfragen auf TBox-Elemente auszeichnet. Bietet API für lokalen und entfernten Zugriff (über HTTP und RMI) OWLIM Ist eine semantische Datenbank für Sesame. Besonderes Augenmerk liegt auf Geschwindigkeit und Skalierbarkeit. Es existiert eine Version SwiftOWLIM für besondere Performance und eine Version BigOWLIM für besondere Skalierbarkeit. Michael Fellmann 122

123 Ontologien > Werkzeuge Rahmenwerke NeOn Toolkit NeOn Toolkit Ist ein Hauptbestandteil der Arbeit des NeOn-Projekts, an dem 14 europäische Länder beteiligt sind. Soll den gesamten Lebenszyklus einer Ontologiekonstruktion unterstützend begleiten. Es werden u.a. folgende Tätigkeiten unterstützt: Annotation und Dokumentation, Ontologieentwicklung, Wissensakquisition, Ontologieverwaltung, Evaluation, Wiederverwendung von Ontologien und anderen Wissensquellen. neon-toolkit.org Michael Fellmann 123

124 Ontologien Schlussbetrachtung zu methodischen Aspekten und Werkzeugen Potenziale Es wurden zahlreiche Ontologien in der Vergangenheit entwickelt, sodass aus inhaltlicher Perspektive ein gutes Fundament besteht. Mit OWL existiert eine Ontologiesprache, die im Hinblick auf eine effiziente Interpretation und Schlussfolgerung durch Maschinen entworfen wurde und für viele Einsatzzwecke ausreichend ist. Es existiert eine Vielzahl an teils bereits ausgereiften Werkzeugen zur Konstruktion, Analyse, Visualisierung und Verarbeitung von Ontologien. Probleme Formale Wissensrepräsentationen erfordern oft nicht nur zu ihrer Erstellung, sondern auch zu ihrer Nutzung einige Expertise und damit Aufwand (durch Tools ggf. lösbar). Die Wissensrepräsentationen müssen aktuell gehalten werden, da ihr Nutzen ansonsten zweifelhaft ist (durch Integration in Anwendungssysteme ggf. lösbar). Michael Fellmann 124

125 ANHANG Zu Teil I Michael Fellmann 125

126 OWL ANHANG DL-Syntax Syntaxkonverter von OWL/XML zur DL-Syntax, realisiert als Erweiterung von SemQuu Eingabe einer OWL- Ontologie in OWL/XML- Serialisierung Anzeige der Klassendefinitionen der TBox in DL-Syntax Auf Fragen, Bugs und Anregungen freut sich: Michael Fellmann 126

127 OWL ANHANG DL-Syntax Übersicht Quelle: Krötzsch, Hitzler, Rudolph (2008): Vorlesungsunterlagen zur Veranstaltung Semantic Web Technologies I am AIFB, Universität Karlsruhe. Siehe auch: Michael Fellmann 127

128 OWL ANHANG DL-Syntax Klassenkonstruktoren Quelle: Krötzsch, Hitzler, Rudolph (2008): Vorlesungsunterlagen zur Veranstaltung Semantic Web Technologies I am AIFB, Universität Karlsruhe. Siehe auch: Michael Fellmann 128

129 OWL ANHANG DL-Syntax Axiome Quelle: Krötzsch, Hitzler, Rudolph (2008): Vorlesungsunterlagen zur Veranstaltung Semantic Web Technologies I am AIFB, Universität Karlsruhe. Siehe auch: Michael Fellmann 129

130 Teil II Anfragesprachen für RDF und OWL Michael Fellmann 130

131 Agenda Anfragen an Ontologien Anfrageebenen und -sprachen DL-Anfragen SPARQL Michael Fellmann 131

132 Anfragen Anfrageebenen und Beispiele für Anfragesprachen Syntaktische Ebene Gegenstand der Anfrage sind syntaktische Strukturen, in Bezug auf OWL also die Serialisierung einer Ontologie in einer Syntax wie RDF/XML. Beispiel für Anfragesprachen: XPath, XQuery. Problem: Syntaktische Varianz (z.b. RDF-Prädikate als Elemente oder Attribute)! Strukturelle Ebene Gegenstand der Anfrage sind Strukturen, bei OWL wären dies die durch das RDF- Datenmodell gegebenen Tripel. Beispiel für eine Anfragesprache: SPARQL. Problem: Schema-Informationen (TBox) werden unzureichend berücksichtigt! Semantische Ebene Gegenstand der Anfrage sind die durch eine Logik wie z.b. SHOIN(D) als Grundlage von OWL-DL möglichen Aussagen. Beispiel für eine Anfragesprache: RQL, Konjunktive Anfragen Michael Fellmann 132

133 Anfragen Anfrageebenen Welche Ebene ist zweckmäßig für (OWL-)Ontologien? Syntaktische Ebene Aufgrund der Abhängigkeit von der zur Serialisierung verwendeten Syntax und auch von Reihenfolge-Aspekten ist diese Ebene ungeeignet. Strukturelle Ebene Pro: Werden als Struktur Tripel zugrunde gelegt, sind Anfragen intuitiv durch einfache Graphmuster möglich. Mit SPARQL existiert eine vom W3C standardisierte Sprache. Contra: Bei einer Beschränkung auf Strukturen wie Tripel und der Auslassung von Schema-Information sind manche Anfragen nur umständlich zu formulieren (das Problem kann durch die Verwendung von Inferenzmaschinen gemildert werden, die zulässige Schlüsse vor der Anfrage materialisieren, d.h. der Ontologie hinzufügen). Semantische Ebene Pro: Eine Abstraktion von Strukturen ermöglicht Anfragen auf logischer Ebene. Contra: Die Komponente, die Anfragen auswertet, benötigt eine eigene Inferenzmaschine, um Schema-Informationen zu berücksichtigen. Anfragesprachen wie konjunktive Anfragen sind bisher wenig standardisiert. Michael Fellmann 133

134 Anfragen Überblick über Anfragesprachen Anfrage auf semantischer Ebene im Kontext von OWL Bisher wurden zahlreiche Anfragesprachen vorgeschlagen: Algae, erql, itql, Metalog, N3QL, OWL-QL, R-DEVICE, RDF Path, RDF Twig, RDF- QBE, RDFQL, RDFT, RDQL, RPath, RQL, RxPath, RxSLT, RxUpdate, SeRQL, SPARQL, SquishQL, SWQL, SQWRL, TRIPLE, TriQL, Versa, WQL, Xcerpt, XsRQL und Weitere. Merkmale zur Charakterisierung (nach Broekstra, Kapman, Harmelen 2005) Einsatzgebiet (z.b. XML, Semantic Web, KI) Zugehörigkeit zu einer bestimmten Sprachfamilie Beispiel SPARQL (Mitglieder u.a. SquishQL, RDQL, und TriQL) Beispiel RQL (Mitglieder u.a. SeRQL und erql) Funktionalität der Anfragesprache Weitere Merkmale Datenintegration (z.b. Semantic Web Query Language (SWQL)) Visualisierung (z.b. TRIPLE Views, viscerpt) Nutzung der natürlichen Sprache (z.b. ACE-basierte konjunktive Anfragen) Fragenbeantwortung (z.b. OWL-QL). Michael Fellmann 134

135 Agenda Anfragen an Ontologien Anfrageebenen und -sprachen DL-Anfragen SPARQL Michael Fellmann 135

136 Anfragen > DL-Anfragen DL-Anfragen Grundlegendes Eigenschaften von DL-Anfragen Grundsätzlich sind DL-Anfragen vergleichbar mit definierten Klassen in einer Beschreibungslogik, d.h. es wird eine Konzeptbeschreibung erstellt. Mit der DL-Anfrage wird dann (ggf. unter Zuhilfenahme einer Inferenzmaschine) ermittelt, welche Objekte (Klassen, Individuen) von dieser Beschreibung subsumiert werden d.h. in ihr mengenmäßig enthalten sind. Ein erstes Beispiel: Natürliche Sprache: Welches Objekt unterstützt mindestens ein strategisches Ziel? Protégé-Syntax: supportsgoal some StrategicGoal DL-Syntax: supportsgoal.strategicgoal Michael Fellmann 136

137 Anfragen > DL-Anfragen DL-Anfragen mit Protégé Benutzeroberfläche Anfrage starten Eingabe der Konzeptbeschreibung Umfang der Ergebnisse Ergebnis- Bereich Michael Fellmann 137

Semantisches Prozessmanagement und E-Business

Semantisches Prozessmanagement und E-Business Explicit explicit Formal shared Ontology Inference domain Conceptualization conceptualization TBox/ABox semantics Restriction Shared formal Triple Pattern menatal model Semantisches Prozessmanagement und

Mehr

OWL und Protégé. Seminar A.I. Tools Matthias Loskyll 14.12.2006

OWL und Protégé. Seminar A.I. Tools Matthias Loskyll 14.12.2006 OWL und Protégé Seminar A.I. Tools Matthias Loskyll 14.12.2006 Überblick Einführung OWL Eigenschaften Sprachbeschreibung Übersicht Protégé Beschreibung des Tools Demo Zusammenfassung 2 Einführung Google?

Mehr

OWL Web Ontology Language

OWL Web Ontology Language OWL Web Ontology Language Hauptseminar Ontologien in Informatik und Linguistik SS 2007 Bianca Selzam 27.4.2007 Gliederung 1. Einleitung 2. Resource Description Framework (RDF) 3. Resource Description Framework

Mehr

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph!

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph! Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph! www.semantic-web-grundlagen.de Ontology Engineering! Dr. Sebastian Rudolph! Semantic Web Architecture

Mehr

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF RDF und RDF Schema Einführung in die Problematik Von HTML über XML zu RDF Kirsten Albrecht Roland Illig Probleme des HTML-basierten

Mehr

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany Information Systems & University of Koblenz Landau, Germany Motivation RDF und RDFS sehr schwach Keine Widersprüche möglich! OWL Nicht möglich in RDF und RDFS: Jede Vorlesung hat mindestens 2 Hörer Lehrveranstaltungen

Mehr

3.5 OWL: WEB Ontology Language (1)

3.5 OWL: WEB Ontology Language (1) 3.5 OWL: WEB Ontology Language (1) 3.5.1 OWL-Syntax (Teil 1) A) Namensräume / RDF-Tag: Die OWL-Syntax basiert auf XML, XML-Schema, RDF und RDFS. Daher sind die zugehörigen Namensräume am Anfang des Quelltextes

Mehr

Intelligente Systeme im World Wide Web. Web Ontology Language OWL: RDF Syntax

Intelligente Systeme im World Wide Web. Web Ontology Language OWL: RDF Syntax Intelligente Systeme im World Wide Web Web Ontology Language OWL: RDF Syntax Folien zur Vorlesung im Sommersemester 2006 Pascal Hitzler Institut für angewandte Informatik und Formale Beschreibungsverfahren

Mehr

RDF Containers. Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung.

RDF Containers. Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung. RDF Containers Häufig möchte man eine Gruppe von Dingen beschreiben. Hierfür stellt RDF ein Container-Vokabular zur Verfügung. Ein Container ist eine Ressource, die andere Ressourcen oder Literale enthält

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

Semantic Web Grundlagen

Semantic Web Grundlagen Birte Glimm Institut für Künstliche Intelligenz 14. Nov 2011 Semantic Web Grundlagen OWL Syntax und Intuition 2/63 Birte Glimm Semantic Web Grundlagen 14. Nov 2011 Organisatorisches: Inhalt Einleitung

Mehr

Semantic Web Technologies I

Semantic Web Technologies I Semantic Web Technologies I Lehrveranstaltung im WS11/12 Dr. Elena Simperl PD Dr. Sebastian Rudolph M. Sc. Anees ul Mehdi Ontology Engineering Dr. Elena Simperl XML und URIs Einführung in RDF RDF Schema

Mehr

Reasoner for the Semantic Web

Reasoner for the Semantic Web Reasoner for the Semantic Web KAON & KAON2 Seminar A.I. Tools Erik Endres 18.1.2007 Übersicht Reasoner KAON1 KAON2 & Protégé Reasoner Ontologien machen Daten für Maschinen verarbeitbar. Reasoner setzen

Mehr

Ontologien. Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Ontologien: Konstrukte. Konzepte/Klassen

Ontologien. Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Ontologien: Konstrukte. Konzepte/Klassen Ontologien Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Norbert Fuhr Ursprung: semantische Netze aus der künstlichen Intelligenz (1970er) weiterentwickelt als terminologische Logiken, Beschreibungslogiken

Mehr

Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Norbert Fuhr

Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Norbert Fuhr Ontologien (aus ISM Kap. 3. Wissensrepräsentation für Texte) Norbert Fuhr 1 / 23 Ontologien Ursprung: semantische Netze aus der künstlichen Intelligenz (1970er) weiterentwickelt als terminologische Logiken,

Mehr

OWL Web Ontology Language. Anne Schneider, Institut für Informatik, Friedrich-Schiller-Universität Jena

OWL Web Ontology Language. Anne Schneider, Institut für Informatik, Friedrich-Schiller-Universität Jena OWL Web Ontology Language Anne Schneider, Institut für Informatik, Friedrich-Schiller-Universität Jena Übersicht 1. Einführung, Motivation 1.1 Ontologien 1.2 Das Semantic Web 1.3 XML 1.4 RDF und RDF/XML

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

FOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration

FOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration FOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration Uwe Lesta 22. März 2012 Übersicht Produktkonfiguration Konfigurationsarten Produkt- und Konfigurationswissen Aufbau des Produktkonfigurators

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Daten, Information, Wissen explizites und implizites Wissen Expertensysteme (Aufgaben, Aufbau, Komponenten) Diagnoseziel Klassifikation

Daten, Information, Wissen explizites und implizites Wissen Expertensysteme (Aufgaben, Aufbau, Komponenten) Diagnoseziel Klassifikation Was bisher geschah Daten, Information, Wissen explizites und implizites Wissen Expertensysteme (Aufgaben, Aufbau, Komponenten) Diagnoseziel Klassifikation sicher heuristisch überdeckend Entscheidungstabellen

Mehr

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie. GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert

Mehr

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de Beschreibungslogiken Daniel Schradick 1schradi@informatik.uni-hamburg.de Was sind Beschreibungslogiken? Definition: Formalisms that represent knowledge of some problem domain (the world ) by first defining

Mehr

Vorlesung Semantic Web. Vorlesung im Wintersemester 2011/2012 Dr. Heiko Paulheim Fachgebiet Knowledge Engineering

Vorlesung Semantic Web. Vorlesung im Wintersemester 2011/2012 Dr. Heiko Paulheim Fachgebiet Knowledge Engineering Vorlesung Semantic Web Vorlesung im Wintersemester 2011/2012 Dr. Heiko Paulheim Fachgebiet Knowledge Engineering Was bisher geschah... Betrachten wir folgenden Satz: "Madrid ist die Hauptstadt von Spanien."

Mehr

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 -

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

Mehr

Was sind Ontologie-Editoren?

Was sind Ontologie-Editoren? Was sind Ontologie-Editoren? Kurzeinführung Protégé Sonja von Mach und Jessica Otte Gliederung Ontologie Editoren- allgemein warum nutzen wofür nutzen Probleme Marktlage Einführung in die praktische Arbeit

Mehr

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

Mehr

Semantic Web Technologies I! Lehrveranstaltung im WS12/13! Dr. Thanh Tran! PD Dr. Sebastian Rudolph! M.Sc. Anees ul Mehdi!

Semantic Web Technologies I! Lehrveranstaltung im WS12/13! Dr. Thanh Tran! PD Dr. Sebastian Rudolph! M.Sc. Anees ul Mehdi! Semantic Web Technologies I! Lehrveranstaltung im WS12/13! Dr. Thanh Tran! PD Dr. Sebastian Rudolph! M.Sc. Anees ul Mehdi! www.semantic-web-grundlagen.de OWL Syntax & Intuition! "1/2! PD Dr. Sebastian

Mehr

Grundlagen des Semantic Web

Grundlagen des Semantic Web Martin Kost Grundlagen des Semantic Web Web Ontology Language (OWL) bzw. DAML + OIL Überblick Ontologiebegriff Wozu OWL? OWL Header Basisdefinitionen Abbildung von Ontologien komplexe Klassen Zusammenfassung

Mehr

Semantic Web Technologies 1

Semantic Web Technologies 1 Übung zur Lehrveranstaltung Semantic Web Technologies 1 Sebastian Rudolph und Duc Thanh Tran Wintersemester 2012/13 http://semantic-web-grundlagen.de Übung 1: RDF und RDF Schema Aufgabe 1.1 Entscheiden

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Qualitätssicherung bei der mobilen Datenerfassung

Qualitätssicherung bei der mobilen Datenerfassung Qualitätssicherung bei der mobilen Datenerfassung Stephan Mäs Arbeitsgemeinschaft GIS Universität der Bundeswehr München http://www.unibw.de/bauv11/geoinformatik/agis 9. Seminar GIS & Internet 13.-15.

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Behandelte Fragestellungen Was besagt eine Fehlerquote? Welche Bezugsgröße ist geeignet? Welche Fehlerquote ist gerade noch zulässig? Wie stellt

Mehr

Kapitel WT:VIII (Fortsetzung)

Kapitel WT:VIII (Fortsetzung) Kapitel WT:VIII (Fortsetzung) VIII. Semantic Web WWW heute Semantic Web Vision RDF: Einführung RDF: Konzepte RDF: XML-Serialisierung RDF: Anwendungen RDFS: Einführung RDFS: Konzepte Semantik im Web Semantik

Mehr

FH Wedel Informatik Seminar WS2006/2007 : Service-orientierte Architektur (SOA) Christian Köhn 13.12.2006

FH Wedel Informatik Seminar WS2006/2007 : Service-orientierte Architektur (SOA) Christian Köhn 13.12.2006 FH Wedel Informatik Seminar WS2006/2007 : Service-orientierte Architektur (SOA) Christian Köhn 13.12.2006 OWL: Zweck, Aufbau und Beispiel Die Beschreibungssprache OWL Christian Köhn :: mi2219 Informatik

Mehr

Technologien des Semantic Web und ihre Anwendungen

Technologien des Semantic Web und ihre Anwendungen Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme Technologien des Semantic Web und ihre Ulrike Fischer Dresden, 21.06.07 Gliederung Motivation Begriff Semantic

Mehr

Web Technologien Reasoning mit OWL

Web Technologien Reasoning mit OWL Web Technologien Reasoning mit OWL Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 10:00 a.m. Room HS 021, B4

Mehr

OWL UML Besonderheiten/Erläuterung

OWL UML Besonderheiten/Erläuterung A Transformationsregeln für UML beschreibt OWL Um mit der UML Ontologien in OWL zu modellieren, müssen die folgenden Transformationsregeln beachtet werden. In der Tabelle A.1 wird in der Spalte OWL das

Mehr

Blog zur Vorlesung:

Blog zur Vorlesung: Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2008/09 http://sw0809.blogspot.com/ Blog zur Vorlesung: http://sw0809.blogspot.com/ Semantic

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

E-Mail-Inhalte an cobra übergeben

E-Mail-Inhalte an cobra übergeben E-Mail-Inhalte an cobra übergeben Sie bieten ihren potentiellen oder schon bestehenden Kunden über ihre Website die Möglichkeit, per Bestellformular verschiedene Infomaterialien in Papierform abzurufen?

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

9. Übung Formale Grundlagen der Informatik

9. Übung Formale Grundlagen der Informatik Institut für Informatik Sommersemester 2001 Universität Zürich 9. Übung Formale Grundlagen der Informatik Norbert E. Fuchs (fuchs@ifi.unizh.ch) Reinhard Riedl (riedl@ifi.unizh.ch) Nadine Korolnik (korolnik@ifi.unizh.ch)

Mehr

!!!!T!!! Systems!() Multimedia Solutions

!!!!T!!! Systems!() Multimedia Solutions Inhalt. Was ist das semantische Web? Wie findet man einen Arzttermin mit Hilfe des semantischen Web? Wie gibt man Inhalten einen Sinn? Welche Werkzeuge stehen zur Verfügung? Wo können strukturierte Inhalte

Mehr

Whitebox-Tests: Allgemeines

Whitebox-Tests: Allgemeines -Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv

Mehr

Brückenkurs Mathematik, THM Friedberg, 15 19.9.2014

Brückenkurs Mathematik, THM Friedberg, 15 19.9.2014 egelsammlung mb2014 THM Friedberg von 6 16.08.2014 15:04 Brückenkurs Mathematik, THM Friedberg, 15 19.9.2014 Sammlung von Rechenregeln, extrahiert aus dem Lehrbuch: Erhard Cramer, Johanna Neslehová: Vorkurs

Mehr

Anbindung Borland CaliberRM

Anbindung Borland CaliberRM Anbindung Borland CaliberRM pure::variants - Das Werkzeug Einstieg intergrierbar in bestehende Softwareentwicklungsprozesse unabhängig von der genutzten Programmiersprache Anwendung automatische Auflösung

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört. Beziehungen Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört. Eine Vorlesung wird von genau einem Dozenten gelesen. Ein Dozent kann

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik

3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik Darstellung, Verarbeitung und Erwerb von Wissen 3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik DVEW WS 2004/05 c Gabriele Kern-Isberner 1 Stratifizierte Programme (Whlg.) Sei P ein

Mehr

Transformation von Regelungen in Softwareanforderungen

Transformation von Regelungen in Softwareanforderungen Transformation von Regelungen in Softwareanforderungen Beitrag zur GfP Jahrestagung 2015 Prof. Dr. Thomas Off Beuth Hochschule für Technik Berlin Inhalt Software für E Government Anwendungen Semantic Web

Mehr

Digital signierte Rechnungen mit ProSaldo.net

Digital signierte Rechnungen mit ProSaldo.net Digital signierte Rechnungen mit ProSaldo.net Digitale Signatur der PDF-Rechnungen Hier finden Sie eine Anleitung, wie beim erstmaligen Öffnen von digital signierten PDF- Rechnungen, die mit ProSaldo.net

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

7. Analyse-Phase: Datenmodellierung Software Engineering

7. Analyse-Phase: Datenmodellierung Software Engineering 7. Analyse-Phase: Datenmodellierung Software Engineering Hochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm Hochschule Darmstadt, 20. November 2006 Einordnung in den Kontext

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

Beispiele für Relationen

Beispiele für Relationen Text Relationen 2 Beispiele für Relationen eine Person X ist Mutter von einer Person Y eine Person X ist verheiratet mit einer Person Y eine Person X wohnt am gleichen Ort wie eine Person Y eine Person

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Seminar:Semantic Web Technologien. RDF Schema (vs. XMLS), Ontologien und OWL

Seminar:Semantic Web Technologien. RDF Schema (vs. XMLS), Ontologien und OWL Seminar:Semantic Web Technologien RDF Schema (vs. XMLS), Ontologien und OWL Lina Sun Matrikelnummer:2240486 sunla@studi.informatik.uni-stuttgart.com Betreuer: Steffen Koch 1. August 2007 Inhaltsverzeichnis

Mehr

Baader Nutt 1: Basic Description Logics

Baader Nutt 1: Basic Description Logics Baader Nutt 1: Basic Description Logics Ludwig Maximilians Universität München Sommersemester 2009 Institut: CIS Hauptseminar: Beschreibungslogik Seminarleiter: Hans Leiß, Martin Hofmann Referentin: Natalia

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5 Das Management von Informations- Systemen im Wandel Die Informations-Technologie (IT) war lange Zeit ausschließlich ein Hilfsmittel, um Arbeitsabläufe zu vereinfachen und Personal einzusparen. Sie hat

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

R&I-Fließbilder in PLANEDS

R&I-Fließbilder in PLANEDS in PLANEDS Planetenfeldstr. 97 D - 44379 Dortmund Fon: +49 (0) 231 555 783 0 Fax: +49 (0) 231 555 783 111 Mail: info@planets-software.de Web: www.planets-software.de Inhalt: 1 Motivation...3 2 Symbolbearbeitung...4

Mehr

das usa team Ziegenberger Weg 9 61239 Ober-Mörlen Tel. 06002 1559 Fax: 06002 460 mail: lohoff@dasusateam.de web: www.dasusateam.de

das usa team Ziegenberger Weg 9 61239 Ober-Mörlen Tel. 06002 1559 Fax: 06002 460 mail: lohoff@dasusateam.de web: www.dasusateam.de Kommunikation mit Kunden das usa team Ziegenberger Weg 9 61239 Ober-Mörlen Tel. 06002 1559 Fax: 06002 460 mail: lohoff@dasusateam.de web: www.dasusateam.de 1 Wie Sie überzeugend argumentieren Viele Verkäufer

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Repräsentationssprachen für Ontologien

Repräsentationssprachen für Ontologien Repräsentationssprachen für Ontologien Kay Girmann Universität Leipzig 13. Januar 2009 Kay Girmann (IfI - Uni Lepzig) Repräsentationssprachen für Ontologien 13. Januar 2009 1 / 21 Gliederung Topic Maps

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die

Mehr

Web Ontology Language (OWL)

Web Ontology Language (OWL) Web Ontology Language (OWL) Cristina Vertan Inhalt Ontologien Wozu OWL Dasis-Defintion -OWL Abbildungen von Ontologien..004 WiSe 04/05 Ontologien -- Definition von Termen Beschreibung und Darstellung eines

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem

Mehr

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Proxy. Krishna Tateneni Übersetzer: Stefan Winter Krishna Tateneni Übersetzer: Stefan Winter 2 Inhaltsverzeichnis 1 Proxy-Server 4 1.1 Einführung.......................................... 4 1.2 Benutzung.......................................... 4 3 1

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

Einführung und Motivation

Einführung und Motivation Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.

Mehr

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit politische Lage verlassen sich auf Familie persönliche, finanzielle Lage meinen, sich Vorsorge leisten zu können meinen, sie seien zu alt nicht mit

Mehr

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung. StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige

Mehr

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen 18 «Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen teilnimmt und teilhat.» 3Das Konzept der Funktionalen

Mehr

On the Consistency of Spatial Semantic Integrity Constraints. Konsistenzprüfung von räumlichen semantischen Integritätsregeln.

On the Consistency of Spatial Semantic Integrity Constraints. Konsistenzprüfung von räumlichen semantischen Integritätsregeln. On the Consistency of Spatial Semantic Integrity Constraints Konsistenzprüfung von räumlichen semantischen Problemstellung Geographische Daten werden immer häufiger dezentral gehalten und mithilfe vernetzter

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Kundenregistrierung am egeodata Austria Portal

Kundenregistrierung am egeodata Austria Portal Kundenregistrierung am egeodata Austria Portal Dieses Tutorial soll zeigen, wie sich ein neuer Kunde am egeodata Austria Portal registriert. Die Registrierung ist erforderlich, um fortgeschrittene oder

Mehr

Semantic Web Technologies II Lehrveranstaltung im SS09. Dr. Sudhir Agarwal Dr. Stephan Grimm Dr. Peter Haase PD Dr. Pascal Hitzler Denny Vrandecic

Semantic Web Technologies II Lehrveranstaltung im SS09. Dr. Sudhir Agarwal Dr. Stephan Grimm Dr. Peter Haase PD Dr. Pascal Hitzler Denny Vrandecic Semantic Web Technologies II Lehrveranstaltung im SS09 Dr. Sudhir Agarwal Dr. Stephan Grimm Dr. Peter Haase PD Dr. Pascal Hitzler Denny Vrandecic www.semantic-web-grundlagen.de OWL - Syntax & Intuition

Mehr

Rhetorik und Argumentationstheorie. [frederik.gierlinger@univie.ac.at]

Rhetorik und Argumentationstheorie. [frederik.gierlinger@univie.ac.at] Rhetorik und Argumentationstheorie 1 [frederik.gierlinger@univie.ac.at] Ablauf der Veranstaltung Termine 1-6 Erarbeitung diverser Grundbegriffe Termine 7-12 Besprechung von philosophischen Aufsätzen Termin

Mehr