Organisatorisches: Inhalt. Ontology Engineering. Agenda

Ähnliche Dokumente
Semantic Web Grundlagen

Semantic Web Grundlagen

Semantic Web Grundlagen

Organisatorisches: Inhalt. Die Abfragesprache SPARQL. Agenda

Semantic Web Grundlagen

Semantic Web Grundlagen

Semantic Web Grundlagen

Reasoner for the Semantic Web

Semantic Web Grundlagen

Semantic Web Grundlagen

Semantic Web Grundlagen

Organisatorisches: Inhalt. OWL & Beschreibungslogiken. Agenda

Logik Grundlagen. Organisatorisches: Inhalt. Semantic Web Grundlagen

Semantic Web Technologies I

Agenda. Vorstellung der Dozentin. Vorstellung der Dozentin. Vorstellung der Dozentin Organisatorisches zur Vorlesung Was ist das Semantic Web?

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

Ontologiesprachen. 1.Was ist eine Ontologie 2.Aufbau einer Ontologie 3.RDF 4.RDFSchema 5.DAML+OIL / OWL 6.Frame-Logic

Programmieren in Java -Eingangstest-

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

Ontology Languages for the Semantic Web

Web Technologien Web Ontology Language (OWL)

Transformation einer relationalen Datenbank nach RDF am Beispiel von Reef Check-Daten. Seminararbeit Konrad Johannes Reiche

Organisatorisches: Inhalt. Agenda. Bestandteile von Regeln. Regeln Llyod-Topor Transformation

Agenda. Datenauszeichnung mit RDF. Rahmen für semantische Technologien. XML als Basis-Technologie. Wiederholungsübung XML

Programmieren in Java

RDF & OWL. Praktikum Softwaretechnologie für die Ressourcenlinguistik. Johannes Hellrich & Erik Fäßler SS FSU Jena

Web Ontology Language (OWL)

Stratego/XT und ASF+SDF Meta-Environment. Paul Weder Seminar Transformationen Datum:

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

DSpace 5 und Linked (Open) Data. Pascal-Nicolas Becker Technische Universität Berlin German DSpace User Group Meeting 2014 Berlin, 28.

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

Semantic Web Technologies I

Semantic Technologies

CIM Common Information Model

Bericht BTI7311: Informatik Seminar Was sind Ontologien?

Semantic Web Grundlagen

Software-Entwurfsmuster (weitere) A01 OOP. Software-Entwurfsmuster (weitere)

3.5 OWL: WEB Ontology Language (1)

11. Komponenten Grundlagen der Programmierung 1 (Java)

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

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

Entwurfsmuster (Design Patterns)

Information Retrieval and Semantic Technologies

Dr. Christian Stein Ontologie-Design Die nächste Generation des Web für sich nutzen lernen

Semantic Web Technologies I Lehrveranstaltung im WS09/10

Schnittstellen und. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Beschreibungslogik und Ontologiesprachen. Vorlesung im Wintersemester 08/09

Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt

Semantic Web Services

Verkettete Datenstrukturen: Listen

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

Semantic-Web-Sprachen XML, RDF (und RDFS), OWL

1 Symbolische Repräsentation

1 Symbolische Repräsentation

2.3 Spezifikation von Abstrakten Datentypen

Datum Wochen Band DVD Band eingelegt Protokoll kontr. Recovery kontr. Tag Nr. RW Sign. Sign. Sign.

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Beschreibungslogik. Vorlesung im Sommersemester 2016

Daten verknüpfen mit RDF. Lars Bröcker, Fraunhofer IAIS

RDF und SPARQL. Kursfolien. Karin Haenelt

Semantic Web Grundlagen

Einstieg in die Informatik mit Java

Linked Open Data in Musikbibliotheken. am Beispiel des RISM-OPAC. AIBM-Tagung bis in Nürnberg

Ontologien und Ontologiesprachen

1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI

Evaluation verschiedener Triple-Stores zum Speichern von Metadaten im Kontext des Forschungsdatenmanagements

Semantic Web: OWL. Web Ontology Language. Engelke Eschner Oleksandr Krychevskyy

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Semantic Web. RDF, RDFS, OWL, and Ontology Engineering. F. Abel, N. Henze, and D. Krause IVS Semantic Web Group

Linked Data Grundlagen Einführung ins Data Web

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

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

Ontologische Repräsentation von Daten (OWL)

Programmierkurs Java

Das Model/View/Controller Paradigma

Design Patterns. 3. Juni 2015

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

Daten und ihre Semantik für Menschen und Maschinen. NIE-INE Ontologie-Workshop

Webbasiert und kollaborativ: ein Requirements Editor auf Basis von ReqIF

Wahlpflichtfach Design Pattern

Die Nationalbibliografie als Linked Data Technische Aspekte des Linked Data Service der DNB

Persistenz. Ralf Gitzel

Objektorientierte Programmierung (OOP)

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

DBMS für spezielle Anwendungen XML als Mittel der Datenbank-Interoperabilität

