XML Clearinghouse Report 5



Ähnliche Dokumente
Was sind Ontologie-Editoren?

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

Reasoner for the Semantic Web

Anleitung über den Umgang mit Schildern

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Look Inside: desite. modellorientiertes Arbeiten im Bauwesen. B.I.M.

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

SharePoint Demonstration

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Fotos verkleinern mit Paint

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

1 Mathematische Grundlagen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Arbeiten mit UMLed und Delphi

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Java und XML 2. Java und XML

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Einleitung: Frontend Backend

1 topologisches Sortieren

OWL Web Ontology Language

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

SANDBOXIE konfigurieren

Semantic Web Technologies I

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Leichte-Sprache-Bilder

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Content Management System mit INTREXX 2002.

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

Ressourcen-Beschreibung im Semantic Web

Installation des edu- sharing Plug- Ins für Moodle

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

... MathML XHTML RDF

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember PocketPC.ch_Review_iLauncher.

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Task: Nmap Skripte ausführen

Professionelle Seminare im Bereich MS-Office

Datensicherung. Beschreibung der Datensicherung

4 Aufzählungen und Listen erstellen

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Geld Verdienen im Internet leicht gemacht

Was ist Sozial-Raum-Orientierung?

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

OP-LOG

Bilder zum Upload verkleinern

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Menü auf zwei Module verteilt (Joomla 3.4.0)

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

virtuos Leitfaden für die virtuelle Lehre

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Fotostammtisch-Schaumburg

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

!!!!T!!! Systems!() Multimedia Solutions

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Beweisbar sichere Verschlüsselung

Lernwerkstatt 9 privat- Freischaltung

Ontologien und Ontologiesprachen

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Adminer: Installationsanleitung

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

FORGE2015 HDC Session 4. Nachhaltige Infrastruktur als technologische Herausforderung. Tibor Kálmán Tim Hasler Sven Bingert

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Installationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.

Bedienungsanleitung KSG-Forum

Titel. SCSM ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Intranet Moodle

Anleitung Lernobjekt-Depot (LOD)

FastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße Essen Telefon Telefax

Was ist neu in Sage CRM 6.1

10 Erweiterung und Portierung

Kleines Handbuch zur Fotogalerie der Pixel AG

Ich möchte eine Bildergalerie ins Internet stellen

Transkript:

XML Clearinghouse Report 5 Software zum Ontologiemanagement mit OWL Herausgeber: Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme Dr. Rainer Eckstein Humboldt-Universität zu Berlin Institut für Informatik Datenbanken und Informationssysteme team@xml-clearinghouse.de www.xml-clearinghouse.de XML Clearinghouse

Kurzstudie Software zum Ontologiemanagement mit OWL Sebastian Tietz Oktober 2003 1

Inhaltsverzeichnis 1. Einleitung... 3 1.1 Die Semantic Web Vision... 3 1.2 Einführung in OWL... 4 2. Applikationen... 7 2.1 Übersicht... 7 2.2 Protégé-2.0 beta... 8 2.3 OilEd... 12 2.4 OntoEdit... 14 2.5 Jena2... 16 3. Fazit... 17 4. Anhang... 18 4.1 Glossar... 18 4.2 Bibliographie... 19 2

1. Einleitung "The Semantic Web is an extension of the current web in which information is given welldefined meaning, better enabling computers and people to work in cooperation." Tim Berners-Lee [27] 1.1 Die Semantic Web Vision Das World Wide Web entwickelte sich in den letzten Jahren schnell zum weltgrößten Datenspeicher. Dadurch werden die Möglichkeiten zum weltweiten sofortigen Zugriff auf Informationen immer weiter verbessert, es entstehen dabei aber auch zunehmend Probleme, wie z.b. in der Fülle der angebotenen Daten auch die tatsächlich relevanten Informationen zu finden [27, 43]. Der Grund dafür sind die Unzulänglichkeiten der derzeit zur Verfügung stehenden Suchmöglichkeiten, die im Wesentlichen auf Volltextsuchen basieren und damit kaum semantisch komplexe Anfragen ermöglichen. Diese Probleme sind dadurch bedingt, dass die Informationen im Web zwar in maschinenlesbarer Form vorliegen, aber nicht maschinenverständlich sind, d.h. dass die Semantik der Daten bisher kaum maschinell erfasst werden kann. Also wird es in Zukunft immer wichtiger, die gewaltige Anzahl an Dokumenten und Daten, die im Internet vorhanden sind, in einer Weise zu beschreiben, die es nicht nur Menschen, sondern auch Maschinen ermöglicht, sie zu verarbeiten und zu verstehen [1, 2]. Eine Grundlage des Semantic Web [1, 2] ist standardisierte Sprache zur Beschreibung von Metadaten, um den Austausch von Dokumenten zu vereinfachen und das maschinelle Verstehen von Information überhaupt erst zu ermöglichen. Dazu werden so genannte Ontologien verwendet, dies sind relationale Beschreibungen von Objekten, die auf logischen Grundlagen aufbauen. Eine weitere Definition für Ontologien ist: Modell einer Wissensdomäne, die gemeinsam verwendete Begrifflichkeiten, deren Beziehungen untereinander und Regeln über diese Beziehungen festlegt. Ein dritte, sehr abstrakte jedoch viel zitierte Definition lautet: Eine Ontologie ist die formelle Spezifizierung einer Konzeptualisierung. Es wurde eine Reihe von Ontologiesprachen entwickelt, die wichtigsten beiden Ontologiesprachen waren DAML [3], entwickelt von dem amerikanischen Institut DARPA [4], und OIL [5], das von der europäischen Forschungsgemeinde stammt. Die Vorteile von beiden wurden schließlich in der Sprache DAML+OIL [9] vereint. Das W3C [6] entwickelte aus dieser Sprache die Web Ontology Language (OWL) [7, 28-33], die aktuelle vom W3C als Standard empfohlene Ontologiesprache. OWL ist noch sehr jung, entwickelt sich aber sehr schnell und wird von einer zunehmenden Zahl von Herstellern unterstützt. Diese Arbeit legt ein Hauptaugenmerk auf die aktuelle Unterstützung der Tools von OWL (für weitere Informationen s. [43, 44, 45]). 3

