Moderne Web-TechnologienOpen Source, auf Java basierender OWL DL (and Full) Validator Beruht auf...

Post on 03-Jul-2020

1 views 0 download

Transcript of Moderne Web-TechnologienOpen Source, auf Java basierender OWL DL (and Full) Validator Beruht auf...

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!