Semantik von SPARQL. Foliensatz: Markus Krötzsch, Sebastian Rudolph. Webbasierte Informationssysteme 15. November 2010

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

Ein Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008

12 Abstrakte Klassen, finale Klassen und Interfaces

1. Semantic Web 2. Ontologien 3. OWL

Ein XML Dokument zeichnet sich im Wesentlichen durch seine baumartige Struktur aus:

Software Engineering in der Praxis

Info B VL 8: Abstrakte Klassen & Interfaces

Linked Open Cultural Heritage.

Regeln fuer OWL. Foliensatz: Markus Kroetzsch, Sebastian Rudolph. Webbasierte Informationssysteme 15. November 2010

Semantic Web Technologies 1

Verbesserte Nutzbarkeit heterogener und verteilter Geodaten durch Semantische Interoperabilität

Was sind Ontologie-Editoren?

Transkript:

2/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Birte Glimm Institut für Künstliche Intelligenz 23. Jan 2012 Semantic Web Grundlagen Ontology Editing Organisatorisches: Inhalt Einleitung und XML 17. Okt Hypertableau II 12. Dez Einführung in RDF 20. Okt Übung 4 15. Dez RDF Schema 24. Okt SPARQL Syntax & Intuition 19. Dez fällt aus 27. Okt SPARQL Semantik 22. Dez Logik Grundlagen 31. Okt SPARQL 1.1 9. Jan Übung 1 3. Nov Übung 5 12. Jan Semantik von RDF(S) 7. Nov SPARQL Entailment 16. Jan RDF(S) & Datalog Regeln 10. Nov SPARQL Implemetierung 19. Jan OWL Syntax & Intuition 14. Nov Ontology Editing 23. Jan Übung 2 17. Nov Übung 6 26. Jan OWL & BLs 21. Nov Ontology Engineering 30. Jan OWL 2 24. Nov Linked Data 2. Feb Tableau 28. Nov SemWeb Anwendungen 6. Feb Übung 3 1. Dez Übung 7 9. Feb Blocking & Unravelling 5. Dez Wiederholung 13. Feb Hypertableau 8. Dez Übung 8 16. Feb Abfragen und RIF wurde gestrichen 3/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 4/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Ontology Engineering Agenda Wie können wir programmatisch mit einer Ontologie arbeiten? Wie können wir über eine grafische Oberfläche mit einer Ontologie arbeiten?

5/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 6/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 OWL Implementieren Was heisst es OWL zu implementieren? Modellierung Bereitstellung von Datenstrukturen, die eine OWL Ontologie repäsentieren Parsen Konvertierung der textuellen Repräsentation einer Ontologie (z.b. in RDF/XML) in entsprechenden Datenstrukturen Serialisierung Erzeugung einer entsprechenden textuellen Darstellung (z.b. in RDF/XML) einer Ontologie in den vorliegenden (internen) Datenstrukturen Manipulation Bereitstellung von Methoden zum Manipulieren der Datenstrukturen bzw. zum Erzeugen neuer ontologischer Elemente Schlussfolgerungen Berücksichtigung der formalen Semantik von OWL Aspekte einer Implementierung Identifizierung der Funktionalitäten und Zuständigkeiten Repräsentation Syntax vs. Datenmodell Interface vs. Implementierung Lokalität von Informationen Parsing/Serialization Abstraktion der zugrunde liegenden konkreten Repräsentation, z.b. als Tripel Manipulation Granularität Abhängigkeiten Benutzerintention Strategien Schlussfolgerungen Unterscheidung von expliziten und impliziten Konsequenzen Externe Implementierungen 7/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 8/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Was ist eine Ontology (für den Implementierer) Eine bestimmte syntaktische Repräsentation? Die Fakten, die durch die syntaktische Repräsentation repräsentiert werden? Die Informationen, die aus den repräsentierten Fakten folgen? Derartige Fragen werden wichtig im Zusammenhang mit OWL Welche Antworten soll ich erwarten, durch Abfragen an die Strukturen? Das OWL API Das OWL API ist eine derartige OWL Implementierung Gedacht für OWL DL Eine Ontology ist repräsentiert durch eine Menge von Axiomen, welche Informationen über Klassen, Rollen und Individuen modellieren Wann ist eine Klasse oder Rolle in einer Ontologie? Nicht in der OWL Spezifikation definiert Etwas Abhängig von der Implementierung

