Web Ontology Language (OWL) und Anfragesprachen
|
|
- Katarina Winter
- vor 8 Jahren
- Abrufe
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
Explicit explicit Formal shared Ontology Inference domain Conceptualization conceptualization TBox/ABox semantics Restriction Shared formal Triple Pattern menatal model Semantisches Prozessmanagement und
MehrOWL 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?
MehrOWL 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
MehrSemantic 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
MehrRDF 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
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
Mehr3.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
MehrIntelligente 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
MehrRDF 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
MehrMai 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
MehrSemantic 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
MehrSemantic 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
MehrReasoner 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
MehrOntologien. 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
MehrOntologien (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,
MehrOWL 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
Mehr1 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.
MehrSuche 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
MehrFOSD-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
MehrGrundbegriffe 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
MehrDaten, 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
MehrGI-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
MehrBeschreibungslogiken. 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
MehrVorlesung 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."
MehrSystemanalyse. - 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
MehrWas 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
MehrProlog 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:
MehrSemantic 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
MehrGrundlagen 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
MehrSemantic 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
MehrProgrammiersprachen 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
MehrMotivation. 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
MehrQualitä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.
Mehr50. 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
MehrOhne 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
MehrKapitel 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
MehrFH 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
MehrTechnologien 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
MehrWeb 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
MehrOWL 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
MehrBlog 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
MehrFormale 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
MehrE-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?
MehrGrammatiken. 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
Mehr9. Ü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
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
MehrWhitebox-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
MehrBrü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
MehrAnbindung Borland CaliberRM
Anbindung Borland CaliberRM pure::variants - Das Werkzeug Einstieg intergrierbar in bestehende Softwareentwicklungsprozesse unabhängig von der genutzten Programmiersprache Anwendung automatische Auflösung
Mehr4. 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
MehrEntity-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
MehrDer 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.
Mehr4. 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
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
Mehr3.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
MehrTransformation 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
MehrDigital 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
MehrSEP 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
Mehr7. 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
MehrKlaus 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
MehrBeispiele 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
MehrIn 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
MehrSeminar: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
MehrBaader 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
Mehr3. 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
MehrObjektorientierter 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
MehrData 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
MehrZeichen 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
MehrSystemen 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
Mehr5 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
MehrR&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
Mehrdas 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
MehrProzessbewertung 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
MehrReprä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
MehrEinfü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
MehrSoftware 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
MehrFachdidaktik 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,
MehrEinfÅ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
MehrLogik 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:
MehrFormeln. 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
MehrWeb 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
MehrGrundbegriffe 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
MehrGrundlagen 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
MehrVgl. 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,
MehrProxy. 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
Mehr1. 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:
MehrWintersemester 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
Mehr2.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
MehrSecond 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
MehrEinfü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.
MehrGrü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
MehrStuPro-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
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
MehrOn 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
MehrEin 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
MehrBauteilattribute 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...
MehrVerhindert, 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:
MehrKundenregistrierung 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
MehrSemantic 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
MehrRhetorik 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