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-Validator
http://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-Validator
Eingabe: RDF-Datei
<?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: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-Validator
Startseite
RDF-Validator
Ausgabe: Tripels
RDF-Validator
Ausgabe: Graph
RDF-Validator
Fehlerbehandlung
<?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: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-Validator
Fehlerbehandlung
Ü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:Description
rdf: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:Description
rdf: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-Validator
Vorteile:
open source
tabellarische Ausgabe (3-Tupel)
graphisch ansprechende Baum-Ausgabe
übersichtliche Fehlermeldung (mit Zeilenangabe)
Verbesserungsvorschläge Nachteile:
keine Analyse von Ontologien
Zusammenfassung
Pellet-Validator
Vorteile:
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-Validator
Nachteile:
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
SemanticWorks
Vorteile:
Schnelles Editieren von OWL- und RDF-Dateien
Dateien graphisch und textuell editierbar
übersichtliche Fehlermeldung (mit Zeilenangabe)
Gute graphische Ausgabe
Codenah
Drag & Drop
Zusammenfassung
SemanticWorks
Nachteile:
Kommerziell (kostet 99,- EUR)
Bei größeren Bäumen ist die Grafik unübersichtlich
Probleme bei großen Dateien
Zusammenfassung
SWOOP
Vorteile:
open source
In Java geschrieben (plattformunabhängig)
Dateien in verschiedener Syntax editierbar (hierarchisch, textbasierend)
Look & Feel
kollaboratives Zusammenarbeiten möglich
Zusammenfassung
SWOOP
Nachteile:
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 Plugin
http://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