1.2 Einführung in OWL OWL ist eine Ontologiesprache für das Web, das auf einer reichhaltigen technologischen Tradition aufbaut, und von den Standards SHOE [8] und DAML+OIL [9] erbt. Die technologische Basis für OWL ist zu einem Grossteil Description Logic (DL) [10], eine Untergruppe von First Order Logics, die gegenüber der First Order Logic zwar beschränkt ist, dafür aber entscheidbar. Für OWL gibt es zwei Formen der Syntax: Eine RDF/XML Syntax, die als Erweiterung zu RDF [18] in Webseiten eingebaut werden kann und dann schliesslich das Semantic Web bilden wird, und eine Abstrakte Syntax, die leichter zu lesen und schreiben ist und dichter an Description Logics angelehnt ist. OWL existiert in drei Stufen [28, 49, 50]: OWL Light, DL und Full, wobei nur OWL Light und DL entscheidbar sind und damit von einer Reasoning Engine prozessiert werden können. Die drei Sprachpakete sind Teilmengen voneinander. OWL baut auf RDF(S) [18] auf und verfolgt dasselbe Ziel, XML- Vokabular zur Verfügung zu stellen, um Klassen, Eigenschaften und ihre Beziehungen zueinander zu beschreiben. Ab OWL DL können Klassen auch als Beschreibungen definiert werden. Beispiel für die Abstrakte Syntax: [Namespaces: rdf = http://www.w3.org/1999/02/22-rdf-syntax-ns# owl = http://www.w3.org/2002/07/owl# pp = http://cohse.semanticweb.org/ontologies/people# ] Class(pp:vegetarian complete intersectionof(pp:animal restriction(pp:eats allvaluesfrom(complementof(pp:animal))) restriction(pp:eats allvaluesfrom(complementof(restriction(pp:part_of somevaluesfrom(pp:animal))))))) Beispiel für die RDF/XML Syntax: <rdf:rdf xmlns:ns0="http://cohse.semanticweb.org/ontologies/people#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml:base="http://cohse.semanticweb.org/ontologies/people" xmlns="http://cohse.semanticweb.org/ontologies/people#"> <owl:class rdf:about="#vegetarian"> <rdfs:label>vegetarian</rdfs:label> <owl:equivalentclass> <owl:class> <owl:intersectionof rdf:parsetype="collection"> <owl:class rdf:about="#animal" /> <owl:restriction> <owl:onproperty rdf:resource="#eats" /> <owl:allvaluesfrom> <owl:class> 4

/> <owl:complementof> <owl:class rdf:about="#animal" /> </owl:complementof> </owl:class> </owl:allvaluesfrom> </owl:restriction> <owl:restriction> <owl:onproperty rdf:resource="#eats" /> <owl:allvaluesfrom> <owl:class> <owl:complementof> <owl:restriction> <owl:onproperty rdf:resource="#part_of" <owl:somevaluesfrom> <owl:class rdf:about="#animal" /> </owl:somevaluesfrom> </owl:restriction> </owl:complementof> </owl:class> </owl:allvaluesfrom> </owl:restriction> </owl:intersectionof> </owl:class> </owl:equivalentclass> </owl:class> Es wird deutlich, das die RDF/XML-Syntax allein durch die viel unkompaktere Schreibweise sehr viel schwieriger zu lesen ist als die abstrakte Syntax. Informationen in OWL bilden im Allgemeinen eine Ontologie. Es werden Klassen und Eigenschaften definiert und miteinander in Beziehung gebracht [49, 50]. Eine Klasse ist eine Gruppe von Individuen, also die verallgemeinerte abstrakte Beschreibung einer Gruppe, in diesem Beispiel ein Vegetarier. Es stellt einen Weg dar, einen Teil der (zu modellierenden) Welt zu beschreiben. Jede Klasse enthält Eigenschaften, die beschreiben, was ihre Klasse ausmacht, wie sie sich von anderen Klassen unterscheidet, in welchen Beziehungen sie zu anderen Klassen steht usw. In unserem Beispiel hat ein Vegetarier die Eigenschaft, das Komplement der Klasse Tiere zu essen. Schliesslich gibt es noch Individuen, die konkrete Instanzen der Klassen darstellen. Diese werden mit Individual definiert. In OWL ist es nicht notwendig, das die einzigen Eigenschaften eines Individuums in der Definition seiner Klasse stehen. Man nimmt also nicht an, alles über dieses Objekt zu kennen. Klassen und Eigenschaften können auch viele Definitionen haben. Ist die zu beschreibende Welt in einer Ontologie definiert, die aus einer Kombination von Klassen, Eigenschaften und Individuen besteht, so kann diese nun mit Hilfe einer Inference Engine auf Konsistenz, also auf Widersprüche geprüft werden. Darüber hinaus können aus den vorliegenden Informationen Schlüsse gezogen werden. Beispiel: Class(pp:old+lady complete intersectionof(pp:elderly pp:female pp:person)) Class(pp:old+lady partial intersectionof( restriction(pp:has_pet allvaluesfrom(pp:cat)) 5

restriction(pp:has_pet somevaluesfrom(pp:animal)))) Es folgt: Jede alte Dame muss eine Katze als Haustier haben, weil sie per Definition ein Haustier hat und alle ihre Haustiere Katzen sind. Class(pp:cow partial pp:vegetarian) Class(pp:mad+cow complete intersectionof(pp:cow restriction(pp:eats somevaluesfrom(intersectionof(pp:brain restriction(pp:part_of somevaluesfrom pp:sheep)))))) Es folgt: Es kann keine verrückten Kühe geben, weil Kühe Vegetarier sind und verrückte Kühe Teile von Schafshirn essen, das wiederum zu einem Tier gehört. 6

2. Applikationen 2.1 Übersicht In den letzten Jahren ist eine Anzahl von Entwicklungsumgebungen für Ontologiekonstruktion und verwaltung entstanden. Die Unterstützung durch Tools ist sowohl bei dem Ontologieentwicklungsprozess als auch bei der Pflege von Ontologien (Entwicklung, Veränderung der Ontologien, Zusammenfügen mit anderen bestehenden Ontologien etc.) sehr wichtig. Vor der Entwicklung von Ontologien stellen sich viele Fragen an die Softwaretools, die man verwenden will: Welche Art von Softwaretool ist am praktischsten für meine Ansprüche? Mit welchem Tool lässt sich am komfortabelsten arbeiten? Wie stabil oder weit entwickelt ist das Programm? Wie werden die Ontologien intern gespeichert? Hat das Tool eine Inference Engine? Kann man die Ontologie in dem Tool problemlos zwischen verschiedenen Ontologiesprachen hin- und herkonvertieren? Es gibt zwar für das Ontologiemanagement eine Fülle von Tools, für die relativ junge Sprache OWL ist das Angebot jedoch noch unausgereift. Die Bestrebungen, OWL zu unterstützen sind zwar bei vielen Herstellern groß, jedoch gibt es erst wenige Tools, die OWL überhaupt schon unterstützen. Der prominenteste Vertreter dieser Gruppe ist Protégé [11], eine der ersten und die wahrscheinlich umfangreichste Semantic Web-Applikation von der Universität Stanford. OilEd [12] von der Uni Manchester sowie OntoEdit [13] von der Firma OntoPrise sind zwei weitere klassische Ontologieeditoren. Weiterhin gehe ich auf Jena2 [14] von HP ein, eine umfangreiche Java- API für Semantic- Web- Applikationen. 7

2.2 Protégé-2.0 beta Protégé [11, 38-42] ist ein Open- Source- Projekt der Universität Stanford. Es ist ein mächtiger Ontologieeditor und ein Knowledge Base- Editor, der in Java geschrieben wurde. Es wurde als erweiterbare Umgebung konzipiert, auf der Homepage sind viele Plugins zu finden, die das ganze Programm umfassend erweitern. Protégé ist weit verbreitet und hat eine große Benutzergemeinde, daher auch die große Anzahl an Plugins. Seit Oktober.2003 gibt es mit der neuen Version 2.0beta eine nahezu volle Unterstützung für OWL DL und für große Teile von OWL Full in Form eines Plugins. Das Plugin basiert auf der Jena2-API von Hewlett Packard [15]. Protégé verwendet ein mächtiges internes Datenrepräsentationssystem, das OKBCkompatibel ist. OKBC (Open Knowledge Base Connectivity) [16] ist ein von der DARPA gesponserter Standard für Wissensbasen. Es unterstützt auch Templates, vordefinierte Klassen mit Eigenschaften, die bestimmte Zahlenbereiche, Beschränkungen, Standardwerte oder inverse Eigenschaften zu anderen Klassen oder Eigenschaften haben. Weiterhin gibt es Unterstützung für Metaklassen sowie Metaklassenhierarchien. Screenshot 1: Protégé 2.0b Property View 8

Äußerst bemerkenswert ist eine weitere Besonderheit, die Protégé von allen anderen Ontologieentwicklungsumgebungen abhebt: Die Erstellung von sehr großen Ontologien. Protégé kann mit beliebig großen Ontologien umgehen, es gibt Berichte von Entwicklern, die mit Ontologien mit mehr als 150.000 Klassen arbeiten. Dazu greift es auf zwei wichtige Mechanismen zurück: Eine JDBC- kompatible Datenbankunterstützung [17], um Daten zu speichern und abzufragen und einen Caching- Mechanismus, der den Speicher verwaltet, wenn die Ontologie nicht mehr komplett in den Arbeitsspeicher passt. Man kann die Ontologien in verschiedenen Formaten importieren und exportieren. Unterstützt werden momentan RDF Schema [18], XML mit DTD [19], XML Schema [20] und neuerdings auch OWL. Die gesamte Ontologie mit allen Instanzen kann durch JDBC- Kompatibilität auch in MSSQL, MySQL, Oracle und MS Access gespeichert werden. Eine Vielzahl von Plugins bringt Funktionalitäten wie grafische Visualisierung und Navigation durch die Ontologie (z.b. OntoViz, Jambayala) [21], das Zusammenfügen und Mappen von Ontologien und Versionskontrolle (PROMPT) [21]. Alle diese Plugins funktionieren prinzipiell auch mit OWL, jedoch müssen an manchen Stellen Einschränkungen gemacht werden, weil bestimmte Konzepte in OWL nicht für die Plugins nicht realisiert sind (z.b. Eigenschaften wie symmetrisch, transitiv, funktional). Die nicht verstandenen Konzepte werden in der Regel einfach ignoriert und haben im Testbetrieb nicht zu Abstürzen geführt. Jambalaya beispielsweise arbeitet ebenfalls an einer OWL DL-Unterstützung. Screenshot 2: Protégé 2.0b, Editor zum Erstellen von Restrictions 9

Für OWL- spezifische Ontologien gibt es bereits das Visualisierungs- Plugin ezowl [22], das OWL DL-Ontologien korrekt grafisch darstellt, jedoch bei größeren Ontologien relativ langsam und unpraktisch zu bedienen ist. Man navigiert relativ umständlich mit Hilfe der Scrollleiste, das Bild wird aber schon bei kleinen Ontologien mit spürbarer Verzögerung dargestellt. Bei einer Testdatei von 150kb ließ sich noch erträglich mit dem Visualisierungs- Plugin arbeiten, es stellte aber auch die Grenze dar. Bei der Darstellung ist auch relativ schnell die Grenze erreicht, das Laden einer Testdatei von 3 MB war nicht mehr möglich. EzOWL hat Probleme, OWL Full- Ontologien korrekt darzustellen, manchmal endet die Darstellung bei komplizierten Beziehungen im Chaos. Da es das OWL- Plugin als Grundlage hat, befindet es sich auch noch in einem relativ frühen Entwicklungsstadium. Das Plugin bietet auch die Möglichkeit, die Ontologie zu editieren, man kann Klassen, Slots und Einschränkungen hinzufügen und löschen. Screenshot 3: Protégé 2.0b EzOWL Visualisierung OWL DL wird von Protégé mit Hilfe des OWL- Plugins [23] nun fast komplett unterstützt, es fehlt ausschließlich noch die Unterstützung von enumerierten Datentypen und Axiomen zwischen zwei anonymen Klassen. Es werden laut Herstellerangaben auch schon große Teile von OWL Full unterstützt. Protégé hat noch Probleme mit Namespaces, gegenwärtig wird nur ein Namespace zugelassen, d.h. die Verwaltung von vielen Ontologien in einem Projekt ist noch nicht möglich, ist aber in Arbeit. Das Plugin PROMPT bietet jedoch die Möglichkeiten, verschiedene Ontologien zusammenzuführen und aufeinander abzubilden, mit DAML+OIL- Ontologien funktionierte dies tadellos, mit OWL- Ontologien kam es jedoch regelmäßig zu Abstürzen. Protégé kann mit einer guten Übersichtlichkeit punkten, die einzelnen Tabs für verschiedene Funktionen und Plugins sind sinnvoll angeordnet, das Programm lässt sich intuitiv bedienen. Man verliert eigentlich nie den Überblick, weil nie zu viele Informationen 10

auf einmal dargestellt werden. Protégé hat eine interne Reasoning- Engine namens PAL (Protégé Axiom Language) und kann externe Engines wie FaCT [24], RACER [25] oder Jess [26] verwenden. Sowohl FaCT al auch RACER unterstützt OWL/DL. Sie funktionierten soweit ohne Probleme. 11

2.3 OilEd OilEd [12, 36] ist ein in Java geschriebener, kompakter Ontologieeditor, der von der Universität Manchester entwickelt wurde. Er wurde nicht als umfassende, erweiterbare Knowledge- Base- Entwicklungsumgebung konzipiert, sondern als relativ simpler Ontologieeditor, der (ursprünglich) zur Demonstration der Sprache OIL entworfen wurde. Das Wissensmodell wurde später auf DAML+OIL erweitert, OIL wurde seit diesem nicht mehr unterstützt. Ein weiteres Vorhaben des Projektes ist es, OWL umfassend zu unterstützen. Die aktuelle Version ist 3.5.4 ist im September 2003 erschienen. Die Funktionalität von OilEd ist auf das Wesentliche beschränkt, der Editor ermöglicht es, Klassen mit Attributen zu erstellen und diese hierarchisch anzuordnen. Es gibt einen Expression Editor, der Regeln mit Hilfe von Description Logics erstellt. Dieser lässt sich allerdings nur sehr umständlich bedienen und ist auf wenige Operationen beschränkt (NOT, AND, OR). Ein weiteres zentrales Feature von OilEd ist die Einbindung eines Reasoners, um die erstellte Ontologie zu klassifizieren und auf Konsistenz zu prüfen. OilEd stellt dafür eine Schnittstelle zu dem Reasoner FaCT [24] bereit, der ebenfalls von der Universität Manchester entwickelt wurde. In der aktuellen Version gibt es auch Unterstützung zu anderen Reasonern, wie z.b. RACER [25]. Die Klassen, Attribute sowie die Instanzen können gesondert in einer Liste betrachtet werden, zur besseren Übersichtlichkeit gibt es eine hierarchische Ansicht. Der Editor unterstützt lediglich kleineres Ontologiemanagement, es gibt keinerlei Funktionen für Zusammenarbeit wie Versioning, Integration oder Zusammenführen von Ontologien. Auch die mächtigen Funktionen des Knowledge- Acquisition von Protégé sind in keiner Weise unterstützt. Auch für die Verwaltung von größeren Mengen von Instanzen ist OilEd nicht konzipiert, zwar ist es möglich, Instanzen einzugeben und zu editieren, jedoch bietet es hier nicht gerade eine große Komfortabilität. Außerdem gibt es keine Datenbankanbindung, die erst die Verwaltung von größeren Instanzmengen ermöglicht. Die Applikation ist nicht als erweiterbare Umgebung implementiert worden, jedoch gibt es Bemühungen, dies zu ändern und Plugins von Drittherstellern zu ermöglichen. Auch wird an einer besseren Integration von OWL gearbeitet, die auch den OWL- Import ermöglicht. Es gibt jedoch keine Ankündigungen, wann ein neues Release erscheint, das diese Ziele umsetzt. Die aktuelle Version unterstützt jetzt auch den Export von OWL, allerdings lassen sich keine bestehenden OWL- Projekte in den Editor importieren. Es können auch keine OWLspezifischen Eigenschaften, die es nicht auch bei DAML+OIL gibt, erstellt werden (symmetrisch, transitiv, funktional). 12

Screenshot 4: OilEd Class View, Klassenhierarchie Leider konnte die Arbeit mit größeren OWL- Ontologien nicht getestet werden, weil OilEd keine OWL- Dateien importieren kann. Der Export von OWL- Dateien funktionierte tadellos, die getesteten DAML+OIL- Beispieldateien ließen sich als OWL- Dateien speichern und in Protégé wieder einlesen, die Struktur und Abhängigkeiten wurden korrekt erkannt. OilEd würde sich aus diesem Grund dazu eignen, DAML+OIL- Dateien in OWL umzuwandeln. Als Reasoner bietet sich der FaCT Reasoner an, der ebenfalls von der Universität Manchester kommt, und mit ein Grund für die Entwicklung für OilEd war. Man sollte nämlich Ontologien erstellen können, um sich von den Fähigkeiten von FaCT überzeugen zu können. Seit der letzten Version von OilEd können auch andere DIG- kompatible Reasoner wie RACER verwendet werden. Sowohl FaCT als auch RACER unterstützen OWL/DL. Die Klassifikation der Ontologie mit dem Reasoner geschieht nicht während des Editierens, sondern auf Knopfdruck. Es werden alle Inkonsistenzen rot markiert, die man anschließend verbessern kann, um die Konsistenz danach noch einmal zu prüfen. Der Reasoner funktionierte so weit ersichtlich ohne Probleme. 13

2.4 OntoEdit OntoEdit [13, 46] ist eine Ontologie-Entwicklungsumgebung, die die Entwicklung und Pflege von Ontologien mit Hilfe von grafischer Visualisierung ermöglicht. Das Tool wurde von der deutschen Firma OntoPrise in Java entwickelt und existiert in drei verschiedenen Versionen: OntoEdit Free, OntoEdit und OntoEdit Professional. Die aktuelle Version 2.6 ist im Januar 2003 erschienen. Die kostenlose Version ist gegenüber der normalen Version eingeschränkt in Bezug auf die Größe der zu verwaltenden Ontologien, die Professional Version hat eine Reihe von zusätzlichen Plugins sowie eine Inference Engine. Das Tool basiert auf einem flexiblen Plugin- Konzept, durch das auch Drittanbieter in der Lage sind, benötigte Funktionalität hinzuzufügen. Visualisierung ist eine besondere Stärke von OntoEdit. Ein Algorithmus versucht, die verschiedenen Relationen zwischen den Klassen möglichst übersichtlich darzustellen, in dem es die Klassen so anordnet, das eine möglichst große Lesbarkeit entsteht. Die Ausrichtung geschieht in einer Animation, die die Winkel der einzelnen Knoten zueinander konvergieren lässt. Der Benutzer kann die Anordnung mit Hilfe der Maus beeinflussen, indem er einzelne Knoten, bei denen die Relationen eventuell nicht so gut zu sehen sind, einfach aus dem Gewirr von Relationen herauszieht. Die gesamte Anordnung wird dadurch verändert, der Rest der Knoten passt sich wieder iterativ zu einem Optimum an. Screenshot 5: OntoEdit, Visualisierung 14

Um große Datenmengen zu verwalten ist eine Datenbankanbindung erforderlich. OntoEdit verfügt mit JDBC über eine Anbindung an die gängigen relationalen Datenbanken und kann diese ins Projekt importieren und exportieren. Obwohl sich der Hersteller auf seiner Homepage auf die Empfehlungen des W3C beruft, unterstützt OntoEdit zur Zeit nicht OWL, auf der Homepage finden sich auch keine entsprechenden Hinweise für zukünftige Entwicklungen Richtung OWL. Dies ist sehr schade, denn gerade auf dem Bereich der Visualisierung bietet OntoEdit ein vorbildliches Konzept, welches so in keinem anderen Programm zu finden ist. Ansonsten ist OntoEdit auch im Hinblick auf die Anbindung zu anderen Programmen von OntoPrise sowie der Vielzahl von Plugins eine mächtige Entwicklungsumgebung für Ontologien. Screenshot 6: OntoEdit Classes & Relations 15

2.5 Jena2 Jena2 [14] ist ein Java Framework, um Semantic Web-Applikationen zu bauen. Es ist kein Tool mit einer GUI, wie die anderen getesteten Programme, sondern eine API, die Funktionsbibliotheken bereitstellt. Es bringt eine Programmierumgebung für RDS, RDFS und OWL mit, enthält verschiedene Inference- Engines sowie die Anfragesprache RDQL und einen RDF/XML- Parser. Jena2 ist Open- Source, es kommt aus den Labors von Hewlett Packard (HP) und wird nun von einer internationalen Gemeinde weiterentwickelt. Die aktuelle Version 2.0 gibt es seit ende August. Jena2 hat eine Datenbankanbindung und unterstützt MySQL, Oracle und PostgreSQL über JDBC- Treiber. Über die Sprache RDQL können Anfragen gemacht werden. Über ein Konzept namens Fastpath werden dynamisch SQL-Anfragen generiert, um so viel Anfragearbeit wie möglich innerhalb der SQL-Datenbank zu erledigen und so eine höhere Performance zu erreichen. Die API stellt mehrere Inference- Engines zu Verfügung und unterstützt konzeptionell auch externe Reasoners, jedoch soll der Import dieser Engines erst in zukünftigen Versionen hinreichend unterstützt werden. Momentan gibt es eine generische regelbasierte Inference- Engine mit Unterstützung für RDFS und für OWL Lite. Die OWL Lite- Unterstützung ist allerdings noch nicht vollständig und noch stark in Entwicklung. Außerdem hat Jena2 noch das so genannte Ontology- Modul, das die Erstellung und Bearbeitung von OWL- und RDF(S)- Ontologien erleichtert, indem es durch zusätzliche Befehle die direktere Modellierung von Klassen und Eigenschaften ermöglicht. Ein Dokumentenmanager erleichtert zudem den Import von Ontologien. 16

3. Fazit Vergleicht man die hier getesteten Applikationen, so fällt auf, dass diese zum Teil sehr verschiedene Funktionen mitbringen. Während OntoEdit und OilEd relativ einfache Ontologie-Editoren sind, ist Protégé schon eine sehr umfangreiche integrierte Entwicklungsumgebung, die sich mit einer Vielzahl von Plugins zusätzlich erweitern lässt. Jena2 hingegen ist kein Ontologieeditor, sondern eine API, die zum Beispiel von Protégé genutzt wird, sie konkurriert also nicht gegen die oberen drei genannten Applikationen. Leider kann man die Applikationen nicht besonders gut gegenüberstellen, weil die anderen Programme Protégé in keiner Weise gewachsen sind. Da OntoEdit gegenwärtig kein OWL unterstützt, kann es leider nicht für die Entwicklung solcher Ontologien eingesetzt werden und scheidet schon von vornherein aus. OilEd unterstützt zwar OWL insofern, dass sich die erstellten Ontologien in OWL exportieren lassen, jedoch kann man keine OWL- Ontologien importieren, OilEd unterstützt auch nicht die OWL- spezifischen Spracherweiterungen zu DAML+OIL. Weiterhin ist es nur für kleinere Ontologien zu gebrauchen, es hat keine Datenbankanbindung, keine grafische Darstellung, ist nicht erweiterungsfähig und ist auch nicht gut geeignet, um größere Datenmengen als Instanzen zu importieren (Knowledge Acquisition). Es lässt sich als einfacher Ontologie-Editor benutzen und bringt immerhin den leistungsstarken Reasoner FaCT mit, jedoch ist es für größere Projekte nicht geeignet. Auch die Geschwindigkeit lässt schon bei etwas größeren Ontologien (im Megabyte-Bereich) sehr schnell zu wünschen übrig. Protégé dagegen kommt mit unterschiedlichen grafischen Visualisierungen, mit Funktionen zum Zusammenführen von Ontologien, mit umfangreicher (wenn auch noch im beta- Zustand befindlicher) OWL/DL-Unterstützung und mit Datenbankunterstützung. Bei der Übersichtlichkeit und intuitiven Bedienung gibt es dagegen kaum Unterschiede, Protégé ist in diesem Punkt etwa mit OilEd vergleichbar, bietet dabei aber eine größere Komplexität und Funktionsvielfalt. Die prominente Inference- Engine FaCT, die sich sehr leicht in den Editor integrieren lässt, kann auch mit Protégé genutzt werden, RACER ebenso. Beide Reasoner funktionierten anstandslos, von daher kann ich keine Empfehlung in dieser Kategorie geben. Sowohl Protégé als auch OilEd sind Open- Source Programme, also kostenlos erhältlich, von daher gibt es eigentlich keinen Grund, Protégé nicht zu benutzen. Jena2 dagegen fällt in eine andere Kategorie, und in dem Bereich von APIs für Semantic- Web- Applikationen steht es praktisch konkurrenzlos dar. Es bietet eine Fülle von ausgefeilten Funktionen, die OWL- Unterstützung lässt jedoch noch ein bisschen auf sich warten, was die Inference- Engines angeht. Momentan wird nur OWL Lite unterstützt, und dies auch nicht vollständig. Es ist aber darauf zu hoffen, das bald auch externe Reasoner unterstützt werden. 17

4. Anhang 4.1 Glossar DAML+OIL: Ontologiesprache, Vorgänger von OWL Inference-Engine: Analysiert eine Ontologie auf Grundlage der Logik und macht eine Konsistenzprüfung.. Ontologie: Modell einer Wissensdomäne, die gemeinsam verwendete Begrifflichkeiten, deren Beziehungen untereinander und Regeln über diese Beziehungen festlegt JDBC: Java Database Connectivity, stellt eine API zur Verfügung, mit deren Hilfe SQL- Anfragen gestellt und ausgewertet werden können Knowledge Acquisition: Das Importieren von Datenmengen in ein System aus teilweise verschiedenen Quellen. Metainformationen: Informationen über Informationen, also eine Beschreibung der Objekte im Dokument, ihrer Zusammenhänge und Interaktionen sowie weiterer Informationen über das Dokument. OWL: Web Ontology Language, die vom W3C verabschiedete Empfehlung als Standard- Ontologiesprache für das Semantic Web. Parser: Ein Programm, das ein Dokument auf die syntaktische und/oder semantische Korrektheit anhand einer Spezifikation testet. RDF: Resource Description Framework, simple Ontologiesprache für die Beschreibung der Beziehungen zwischen Ressourcen, OWL und DAML+OIL sind abwärtskompatibel zu RDF RDFS: RDF Schema, Sprache zur Beschreibung der Vokabeln der RDF-Sprache Reasoner: siehe Inference Engine XML: Extensible Markup Language, neben HTML das Standardformat im Internet, alle Ontologiesprachen, sind in XML eingebettet, bilden also ein Layer im XML-Dokument. 18

4.2 Bibliographie [1] The Semantic Web Roadmap (W3C): http://www.w3.org/designissues/semantic [2] Semantic Web: www.semanticweb.org/ [3] DAML: www.daml.org [4] DARPA: www.darpa.mil/ [5] OIL: www.ontoknowledge.org/oil/ [6] W3C: www.w3c.org [7] OWL Spezifikation vom W3C: http://www.w3.org/tr/owl-features/ [8] SHOE: http://www.cs.umd.edu/projects/plus/shoe/ [9] DAML+OIL: http://www.daml.org/2001/03/daml+oil-index.html [10] Description Logics Resources: http://dl.kr.org/ [11] Protégé: www.protege.stanford.edu/ [12] OilEd: www.oiled.man.ac.uk/ [13] OntoEdit: www.ontoprise.de/products/ontoedit/ [14] Jena2: http://jena.sourceforge.net/ [15] Jena2 bei HP: www.hpl.hp.com/semweb/jena.htm [16] OKCB: www.ai.sri.com/~okbc/ [17] JDBC: http://java.sun.com/products/jdbc/ [18] RDF Schema: http://www.w3.org/tr/rdf-schema/ [19] XML and DTDs: http://www.w3.org/tr/2000/rec-xml-20001006 [20] XML Schema: http://www.w3.org/xml/schema [21] Protégé Plugins: http://www-protege.stanford.edu/plugins.html [22] EzOWL: http://iweb.etri.re.kr/ezowl/ [23] Protégé OWL-Plugin: www.protege.stanford.edu/plugins/owl/ [24] FaCT-Reasoner: www.cs.man.ac.uk/~horrocks/fact/ [25] RACER-Reasoner: www.sts.tu-harburg.de/~r.f.moeller/racer/ [26] JESS: http://www.ida.liu.se/~her/jesstab/ [27] Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001 [28] OWL Language Guide: http://www.w3.org/tr/owl-guide/ [29] OWL Language Reference: http://www.w3.org/tr/owl-ref/ [30] OWL Language Semantics and Abstract Syntax: http://www.w3.org/tr/owl-semantics/ [31] OWL Language Test Cases: http://www.w3.org/tr/owl-test/ [32] OWL Language Use Cases and Requirements: http://www.w3.org/tr/webont-req/ [33] OWL Language XML Presentation Syntax: http://www.w3.org/tr/owl-xmlsyntax/ [34] Jena2 Details and Documentation: http://jena.sourceforge.net/documentation.html [35] An Introduction to OilEd: http://oiled.man.ac.uk/tutorial/ [36] OilEd Manual: http://oiled.man.ac.uk/docs/manual.pdf [37] Creating the Semantic Web with Protégé-2000: http://wwwsmi.stanford.edu/pubs/smi_reports/smi-2001-0872.pdf [38] Protégé: An AI Tool For the Real World: http://www.javaworld.com/javaworld/jw-06-2003/jw-0620-protege.html [39] The Evolution of Protégé: An Environment for Knowledge-Based Systems Development: http://www.smi.stanford.edu/pubs/smi_reports/smi-2002-0943.pdf [40] Managing Multiple Ontologies in Protégé: http://protege.stanford.edu/workshop_vi/natasha_noy_prompt.pdf [41] Editing OWL Ontologies with Protégé: http://protege.stanford.edu/workshop_vi/holger_knublauch_2003-07-07_protege- Workshop_OWL.pdf 19

[42] Experiences with using Protégé in a Knowledge Management Application: http://protege.stanford.edu/workshop_vi/alvaro_arenas_pellucid-protege-comments- F.pdf [43] Ontology Languages for the Semantic Web: http://classweb.gmu.edu/kersch/infs770/semantic_web_16_2/ontlangsemanticweb.pdf [44] Ontology Editor Survey Results: http://xml.coverpages.org/denny- OntologyEditorSurveyTable20021111.html [45] OntoWeb: A Survey on Ontology Tools: http://www.aifb.unikarlsruhe.de/wbs/ysu/publications/ontoweb_del_1-3.pdf [46] Tutorial OntoEdit: http://www.ontoprise.de/documents/tutorial_ontoedit.pdf [47] Practical Experiences in developing ontology-based with multi-agent System: http://www.cs.hut.fi/~evp/res/papers/korhonen.pdf [48] OilEd: A Reasonable Ontology Editor for the Semantic Web: http://citeseer.nj.nec.com/bechhofer01oiled.html [49] OWL-Tutorial: http://www.cs.man.ac.uk/~horrocks/iswc2003/tutorial/ [50] OWL/RDF-Tutorial: http://www.w3.org/consortium/offices/presentations/rdftutorial/ 20

team@xml-clearinghouse.de www.xml-clearinghouse.de Was ist das XML Clearinghouse? Das XML Clearinghouse für Berlin und Brandenburg ermöglicht Wissenstransfer zu XML- Technologien durch öffentlich zugängliche Dienstleistungen. Es beobachtet, bereitet auf und vermittelt die Entwicklung von XML- Technologien und deren Anwendungen. Als Teilprojekt des regionalen Wachstumskerns <xmlcity:berlin> sorgt es für einen Wissenstransfer von der Forschung zur Anwendung in der Region Berlin und Brandenburg. Ein Forum zum Wissenstransfer Das XML Clearinghouse bietet Foren für Akteure aus Forschung, Wirtschaft und Intermediären zu gemeinsamen Aktivitäten. Ein Webportal ist Anlaufpunkt für XML- Informationen und regionalen Angeboten dazu. Fokussierte wissenschaftliche Workshops beleuchten aktuelle Themen, einzelne Entwicklungen werden in Schulungen didaktisch aufbereitet dargestellt. Die Vorträge im regelmäßigen XML- Kolloquium berichten von neuen Entwicklungen und Anwendungen. Workshops In wissenschaftlichen Workshops werden in begutachteten Beiträgen neue Arbeiten mit XML- Bezug dargestellt. Diese Veranstaltungen finden mit Unterstützung unterschiedlicher Informatikgesellschaften, wie zum Beispiel der Fachgruppe Multimedia der Gesellschaft für Informatik, statt und haben dadurch einen hohen Stellenwert. Schulungen Eine Schulungsreihe dient dem Wissenstransfer zu XML- Technologien. Das XML Clearinghouse vermittelt ausgewählte XML- Themen in Tiefe und entwickelt dafür Schulungsmaterial. Kolloquium Das XML Clearinghouse bietet eine frei zugängliche Kolloquiumsreihe an, die abwechselnd an der FU Berlin und HU zu Berlin durchgeführt wird. Im Rahmen dieses Kolloquiums finden Vorträge und Diskussionen statt. Web-Portal Ergänzend zu den Veranstaltungen bietet das XML Clearinghouse eine öffentlich zugängliche Informationssammlung an. Gegenstand der Sammlung ist XML- Technologie und deren Standardisierung und Anwendung. Das Webportal enthält insbesondere Informationen zu XML mit Bezug zu Berlin und Brandenburg an. 21