9/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 10/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Datenstrukturen des OWL API Stellt Datenstrukturen zur Repräsentation von Ontologien zur Verfügung Hilfsklassen für die Erzeugung, die Manipulation, das Parsen, das Rendern/Darstellen und das Schlussfolgern über diese Strukturen Die grundlegenden Datenstrukturen repräsentieren die Objekte in einer Ontology und orientieren sich an der funktionalen Syntax von OWL Das Ontologie Objekt Ein OWLOntology Objekt repräsentiert eine Ontologie Enthält eine Menge von Axiomen Weiss welche Klassen und Rollen in der Ontologie verwendet werden Kann eine IRI als Namen/ID haben und kann von IRIs geladen werden Die ID der Ontologie muss nicht übereinstimmen mit der IRI von der die Ontologie geladen wird Gleiches gilt für importierte Ontologien 11/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 12/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Laden einer Ontologie OWLOntologyManager manager =OWLManager.createOWLOntologyManager(); OWLOntologyIRIMapper amapper =new AutoIRIMapper(new File("/ont/"), false); manager.addirimapper(amapper); IRI rem=iri.create("http://www.ex.org/ex.owl"); IRI loc=iri.create("file:/ont/ex.owl"); OWLOntologyIRIMapper smapper =new SimpleIRIMapper(rem, loc); manager.addirimapper(smapper); OWLOntology ont =m.loadontologyfromontologydocument( IRI.create("file:/ont/ont.owl")); Objekt für Entitäten Die Klasse OWLClass repräsentiert eine (OWL) Klasse Enthält keine Informationen darüber in welchen Axiomen die Klasse verwendet wird Axiome bzgl. einer Klasse gehören zu einem OWLOntology Objekt Methoden in OWLClass geben Zugriff auf Informationen bzgl. der Klasse im Kontext der verwendeten Ontologie (convenience methods) Nicht-atomare Klassen verwenden das Interface OWLClassExpression Analog für Properties: OWLObjectProperty und OWLDataProperty

13/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 14/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Hinzufügen von Axiomen OWLDataFactory df=m.getowldatafactory(); OWLClass student=df.getowlclass(iri.create("...")); OWLClass course=df.getowlclass(iri.create("...")); OWLObjectProperty takes =df.getowlobjectproperty(iri.create("...")); OWLClassExpression sup =df.getowlobjectsomevaluesfrom(takes, course); OWLAxiom ax=df.getowlsubclassofaxiom(student, sup); manager.addaxiom(ont, axiom); Nutzung eines Reasoners Die Klasse OWLReasoner ist ein Interface, welches die meisten OWL Reasoner implementieren Enthält Methoden, um mit dem Reasoner zu interagieren import org.semanticweb.owlapi.reasoner.owlreasoner; import org.semanticweb.hermit.configuration; import org.semanticweb.hermit.reasoner.reasonerfactory;... OWLReasonerFactory reasonerfactory =new Reasoner.ReasonerFactory(); // HermiT factory OWLReasoner reasoner =reasonerfactory.createreasoner(ont); System.out.println(reasoner.isConsistent()); System.out.println(reasoner.isSatisfiable(student)); hermit.precomputeinferences( InferenceType.CLASS_HIERARCHY); 15/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 16/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Besuchermuster im OWL API Besucher: Kapsle eine auf den Elementen einer Objektstruktur auszuführende Operation als ein Objekt. Das Besuchermuster ermöglicht es Ihnen, eine neue Operation zu definieren, ohne die Klassen der von ihr bearbeiteten Elemente zu verändern. [Entwurfsmuster, Gamma et al.] Erlaubt verschiedenste Operationen über die Datenstrukturen, ohne dass diese mit applikations-spezifischem Kode beladen werden Gut solange die Datenstrukturen sich nicht ändern, aber Änderungen teuer Änderungen am OWL Standard selten Beispiel ClassExpressionVisitor Besucher implementieren das Interface OWLClassExpressionVisitor welches pro OWL Klassen Objekt eine visit() Methode erfordert Alle Implementierungen des Interfaces OWLClassExpression müssen eine Methode accept(owlclassexpressionvisitor visitor) implementieren public interface OWLClassExpressionVisitor { void visit(owlobjectunionof ce);... } public interface OWLObjectUnionOf extends OWLClassExpression { public void accept(owlclassexpressionvisitor v) { visitor.visit(this); }... }

17/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 18/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Anwendungen für Besucher Erlauben das Arbeiten mit beliebigen OWL Objekten, zum Beispiel Umwandlung in Negationsnormalform von Klassen oder Axiomen Vereinfachung von Axiomen Serialisierung in verschiedenen Formaten Übung: Transformation von Konzepten in Negationsnormalform Agenda Wie können wir programmatisch mit einer Ontologie arbeiten? Wie können wir über eine grafische Oberfläche mit einer Ontologie arbeiten? 19/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 20/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Ontology Editing mit Protege Laden Sie mad-cow-start.owl in Protege Machen Sie sich mit der Ontologie etwas vertraut Ontology Editing mit Protege Gegeben der folgende Text, ergänzen Sie die Ontologie um die Konzepte pet+owner, dog+owner und vegetarian: Pet owners are persons who own a pet. Dog owners are special pet owners in that they own a dog. Vegetarians are animals that do not eat other animals and neither do they eat parts of other animals.

21/21 Birte Glimm Semantic Web Grundlagen 23. Jan 2012 Ontology Editing mit Protege Klassifizieren Sie die Ontologie Sie sollten eine unerfüllbare Klasse mad+cow erhalten