Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Moderne Web-Technologien
Semantic Web
Editoren & Validatoren
Michal Murawicki
Axel Fiebelkorn
Eike Starkmann
Übersicht
� Allgemeines
� RDF-Validator� Protégé Editor
� Pellet Validator� SemanticWorks Editor
� SWOOP Editor� WonderWeb Validator
� Zusammenfassung
Allgemeines
� Warum überhaupt Validatoren?– Man würde gerne wissen, ob das
Dokument korrekt ist
– Oder in welcher Syntax ein Dokument geschrieben ist (OWL Lite / DL / Full)
– Wo treten die Fehler in einem Dokument auf?
Allgemeines
� Warum überhaupt Editoren?– Einfachere Erstellung und Bearbeitung
von Dokumenten
– Zeitersparnis
– Angenehmes Arbeiten
>> Editoren besser als Notepad
Übersicht
� Allgemeines
� RDF-Validator� Protégé Editor
� Pellet Validator� SemanticWorks Editor
� SWOOP Editor� WonderWeb Validator
� Zusammenfassung
RDF-Validatorhttp://www.w3c.org/RDF/Validator
� Validierung und Visualisierung von RDF-Dateien
� basiert auf dem Another RDF Parser (ARP)
� 3-Tupel Repräsentation eines Datenmodells sowie graphische Darstellung
� Validierung auch per URI
� Source-Code frei zugängig
RDF-ValidatorEingabe: RDF-Datei
<?xml version="1.0"?><rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:bk="http://www.bookstore.fake/bk#"><rdf:Description rdf:about="http://www.bookstore.fake/bk/RDF Grundlagen"><bk:ISBN>123456789</bk:ISBN><bk:autor>John Smith</bk:autor><bk:jahr>2004</bk:jahr><bk:preis>20,50</bk:preis></rdf:Description></rdf:RDF>
RDF-ValidatorStartseite
RDF-ValidatorAusgabe: Tripels
RDF-ValidatorAusgabe: Graph
RDF-ValidatorFehlerbehandlung
<?xml version="1.0"?><rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:bk="http://www.bookstore.fake/bk#"><rdf:Description rdf:about="http://www.bookstore.fake/bk/RDF Grundlagen"><bk:ISBN>123456789</bk:ISBN><bk:autor>John Smith</bk:autor><bk:jahr>2004<bk:jahr><bk:preis>20,50</bk:preis></rdf:Description></rdf:RDF>
RDF-ValidatorFehlerbehandlung
Übersicht
� Allgemeines
� RDF-Validator� Protégé Editor
� Pellet Validator� SemanticWorks Editor
� SWOOP Editor� WonderWeb Validator
� Zusammenfassung
Protégéhttp://protege.stanford.edu/
� entwickelt an der Stanford University
� open source
� geschrieben in Java
� Modellierung und Manipulation von Ontologien
� Framework für wissensbasierte Tools und Applikationen
� graphische Darstellung und Edition von RDF/OWL-Dateien
� Protégé-Frames, Protégé-OWL
Besonderheiten
� ständige Weiterentwicklung
� flexibel
� erweiterbare Umgebung
� viele Plug-ins
� große Benutzergemeinde
� umfangreiche Tutorials
� OWL (Lite, DL, Full)
� keine Bearbeitung des Codes!
Modellierung
Protégé -Frames:(neuste stabile Version: 3.2.1)
� Konstruktion von framebasierten Ontologien in einer bestimmten Domäne
� kompatibel mit Open Knowledge Base Connectivity Protocol (OKBC)
� Programmierschnittstelle für den Zugang zu Wissensbasen
� plug-in Architektur
Modellierung
Protégé-OWL:
� Aufbau von Ontologien für Semantic Web� Erweiterung von Protege um OWL-Modellierung� als Plug-In mit eigenem GUI� Zugang zum DL-Reasoner� Zusammenspiel mit Jena Framework
(http://jena.sourceforge.net/)
Protégé-OWL - Architektur
Letzte Konferenz:
9th, 23-26. Juli, Stanford, California
Themen u.a.:
� Entwicklung von Ontologien (frame, OWL)
� Ontologie-basierte Softwareentwicklung
� Medizinische Software
� Entwicklung von Plug-Ins
� Visualisierungs-Tools
Protégé Konferenzen
� Individuals (Instanzen einer Klasse)
� Properties (binäre Relationen auf Instanzen)
� Classes (Mengen von Instanzen)
Protégé-OWL - Komponenten
Disjunkte Klassen
Klassen in OWL können sich „überlappen“. Man definiert eine Menge von disjunkten Klassen. Innerhalb der Menge können Instanzen zu höchstens genau einer Klasse gehören.
Domain:Linke Seite einer Relation (analog zum
Definitionsbereich in der Mengenlehre)
Range:Rechte Seite einer Relation (analog zum
Wertebereich in der Mengenlehre)
Domain / Range
Property Restrictions
Eigenschaften-
Einschränkung
Existential Restrictions
� someValuesFrom
Universal Restrictions
� allValuesFrom
Cardinality Restrictions
� hasValue
Necessary And Sufficient Conditions
Schnelle Erstellung von mehreren:
� Unterklassen
� Properties
� Individuals
� Restrictions
Wizards
Beispiel: multiple subclasses
� Project Management
� Visualisierung
� Import / Export
� Reasoning
� Semantic Web
� Software Engineering
Plugins
Plug-in: Jambalaya
DEMO
Übersicht
� Allgemeines
� RDF-Validator� Protégé Editor
� Pellet Validator� SemanticWorks Editor
� SWOOP Editor� WonderWeb Validator
� Zusammenfassung
Übersicht
�� Pellet Pellet ValidatorValidator–– Allgemeines Allgemeines
– Features
– Funktionsweise
– Demo
� SemanticWorks– Allgemeines
– Features
– Demo
Pellet - Allgemeines
� Open Source, auf Java basierender OWL DL (and Full) Validator
� Beruht auf „tableaux“ Algorithmen, entwickelt für Description Logic (DL)
� Tableaux : Auswertung von Prädikaten, bzw. Logik
Pellet - Allgemeines
� Pellet ist der einzige zuverlässige und komplette Validator, der die Ausdrucksstärke von OWL DL behandeln kann
� Warum lieber OWL DL als OWL FULL ??? � OWL DL entscheidbar, FULL nicht !!!!
Pellet - Allgemeines
Übersicht
Pellet Pellet ValidatorValidator– Allgemeines
–– Features Features
– Funktionsweise
– Demo
� SemanticWorks– Allgemeines
– Features
– Demo
Pellet Features
� Beispiel an denen Features gezeigt werden
<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:bk="http://www.bookstore.fake/bk#"><rdf:Descriptionrdf:about="http://www.bookstore.fake/bk/RDFGrundlagen"><bk:ISBN>123456789</bk:ISBN><bk:autor> John Smith</bk:autor><bk:jahr>2004</bk:jahr><bk:preis>20,50</bk:preis></rdf:Description></rdf:RDF>
Pellet Features
� Ontologie – Analyse und “Reparatur“– OWL hat drei Dialekte und zwei “Hauptdialekte”– Pellet verarbeitet einige viele Heuristiken und
findet dabei heraus, ob es sich um ein OWL DL oder OWL FULL Dokument handelt. Es wird geprüft :� ob der Graph Kreise enthält, falls ja OWL FULL� ob eine Klasse Instanz einer anderen ist, falls ja OWL
FULL� ob Kardinalitäten > 1 existieren, falls ja OWL FULL
Pellet Features
Pellet Features
<?xml version="1.0"?><rdf:RDF xml:base="http://www.w3.org/2002/03owlt/I5.26/consistent006" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:Class rdf:nodeID="B"><owl:intersectionOf rdf:parseType="Collection"><owl:Class rdf:ID="B"/><owl:Class>
<owl:unionOf rdf:parseType="Collection"><rdf:Description rdf:nodeID="B"/><owl:Class rdf:ID="C"/>
</owl:unionOf></owl:Class>
</owl:intersectionOf></owl:Class>
</rdf:RDF>
Pellet Features
Pellet Features
� ABOX Query– es wurde ein ABOX Anfragemodul mit
eingebunden, so dass es ermöglicht wird, Datenbank ähnliche Anfragen an eine Ontologie zu stellen.
– Die Anfragesprache ist SPARQL (oder RDQL)
Pellet Features
Pellet Features
� Ontologie Debugging– es werden Erklärungen gegeben, warum tritt ein
Fehler auf und wo
� Datentyp Urteilsvermögen– Pellet testet die Erfüllbarkeit von Verbindungen
von erstellten Datentypen (type checking).
– Z.B. eingeschränkte Integer Werte.
Pellet Features
<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:bk="http://www.bookstore.fake/bk#"><rdf:Descriptionrdf:about="http://www.bookstore.fake/bk/RDFGrundlagen"><bk:ISBN>123456789</bk:ISBN><bk:autor> John Smith</bk:autor><bk:jahr>2004<bk:jahr><bk:preis>20,50</bk:preis></rdf:Description></rdf:RDF>
Übersicht
�� Pellet Pellet ValidatorValidator– Allgemeines
– Features
–– FunktionsweiseFunktionsweise
– Demo
� SemanticWorks– Allgemeines
– Features
– Demo
Pellet - Funktionsweise
Pellet - Funktionsweise
� Zuerst wird geprüft um was für eine Art von Ontologie es sich handelt (DL / FULL)
� Danach wird die OWL Ontologie in den Reasoner(logischen Denker) geladen
� Während dieser Ladephase werden die Axiome über Klassen in die TBOX Komponente gepackt, wohingegen die Axiome über die konkreten Daten (Type und Eigenschaft) in die ABOX gespeichert werden
Pellet - Funktionsweise
� TBOX :� Konzept-Axiome, die die Struktur der zu modellierenden
Domäne beschreiben (konzeptionelles Schema):– Elephant vAnimal uLarge uGrey– Unterklasse oder Äquivalent
� ABOX :� Aussage-Axiome, die konkrete Situationen (Daten)
beschreiben:– Happy Father(John)– has Child(John, Mary)– Instanzen, Rollen, Gleichheit, Ungleichheit
Übersicht
�� Pellet Pellet ValidatorValidator– Allgemeines
– Features
– Funktionsweise
–– DemoDemo
� SemanticWorks– Allgemeines
– Features
– Demo
Übersicht
� Pellet Validator– Allgemeines
– Features
– Funktionsweise
– Demo
�� SemanticWorksSemanticWorks–– AllgemeinesAllgemeines
– Features
– Demo
SemanticWorks - Allgemeines
� Was ist SemanticWorks ???
� SemanticWorks ist ein OWL/RDFS/RDF Editor
� Von der Firma Altova und ist seit 2006 erhältlich
� Altova ist Marktführer für XML Tools wie XML Spy, MissionKit, DatabaseSpy
SemanticWorks - Allgemeines
� Was ist SemanticWorks ???
� Altova vertreibt SemanticWorks kommerziell (99 Euro)
� bieten aber eine Free-Trial Version von 30 Tagen
� Anmeldung mit Name, Email, usw.
Übersicht
� Pellet Validator– Allgemeines
– Features
– Funktionsweise
– Demo
�� SemanticWorksSemanticWorks– Allgemeines
–– FeaturesFeatures
– Demo
SemanticWorks - Features
� RDF Dokumente können erstellt und editiert werden (graphisch und textbasierend)
� Zusätzlich >> Editieren von OWL/RDFS Code
� sehr Code naher graphischer Editor
SemanticWorks - Features
� Man kann sich zwischen folgenden Anzeigemöglichkeiten entscheiden :– Classes, listet alle Ontologie Klassen auf. Es
werden sogar Blank nodes angezeigt, falls die Option ausgewählt ist
– Properties, listet die Beziehungen der Ontologie auf
– Instances (a.k.a. individuals), listet alle Instanzen der Klassen einer Ontologie auf.
SemanticWorks - Features
� Man kann sich zwischen folgenden Anzeigemöglichkeiten entscheiden :– All-Different, listet alle owl:AllDifferent Objekte
der Ontologie auf
– Ontologies, listet alle Ontologien des Dokumentes auf, auch die importierten
SemanticWorks - Features
SemanticWorks - Features
� Detail View, die
bestehenden
Ontologie
Objekte können
noch
zusätzlich
bearbeitet
werden
SemanticWorks - Features
� Overview Fenster, bietet eine Übersicht, wo man sich in der graphischen Ansicht befindet
SemanticWorks - Features
� Text View, hier wird das Dokument in der Ursprünglichen RDF/XML Syntax angezeigt. Es gibt zur Erleichterung folgendes : – eine Einfärbung der Syntax,
– Zeilennummerierung,
– einklappbare Elemente,
– drag and drop
� bessere Übersicht
SemanticWorks - Features
SemanticWorks - Features
� Checking documents – Ein RDF, RDF Schema, OWL Lite, OWL DL oder
OWL Full Dokument kann auf seine Syntax geprüft werden.
– Zusätzlich, OWL Lite und OWL DL Dokumente können auf ihre korrekte Semantik geprüft werden
SemanticWorks - Features
� Checking documents – Fehler werden im
Error-Fenster
angezeigt und sind
mit einem Link zum
Fehler versehen.
SemanticWorks - Features
Übersicht
� Pellet Validator– Allgemeines
– Features
– Funktionsweise
– Demo
�� SemanticWorksSemanticWorks– Allgemeines
– Features
–– DemoDemo
Übersicht
� Allgemeines
� RDF-Validator� Protégé Editor
� Pellet Validator� SemanticWorks Editor
� SWOOP Editor� WonderWeb Validator
� Zusammenfassung
Übersicht
�� SWOOPSWOOP–– Allgemeines Allgemeines – Features – Probleme– Beispiele
� WonderWeb Validator– Allgemeines
� Zusammenfassung
SWOOP - Allgemeines
� SWOOP ist ein Hypermedia-basierter OWL Ontology Editor
� Java basiert und daher Plattformunabhängig� Entwickelt von mindswap, weiterentwicklung
als Open Source bei Google Code� MIT Lizenz� http://www.mindswap.org/2004/SWOOP/
SWOOP - Allgemeines
� Architektur
Übersicht
�� SWOOPSWOOP– Allgemeines–– FeaturesFeatures– Probleme– Beispiele
� WonderWeb Validator– Allgemeines
� Zusammenfassung
SWOOP - Features
� Web-browser Look & Feel– Direktes öffen von Otologien per eingebauten Browser
� Addressleiste, Bookmarks, History� Hypertextual Navigation
– Navigation wie bei einem Browser
SWOOP - Features
SWOOP - Features
� Surfen, Editieren, OWL Einträge in verschiedener Syntax vergleichen
– Consise Format(editierbar) – Abstract Syntax– RDF/XML(editierbar) – Turtle– weitere Plugins hinzufügbar
� Change Log mit Versionierung
SWOOP - Features
SWOOP - Features
� Annotea Client für Zusammenarbeit– Nachrichten hinterlassen– Kommunikation erleichtern
� Change Sets mit anderen teilen– Jeder bekommt mit was geändert worden ist– Erleichtert Zusammenarbeit
� Ontology Debugging mit dem OWL Reasoner: Pellet
� Plugin System– Es können neue Reasoner nachgeladen werden
SWOOP - Features
SWOOP - Features
� Es werden folgende Ansichten angeboten :– Class Tree, listet alle Ontologie Klassen auf. – Property Tree, listet die Beziehungen der
Ontologie(n) auf– List , listet alles alphabetisch auf; ohne
Baumstruktur.
SWOOP - Features
� Plugins– Pellet Plugin (Default in SWOOP v2.2) – Graph Visualisierung (noch nicht verfügbar) – Natural Language Entity Renderer (noch nicht
verfügbar)
SWOOP - Features
� Hilfe– Generelle Mailingliste:– http://lists.mindswap.org/mailman/listinfo/swoop
– Developer Mailingliste:– http://lists.mindswap.org/mailman/listinfo/swoop-devel
– Generelle Dokumentation:– http://www.mindswap.org/papers/SwoopJWS_Revised.pdf
– Aktuelle Version:– http://code.google.com/p/swoop/
Übersicht
� SWOOP– Allgemeines– Features –– ProblemeProbleme– Beispiele
� WonderWeb Validator– Allgemeines
� Zusammenfassung
SWOOP - Probleme
� Stürzte oft ab (unter Linux) � Dateien mit fehlerhafter Syntax können zum
Teil nicht geöffnet werden.� Debuggen von grösseren Otologien ist extrem
langsam, oder geht gar nicht
Übersicht
� SWOOP– Allgemeines– Features– Probleme–– BeispieleBeispiele
� WonderWeb Validator– Allgemeines
� Zusammenfassung
Übersicht
� SWOOP– Allgemeines– Features– Probleme– Beispiele
�� WonderWeb ValidatorWonderWeb Validator–– AllgemeinesAllgemeines
� Zusammenfassung
WonderWeb Validator -Allgemeines
� OWL Validator– http://phoebus.cs.man.ac.uk:9999/OWL/Validator
– Seite seit längerer Zeit offline.– Sehr wenig Informationen– Die online Version läuft mit SWOOP
� OWL Validator Plug-In– Es gibt ein Plug-In für Protege – http://www.co-ode.org/downloads/owlvalidator/co-ode-index.php
Übersicht
� Allgemeines
� RDF-Validator� Protégé Editor
� Pellet Validator� SemanticWorks Editor
� SWOOP Editor� WonderWeb Validator
� Zusammenfassung
Zusammenfassung
RDF-ValidatorVorteile:
� open source
� tabellarische Ausgabe (3-Tupel)
� graphisch ansprechende Baum-Ausgabe
� übersichtliche Fehlermeldung (mit Zeilenangabe)
� Verbesserungsvorschläge
Nachteile:
� keine Analyse von Ontologien
Zusammenfassung
Pellet-ValidatorVorteile:
� open source
� Ontologieanalyse und Anpassungsvorschläge, um ein OWL DL oder Lite Dokument zu erhalten
� SPARQL Anfragen-Verarbeitung
� Fehleranalyse
� Downloadbar und somit Offline nutzbar
Zusammenfassung
Pellet-ValidatorNachteile:
� Fehlerausgabe ist unübersichtlich und leider teilweise ohne Zeilenangaben
� Tree-Ausgabe ähnlich „Konsolengrafik“(entspricht eher einer Liste)
� kaum Verbesserungsvorschläge
Zusammenfassung
WonderWeb:Vorteile: unbekannt
Nachteile:
� Server offline
� kaum Dokumentation
� Alle Tutorials verweisen auf einen toten Link
Zusammenfassung
Welchen Validator soll ich benutzen?
� Für kleine RDF-Dokumente:
RDF Validator von W3C
� Für Ontologien: Pellet Validator
Zusammenfassung
ProtégéVorteile:
� open source
� ansehnliche graphische Ausgabe
� viele Plugins vorinstalliert / gute Dokumentation
� große Comunity
� Drag&Drop
� Layout übersichtlich
� Dokumente syntaxunabhängig erstellbar
Zusammenfassung
ProtégéNachteile:
� Quelltext nicht editierbar
� Import von Ontologien scheitert manchmal
� Kein Öffnen von RDF-Dateien vom Auswahlmenu aus möglich (nur OWL-Dateien)
� Plug-Ins funktionieren manchmal nicht
Zusammenfassung
SemanticWorksVorteile:� Schnelles Editieren von OWL- und RDF-Dateien
� Dateien graphisch und textuell editierbar
� übersichtliche Fehlermeldung (mit Zeilenangabe)
� Gute graphische Ausgabe
� Codenah
� Drag & Drop
Zusammenfassung
SemanticWorksNachteile:
� Kommerziell (kostet 99,- EUR)
� Bei größeren Bäumen ist die Grafik unübersichtlich
� Probleme bei großen Dateien
Zusammenfassung
SWOOPVorteile:� open source
� In Java geschrieben (plattformunabhängig)
� Dateien in verschiedener Syntax editierbar (hierarchisch, textbasierend)
� Look & Feel
� kollaboratives Zusammenarbeiten möglich
Zusammenfassung
SWOOPNachteile:
� Weiterentwicklung stagniert momentan
� läuft bei größeren Dateien instabil
� Dokumente mit Syntax-Fehler werden teilweise nicht geöffnet
� Reasoner / Debugger läuft langsam
� keine graphische Ausgabe
Zusammenfassung
Welchen Editor soll ich benutzen?
� Für private Zwecke: Protégé (auch ohne Syntaxkenntnisse)
� Für gewerbliche Zwecke: SemanticWorks(wegen Kundendienst)
Zusammenfassung
Alternativen:
� SWeDE 2.0.2 – Eclipse 3.1 Pluginhttp://owl-eclipse.projects.semwebcentral.org/
praktisch, da Eclipse viel benutzt wird
� RDF Validator von http://www.rdfabout.com/demo/validator/
� Ähnlich RDF-Validator von W3C, aber weniger Möglichkeiten
Zusammenfassung
Alternativen:
� SMORE : ermöglicht das einbinden von HTML Dokumenten in OWL http://www.mindswap.org/2005/SMORE/
Es gibt noch zahlreiche Ontologie-Editoren im Internet zu finden: http://en.wikipedia.org/wiki/Ontology_editor
Zusammenfassung
Quellen:� http://protege.stanford.edu/
� http://www.mindswap.org/2004/SWOOP/
� http://www.altova.com/products/semanticworks/semantic_web_rdf_owl_editor.html
� http://www.w3.org/RDF/Validator/
� http://www.mindswap.org/2003/pellet/demo.shtml
� http://www.ag-nbi.de/lehre/0607/V_NBI/
� http://en.wikipedia.org
Zusammenfassung
Fragen ???
Zusammenfassung
Vielen Dank!