54
SS2007 Manuel Kaess (AI15188) 2. Mai 2007 1

SS2007 - Hochschule Ravensburg-Weingartenkeller/Downloads/infmangxml/referate/SemanticWebOWL.pdf · oder PDA vollen Zugriff auf das Web, kann Nachrichten lesen, Musik herunterladen

  • Upload
    hamien

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

SS2007

Manuel Kaess (AI15188)

2. Mai 2007

1

INHALTSVERZEICHNIS

Inhaltsverzeichnis1 Einleitung 4

1.1 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Schlagworte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Geschichtliche Hintergründe . . . . . . . . . . . . . . . . . . . 51.4 Die Notwendigkeit des Semantic Web . . . . . . . . . . . . . . 91.5 Möglichkeiten und Vision des Semantic Web . . . . . . . . . . 11

2 Grundlagen 162.1 eXtensible Markup Language - XML . . . . . . . . . . . . . . 162.2 XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3 Ressource Description Framework - RDF . . . . . . . . . . . . 182.4 Ressource Description Framework Schema - RDFS . . . . . . . 192.5 Taxonomien . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6 Ontologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.7 DAML+OIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Web Onthology Language - OWL 233.1 Untersprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2 Grundlagen OWL . . . . . . . . . . . . . . . . . . . . . . . . . 243.3 Sprachkonstrukte . . . . . . . . . . . . . . . . . . . . . . . . . 253.4 Ein Beispiel - Wein zum Essen? . . . . . . . . . . . . . . . . . 26

3.4.1 Namespaces . . . . . . . . . . . . . . . . . . . . . . . . 263.4.2 Ontologie Header . . . . . . . . . . . . . . . . . . . . . 273.4.3 Einfache Klassen und Individuals . . . . . . . . . . . . 273.4.4 Einfache Properties . . . . . . . . . . . . . . . . . . . . 293.4.5 Property Characteristica . . . . . . . . . . . . . . . . . 323.4.6 Property Restriktionen . . . . . . . . . . . . . . . . . . 35

3.5 Mapping von Ontologien . . . . . . . . . . . . . . . . . . . . . 383.5.1 Äquivalenz zwischen Klassen und Properties . . . . . . 383.5.2 Identität zwischen Individuals . . . . . . . . . . . . . . 403.5.3 Unterschiedliche Individuals . . . . . . . . . . . . . . . 41

3.6 Komplexe Klassen (OWL DL) . . . . . . . . . . . . . . . . . . 423.6.1 Abschluss . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.7 Weitere Beispiele aus der Praxis . . . . . . . . . . . . . . . . . 433.7.1 Hybrid Education and Research Base for Information

Exchange (HERBIE) . . . . . . . . . . . . . . . . . . . 433.7.2 Semantic Knowledge Technologies (SEKT) . . . . . . . 44

3.8 Programmiertools . . . . . . . . . . . . . . . . . . . . . . . . . 443.8.1 Altova SemanticWorks 2007 . . . . . . . . . . . . . . . 44

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 2

INHALTSVERZEICHNIS

3.8.2 Protégé . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4 Ausblick und Fazit 48

5 Glossar 50

6 Literaturverzeichnis 52

7 Abbildungsverzeichnis 54

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 3

1 EINLEITUNG

Das Semantic Web und seine Realisierung mittels OWL.

1 Einleitung“Das Web wird sein volles Potenzial erst dann ausschöpfen, wenn es zu einerUmgebung wird, in der Daten nicht nur von Menschen, sondern auch vonautomatischen Werkzeugen getauscht und verarbeitet werden können.”Web-Miterfinder Tim Berners-Lee ( [Ame07])

1.1 Abstract

Ein neuer Hype ist angetreten, das Internet zu revolutionieren: das Seman-tische Web. Internet-Vater Tim Berners-Lee und seine Kollegen vom WorldWide Web Consortium (W3C) versprechen unter diesem Schlagwort ein neu-es, übersichtlicheres Internet.

Mittels eines vergleichsweise einfachen Verfahrens, nämlich einer Ver-schlagwortung von Internetseiten, sollen Suchmaschinen deutlich bessere Er-gebnisse als heute liefern, Anwender ein deutliches Plus an brauchbaren In-halten nutzen können und sogar kostspielige Web-Service-Installationen über-flüssig werden.

In meiner Hausarbeit werde ich zum einen die theoretische Seite des Se-mantischen Webs abdecken und die Notwendigkeit sowie die geschichtlicheEntwicklung des World Wide Web kurz anschneiden. Zum andern werde icheinen Einblick in die technische Seite geben und versuchen, folgende Fragenzu beantworten: Wie wird eine semantische Webseite mittels OWL erstellt?Welche Technologien spielen dabei eine Rolle? Wie werden Relationen unterWebseiten von Agenten aufgelöst und berücksichtigt?

Zum Abschluss werde ich kurz einige Beispiele aus der Praxis vorstellenund in einem persönlichen Fazit die Chancen und Risiken des SemantischenWebs erläutern.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 4

1 EINLEITUNG

1.2 SchlagworteBegriff SeitenzahlDAML+OIL 21Dublin Core 19HERBIE 43Ontologie 21OWL 23OWL DL 23OWL Full 23OWL Lite 23

Begriff SeitenzahlProtégé 46RDF 18RDF Schema 19SEKT 44SemanticWorks 44Taxonomie 20XML 16XML Schema 17

1.3 Geschichtliche Hintergründe

Das World Wide Web hat unsere Kommunikationsstrukturen, unsere Ge-schäftsprozesse, die Suche nach Informationen und Unterhaltung revolutio-niert - es hat unser tägliches Leben tiefgehend´verändert.

Dabei vollzog sich das Internet mehreren Entwicklungsstufen, bis es zu demwurde, was es heute ist.

Die Anfänge - Web 1.0

Die erste Webseite wurde am 13. November 1990 von Tim Berners-Lee aufeinem NeXT-Rechner verfasst und veröffentlicht (einen Tag, nachdem die-ser gemeinsam mit Robert Cailliau ein neugefasstes Konzept für ein welt-weites Hypertext-Projekt veröffentlicht hatte). Wesentliches Element dieserersten Webseiten war die Möglichkeit mittels Hyperlinks zu anderen Websei-ten verlinken zu können. Aufgrund der geringen Bandbreite der damaligenModem-Datenleitungen wurde Grafik nur recht spärlich eingesetzt. In derRegel bestand eine Webseite nur aus Text und Hyperlinks und ähnelte einerArt Verzeichnisdienst mit zahlloser Weiterleitungen.

Von der technischen Seite her wurden die Seiten durch die Hyper TextMarkup Language (HTML) erstellt. Neben der reinen textuellen Generierunggesellten sich schnell erste grafische Wysiwyg-Generatoren in die Internet-landschaft, welche die Erstellung von Webseiten jedem Teenager ermöglich-ten. Durch das Ansprechen der breiten Masse mit einfach zu bedienendenEditoren schlug auch der Erfolg des Internets wie eine Bombe ein. Webseitensprießen wie Pilze aus dem Boden und schnell war die Anzahl der Seitenunüberschaubar geworden.

Zu diesem Zweck wurden spezielle Suchmaschinen entwickelt, die haupt-

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 5

1 EINLEITUNG

sächlich die Metatexte der Seiten auslasen. Die sinnvolle Verwendung derMetatags wie <keywords> und <description> nahmen dadurch massiv anBedeutung zu.

Einbringung sozialer Aspekte - Web 2.0

Abbildung 1: Web 2.0 Be-griffswolke

Wer möchte, hat heute schon per Handy, PCoder PDA vollen Zugriff auf das Web, kannNachrichten lesen, Musik herunterladen oderVideos ansehen. Es ist nicht mehr wichtig woman sich befindet, man benötigt lediglich einenZugang zum Internet. Egal ob per Kabel oderFunk, Daten und Inhalte sind jederzeit undüberall verfügbar. Die Zeiten der lokalen Da-tenhaltung gehen dem Ende zu. Mobilität istdas neue Stichwort, die Inhalte liegen im Netz.

Um diese Entwicklung geistert schon seit geraumer Zeit der Begriff “Web 2.0”durch die Welt. Genauer gesagt wurde der Begriff durch den O’Reilly Verlagund Konferenzveranstalter MediaLive International (heute: CMP Technolo-gy) für die gleichnamige Konferenzreihe geschaffen.

Web 2.0 bezeichnet einen Sammelbegriff für die Beschreibung einer Reiheneuer interaktiver Techniken und Dienste des Internets. Es ist eine Plattform,die es einem leichter macht mit anderen im Internet zu kommunizieren, seineMeinung auszusprechen und das auf verschiedenste Art und Weise. Dahinterverbergen sich keine geringeren als einige alte Bekannte im neuen Gewand.Aber auch viele neue Ideen, wie Messengerdienste (ICQ, MSN, Jabber, Ya-hoo!), Soziales Web (XING, StudiVZ oder friendster.com), Blogs, GoogleE-arth und viele weitere gehören dazu, um nur einen kleinen Teil zu nennen.

Abbildung 2: Einige Web 2.0 Beispiele

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 6

1 EINLEITUNG

Ein wesentlicher Bestandteil des Web 2.0-Konzepts ist, dass der Mehrwertdurch die Partizipation der Nutzer entsteht. Anders ausgedrückt: Je mehrMenschen mitmachen und hochwertige Informationen eintragen, umso bes-ser und professioneller werden die Ergebnisse.

Nach dem gleichen Erfolgsrezept funktioniert auch das Online-Lexikon “Wi-kipedia” oder ähnliche Wikis. Es kann im Netz von jedermann erweitert undgepflegt werden. Somit steht es für die beispielhafte Idee, das Web als (so-ziale) Plattform zu nutzen.

Web 2.0 wird die Internetnutzung der nächsten Jahre stark beeinflussen.Die Zahlen am Beispiel der Blogs sind beeindruckend: Jede Sekunde entstehtangeblich ein neues virtuelles Tagebuch. Für Deutschland wird die Zahl derBlogs auf zwischen 400.000 und 500.000 geschätzt.

Ein an den Bedürfnissen der User ausgerichtetes Web wird den Desktopmehr und mehr ersetzen und die Grenzen zwischen den Medien verschwim-men lassen. Die Verfügbarkeit von Daten, Software und Services ermöglichenes jedem, seinen eigenen Service zu starten, neue Businessmodelle werdenentstehen.

Schon auf der diesjährigen CeBIT stellte der Hersteller von Multimedia Soft-ware Magix (www.magix.net) mit myGoya ein multimediales “Online - Be-triebssystem” vor.

Auf den ersten Blick sieht der “myGoya Online Desktop” aus wie eine Kombi-nation der Bedienoberflächen von Mac OS X und Windows Vista: transparen-te Fensterrahmen, eine animierte Startleiste und Gadgets/Widgets, die sichauf dem Desktop platzieren lassen. In Flash programmiert, läuft myGoya imBrowser-Fenster auf allen gängigen Betriebssystemen. Während ähnliche An-sätze oder das AJAX-Vorzeigeprogjekt YouOS kaum über einen Demostatushinausgekommen sind, soll der Dienst von Magix als Kommunikationszen-trale für verschiedene Mail-Accounts, Notizzettel, Bookmark- und Kontakt-verwaltung fungieren. Darüber hinaus lassen sich online gespeicherte Fotos,Videos und Musik verwalten und abspielen sowie die hauseigenen Servicesdes Anbieters aus dem “Online-Betriebssystem” heraus nutzen.

Da man sich von beliebigen Rechnern aus anmelden kann, hat man seineMails, Termine, Kontakte und Medien von überall aus im Zugriff. Datei-en sollen sich per Mausklick für einzelne Personen oder Gruppen freigebenlassen. Darüber hinaus stehen dem Nutzer beispielsweise Funktionen zur ein-

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 7

1 EINLEITUNG

fachen Bildbearbeitung zur Verfügung. V-cards und Termine kann man nachAngaben von Magix einfach mit mobilen Geräten synchronisieren und aus-tauschen.

Der Dienst wird über die Seite mygoya.de angeboten. Eine kostenlose Va-riante bietet 1 GByte Speicherplatz für Daten und Mail; erst bei Nutzungvon kostenpflichtigen Online-Services würde man zur Kasse gebeten.

Quellen: [dNBG06], [ho07a]

Abbildung 3: myGoya Online Desktop. Quelle: www.mygoya.de

Auch Microsoft verfolgte eine ähnliche Absicht, indem die Firma zur Marktein-führung des neuen Betriebssystems Windows Vista eine Art Online - Vor-schau im Web veröffentlichte (www.windowsvistatestdrive.com).

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 8

1 EINLEITUNG

Verknüpfung verfügbarer Information - “Web 3.0”

Während einer Konferenz Anfang des Jahres 2005 hielt der Web Mitbegrün-der und heutiges Mitglied des W3C Tim Berners-Lee einen Vortrag mit demTitel “Weaving a Semantic Web” in welchem er seine Vision eines neuenInternets diskutierte und dessen Notwendigkeit hervorhob.

Dabei ging Berners-Lee auf den Entwicklungsprozess des World WideWebs ein: “Ursprünglich wollte ich ein kolaboratives Medium erschaffen, einPlatz wo wir uns alle treffen können und lesen und schreiben... Kolaborati-ve Dinge sind aufregend und die Tatsache, dass die Leute damit beginnenWikis und Blogs zu führen zeigt, dass sie dessen kreative Seite [begeistertannehmen].” [Ame07]

Schon von Beginn an wollte Berners-Lee einem Hyperlink auf WebseitenMetainformationen hinzufügen. Verlinkt man zwei Seiten miteinander, so er-kennt man lediglich an der Zieladresse, wohin der Link führt und wobei es sichdabei handelt. Ursprünglich sollten zu einem Link noch zusätzliche Informa-tionen hinterlegt werden können. Beispielsweise wäre man dann in der Lagegewesen Links innerhalb eines Firmenauftritts anders zu kennzeichnen undvon externen Links abzugrenzen. Es hätten aber auch weitere Informationenüber die Beziehungen zwischen den beiden verlinkten Seiten angegeben wer-den können. Beispielsweise hätte eine Person bei einem Link angeben können,ob sie die Person, welche die verlinkte Webseite betreibt, persönlich kenntund dergleichen mehr.

Neben der Kenntlichmachung für den Seitenbesucher wären diese Meta-daten jedoch auch für Maschinen verwertbar gewesen.

Aus design-technischen Gründen wurde dieser Aspekt zu der Zeit ausdem HTML-Standart gestrichen. Beim neuen Semantic Web Standard solldies geändert werden.

Quelle: [Ame07]

1.4 Die Notwendigkeit des Semantic Web

“Kommunikation ist im ganzen betrachtet ein komplizierter Vorgang, der denAustausch von Information zum Ziel hat. Einerseits müssen sich die Kom-munikationspartner auf einen Kanal einigen, der gewisse physikalische Eigen-schaften aufweist und den Austausch der entsprechenden Daten ermöglicht.Andererseits sollten die Bedeutungen der Begriffe beiden Gesprächspartnernbekannt und vor allem identisch sein. Was beim Menschen für wenig Pro-bleme sorgt, abgesehen von den Situationen in denen man von seinem Ge-sprächspartner einfach nicht verstanden wird, funktioniert in Informations-

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 9

1 EINLEITUNG

systemen bzw. an der Schnittstelle zu Informationssystemen sehr selten. EineSuchanfrage an eine gängige Suchmaschine im Internet wird, abgesehen da-von, wenn sie von trivialer Natur ist, nur sehr selten unmittelbar zum Erfolgführen.” [Kuh03]

Vor einigen Jahren sprach man von Google als revolutionäre Suchma-schine, da diese zahlreiche Ergebnisse in einer ausgeklügelten, bewertetenReihenfolge liefert. Heutzutage ist die Intention des Nutzers jedoch nichtmehr die, zu jedem Thema etwas finden zu wollen, sondern die, genau diegesuchte Information zu erhalten und nicht eine Masse an nicht relevanterInformation, welche mit dem gesuchten Thema nur beiläufig in Verbindungsteht.

Es ist wiederum der Mensch, der durch Interpretation von textuellen undgraphischen Daten die Suche lenkt.

Die derzeitige Ausbaustufe des Internets hinkt an genau diesem Miss-stand: Maschinen sind kaum in der Lage relevante Arbeiten zu übernehmen,da die Mehrzahl der Daten im Internet nur zur Interpretation durch denMenschen geeignet ist.

Das World Wide Web ähnelt momentan einer schlecht erfassten Geogra-phie. Unsere Einsicht in Dokumente und deren verfügbarer potentieller Nutz-wert basiert auf einer Schlagwortsuche, die durch bedachte Verwendung vonMetainformationen durch jeden Webseitenersteller hinterlegt werden müssen.Die schiere Masse dieser Daten kann ohne die Unterstützung durch mächtigeWerkzeuge nicht bewältigt werden.

Um dies zu erreichen und das Gelände präzise abzubilden, benötigen auto-matische Agenten maschinenlesbare Beschreibungen des Inhalts und Zugriffauf Webressourcen. Diese Beschreibungen der Informationen sind für denBenutzer nicht sichtbar und müssen den für Menschen lesbaren Versionenhinzugefügt werden.

Derzeit besteht noch kein Netz aus Daten, da jede Applikation ihre Datenfür sich behält.

Das vom WWW-Mitbegründer Tim Berners-Lee ausgeklügelte Semantic Websoll eine Plattform sein, welche die bestehenden Informationen auf Websei-ten durch maschinenlesbare Daten ergänzt, welche zueinander in Relationstehen und welche durch logische Verkettungen und Ableitungen miteinan-der in Verbindung gebracht werden können.

Quellen: [Kuh03], [(W306]

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 10

1 EINLEITUNG

1.5 Möglichkeiten und Vision des Semantic Web

Die Vision des Semantic Web ist die eines “Datennetzwerkes”, bei dem nichtnur die scheinbar unendliche Datenmenge des World Wide Web genutzt wird,sondern bei dem diese Informationen mit Daten in Datenbanken und anderenInformationssystemen verbunden werden. Wenn man bedenkt, dass Daten-banken heutzutage den Großteil aller Unternehmensdaten enthalten, erhöhtsich dank der Fähigkeit der Semantic Web-Technologien, auf diese Datenneben anderen von Websites, aus anderen Datenbanken, XML-Dokumentenund anderen Systemen stammenden Daten zuzugreifen und diese verarbeitenzu können, die Menge an nützlichen Daten exponentiell.

Das Semantic Web gestattet Maschinen, eine Verbindung zu einer beliebi-gen anderen Maschine herzustellen und Daten auf Basis integrierter allge-mein verfügbarer semantischer Informationen, die die einzelnen Ressourcenbeschreiben, auszutauschen und zu verarbeiten. Auf diese Weise wird unsdas Semantic Web Zugriff auf alle oben aufgelisteten Informationen bieten,als handele es sich um eine einzige riesige Datenbank.

Die verfolgten Ziele der Entwicklung des Semantic Web lassen sich in 3Hauptbereiche untergliedern:

Ziel 1: Optimierung von Suchmaschinenergebnissen

Eine Vorstellung der Semantic-Web Entwickler ist die verbesserte Auffind-barkeit von gewünschten Informationen. So wäre es beispielsweise wünschens-wert auf die Suchanfrage “Wieviele Tore hat Diego Armando Maradona beider Fußball-WM im Jahre 1982 geschossen?” nur diese eine Information zuerhalten.

Derzeit bekäme man auf die Anfrage je nach Suchmaschine mehrere hundertErgebnisseiten und müsste allesamt nach der gesuchten Information absu-chen.

Diese Aufgabe könnte durch den Einsatz des Semantischen Web von so-genannten Agenten erledigt werden. Dieser wäre dann in der Lage durchlogische Schlussfolgerungen Seiten nach den geforderten Daten abzusuchenund letztendlich die eine gesuchte Information zu präsentieren.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 11

1 EINLEITUNG

Ziel 2: Anwendungsübergreifende Planungen mit Hilfe von intel-ligenten Agenten

Stellen Sie sich folgendes Szenario vor: Lucy benutzt ihren Handheld - Com-puter um einen Webagenten zu starten. Dieser soll einen Termin für ihre er-krankte Mutter bei einem Arzt ausmachen. In windeseile beginnt der Agentmit einer semantisch verknüpften Websuche: er holt sich Informationen überdie Krankheitssymptome von Lucys Mutter, welche er von ihren früherenÄrzten bezieht. Nun durchsucht er Listen von Ärzten, welche für die Krank-heitsbehandlung in Frage kommen. Dabei wird neben der Versicherungsabde-ckung auch die Bewertungen bisheriger Patienten sowie ein maximaler Ent-fernungsradius von 30 Kilometern in die Wahl miteinbezogen. Danach wurdeein passender Termin bei Lucy und den verfügbaren Ärzten gesucht. Schließ-lich wartet der Agent auf Lucys Handheld mit einem Terminvorschlag beieinem ausgesuchten Arzt auf.

Lucy gefällt der Termin jedoch nicht, da es sich um die Uniklinik handeltund diese nur durch den geschäftigen Stadtverkehr zu erreichen ist. Sie weistihren Agenten an, einen anderen Terminvorschlag zu machen, diesmal solltejedoch der Ort und die Fahrzeit besonders berücksichtigt werden.

Wenige Sekunden später bietet der Agent einen weiteren Terminvorschlagan, jedoch mit 2 Warnungen. Die erste betrifft eine Terminüberschneidungmit einem weniger wichtigen Termin in Lucys Terminkalender - kein Problem.Die zweite beschreibt einen Konflikt zwischen der Versicherung der Mutterund der übernommenen Kosten des gewählten Arztes. Lucy lässt sich Detailszu letzterer Warnung anzeigen und stimmt dem Termin zu. 1

Dieses Beispiel erscheint auf den ersten Blick futuristisch und wirft einigeFragen auf:

• Zum einen besteht die Gefahr des mangelhaften Datenschutzes. Wiekann verhindert werden, dass Daten zu Krankheitssymptomen in diefalschen Hände geraten? Wie lässt es sich bewerkstelligen, dass LucyZugang zu den Daten ihrer Mutter erhält? Hierzu müssen digitale Si-gnaturen und sichere Verschlüsselungsalgorithmen eingesetzt werden.

• Zum zweiten besteht die Gefahr, dem Computer überlebenswichtigeAngelegenheiten zu überlassen. Was passiert, wenn der Agent verse-hentlich einen schlechten Arzt wählt oder einen früheren Termin nichtfindet. In solchen Fällen sollte sicherlich der gesunde Menschenverstanddem Computer vorgezogen werden.

1Beispiel aus: Scientific American [Ame07]

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 12

1 EINLEITUNG

• Der Agent sollte auch hinreichende Informationen zu den gewähltenEntscheidungen liefern. Weshalb wurde ein bestimmter Arzt gewählt?Diese Informationen sollten verständlich und nachvollziehbar sein. Oh-ne eine nachvollziehbare Entscheidungsverfolgung ist das Vertrauen inAgenten schnell verloren.

• Eine weitere Gefahr stellen Daten dar, die entweder falschen Tatsachenentsprechen, oder lieber geheimgehalten werden würden. So kann eineschlechte Bewertung bei einem Arzt - und sei sie unrechtens vergeben- dazu führen, dass kein Agent diesen Arzt mehr für einen Patientenauswählt.

Das Beispiel verspricht jedoch auch zahlreiche durchaus nützliche und sinn-volle Einsatzmöglichkeiten der Semantic Web Agenten. Zum Beispiel lässtsich ein Alternativvorschlag machen, die Suche ist also anpassbar. Zudemlassen sich zu gewählten Entscheidungen zusätzliche Informationen und Er-klärungen abrufen, welche die getroffenen Entscheidungen nachvollziehbarmachen sollen. Auch die Tatsache, dass verschiedene Agenten über verschie-dene Anwendungen hinweg kommunizieren kann zu einer erheblichen Ar-beitsreduktion führen - Lucys Suche berücksichtigte zum Beispiel ihren Ter-minkalender.

Ziel 3: Wissenszuwachs

“Properly designed, the Semantic Web can assist the evolution of humanknowledge as a whole”aus: Scientific American ( [Ame07])

Das Internet bietet eine unüberschaubar große Anzahl an Information, diepraktisch für jeden bereitsteht. Das Problem besteht darin, nützliche Infor-mationen zu finden und aus einem Berg der Informationsfülle herauszufil-tern. Wollte man heutzutage beispielsweise etwas über einen Professor aneiner Hochschule erfahren, so würde man wohl - neben der obligatorischenGoogle-Suche - über die Homepage der Hochschule den gewünschten Profes-sor suchen und gegebenenfalls Links auf dessen persönlicher Seite verfolgen,um etwas über die Person zu erfahren. In Zeiten des sogenannten Web 2.0 be-steht zudem die Möglichkeit über soziale Netzwerke wie MyProf.de Aussagenund Bewertungen anderer Studenten zu diesem Prof einzusehen. Schließlichkönnte man auch Wikipedia noch besuchen und nachsehen, ob jemand einenArtikel über den gesuchten Prof online gestellt hat.All diese Schritte erfordern derzeit noch die Interaktion eines Menschen. Die-ser muss sich durch die Seiten mit unzähligen Links klicken, die gewonnenen

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 13

1 EINLEITUNG

Informationen vorsortieren und filtern. Schließlich muss der Wahrheitsgehaltder Informationen anhand der Vertrauenswürdigkeit der einzelnen Quellenbewertet werden.Das Semantische Netz soll dem Menschen all diese Arbeit abnehmen. EinAgent übernimmt die Aufgabe des Datensammelns und liefert diese in auf-bereiteter Form. Dabei ist davon auszugehen, dass der Agent weitaus mehrInformationen findet, da er in Windeseile eine Vielzahl von Quellen verfolgenund nach relevanter Information absuchen kann. Natürlich muss die Infor-mation dazu in Maschinenlesbarer Form vorliegen.Des weiteren kann der Agent von den Suchergebnissen anderer Agenten pro-fitieren. Beispielsweise kann ein Agent seinerseits Suchergebnisse anderenAgenten zur Verfügung stellen. Besonders interessant wird dieser Aspekt imForschungsumfeld. Hier ist oftmals die Situation anzutreffen, dass Forscheran verschiedenen Punkten der Erde an ein und demselben Themengebietforschen. Mit Hilfe des Semantischen Netzes könnte ein Forscher durch Ver-wendung eines Agenten den Forschungsstand der anderen Forscher an sei-nem Themengebiet einsehen und mit diesem Stand weiterarbeiten. Ebensokönnten die anderen Forscher dessen Ergebnisse nutzen. Mit Hilfe dieser Ver-netzung bestünde für viele Wissenschaftler, Mathematiker und Forscher dieMöglichkeit eines immensen Wissenszuwachses, da alle Interessenten an einerbestimmten Materie ihre Ergebnisse ohne Verzögerung der Welt zur Verfü-gung stellen könnten.Auch hier drängen sich natürlich wieder einige Fragen auf. So ist es bei Wis-senschaftlern durchaus nicht immer erwünscht die eigenen Forschungsergeb-nisse anderen Forschern zur Verfügung zu stellen und zudem bedarf es einerVerifizierung der aufgefundenen Daten durch den Agenten.

Ein weiterer Punkt stellt die Gefahr des gläsernen Menschen dar, welchesich durch Entwicklungen wie dem Semantischen Netz immer deutlicher ab-zeichen. Angenommen, ein Absolvent bewirbt sich bei einer Firma. Diesesetzt nach dem Eingang des Bewerbungsschreibens eine Person darauf an,mit Hilfe eines Agenten Informationen über den Bewerber aufzuspüren. Auf-grund der Mächtigkeit des Agenten und der Unmenge an Daten wäre es nundurchaus denkbar, dass dem Personalchef Daten in die Hände kommen, dieder Bewerber lieber verheimlicht hätte. Zwei Mausklicks später ist der Nutzerdes Agenten jedoch auf dem Fotoalbum der letzten Studentenfete, dem Ver-zeichnis sämtlicher Gruppen, bei denen der Bewerber Mitglied ist und siehtsämtliche Einträge des Bewerbers in verschiedenste Diskussionsforen. Wasnun nach Spionage und Schnüffelei klingt ist in den USA und einigen ande-ren großen Firmen bereits heute gang und gäbe. Lediglich die Instrumentesind heute noch nicht mächtig genug, um in den meisten Fällen negativ wir-

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 14

1 EINLEITUNG

kendes Material zu sichten. Diese Entwicklung wird durch soziale Netzwerke,wie sie der Web 2.0-Boom zuhauf hervorbrachte exponentiell beschleunigt.Aktuelle Angriffe auf Soziale Netzwerke wie das unter Studenten beliebteStudiVZ belegen dies eindrucksvoll.2

Zusammenfassend lässt sich sagen, dass das große Ziel des Semantischen Webdas ist, bestehende Daten maschinell verarbeitbar zu machen. So lassen sichDaten auffinden, verarbeiten und wieder zur Verfügung stellen.

Zur Implementierung des Semantic Web müssen semantische Metadaten, alsoDaten, die die Daten beschreiben, zu Informationsquellen hinzugefügt wer-den, so dass Maschinen die Daten anhand der beschreibenden semantischenInformationen effektiv verarbeiten können. Wenn genügend semantische In-formationen mit den Daten verknüpft sind, können Computer Rückschlüsseüber die Daten ziehen, das heißt sie können verstehen, worum es sich beider Datenressource handelt und in welchem Zusammenhang sie mit anderenDaten steht.

Quellen: [Alt07], [Ame07]

Das folgende Kapitel beleuchtet die Technik mit der sich ein solches Netz,welches von Maschinen lesbar sein soll, realisieren lässt.

2Von Angriffen auf das StudiVZ wurde schon vielfach berichtet. Zuletzt am 27.02.2007in [ho07b]

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 15

2 GRUNDLAGEN

2 GrundlagenDamit eine Maschine die vielfältigen verfügbaren Daten und Informationenin Anspruch nehmen kann, muss diese eine Möglichkeit haben Begriffe zuinterpretieren. Eine Lösung dieses Problems bieten sogenannte Ontologien.Die Formulierung derartiger Ontologien erfolgt mit sogenannten Ontologie-sprachen, allen voran die vom World Wide Web Consortium (W3C) vorge-schlagene Web Ontology Language (OWL). Diese speziell für den Einsatz imInternet entwickelte Sprache greift dabei auf einige Vorgängerkonstrukte wieXML, XML-Schema, RDF, RDF-Schema und DAML+OIL zurück, welcheim Folgenden als Grundlage für das Verständnis von OWL kurz umrissenwerden.

2.1 eXtensible Markup Language - XML

Die eXtensible Markup Language (engl. für “erweiterbare Auszeichnungsspra-che”), abgekürzt XML, ist ein Standard zur Modellierung von strukturiertenDaten in Form einer Baumstruktur, der vom World Wide Web Consortium(W3C) definiert wird. XML definiert also Regeln für den Aufbau von Do-kumenten, die Daten enthalten, die zum Teil einer fest vorgegebenen Struk-tur entsprechen, teilweise aber auch Elemente beinhalten, die nicht diesemstatischen Schema entsprechen. XML als Rahmenkonzept lässt somit offen,ob und wie ein konkretes XML-Dokument automatisiert verarbeitet werdenkann.

Für ein XML-verarbeitendes Programm (“XML-Anwendung”) müssen dieElemente der jeweiligen Dokumente genau beschrieben werden. Dies betrifftinsbesondere die Festlegung der Strukturelemente und ihre Anordnung inner-halb des Dokumentenbaums. Auch für diese Beschreibung selbst stellt XMLStandards zur Verfügung, so zum Beispiel die Document Type Definition(DTD).

XML ist damit ein Standard zur Definition von beliebigen, in ihrer Grund-struktur jedoch stark verwandten, Auszeichnungssprachen, die Programmeebenso wie Daten beschreiben können. Eine Sprache wie XML zur Definitionanderer Sprachen nennt man Metasprache.

XML stellt damit eine Syntax für strukturierte Dokumente zur Verfügung,nutzt aber keine semantische Eingrenzung der Bedeutung dieser Dokumente.

Von der Konzeption her ermöglicht XML nur dann syntaktische Interopera-

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 16

2 GRUNDLAGEN

bilität, wenn Sender und Empfänger die verwendeten Elementnamen kennenund verstehen.

Wenn ein Element in einem System beispielsweise mit dem Tag <Preis>17,90</Preis> und in einem anderen System mit dem abweichendem Tag <Betrag>17,90</Betrag> bezeichnet wird, ist eine Maschine nicht in der Lage zu wis-sen, dass es sich um das selbe Element handelt, außer diese Elemente werdenmit Hilfe einer separaten maßgeschneiderten Applikation darauf gemapped.

Semantic Web-Technologien bieten eine Lösung für dieses Problem, indemsie Tags nicht nur für den Menschen, sondern auch für Maschinen verständ-lich machen.

Ausführlichere Informationen zum Thema XML finden sich bei [Tie07]

Quellen: [foE07b], [Alt07]

2.2 XML Schema

Laut W3C, welches XML-Schema im Jahr 2001 als offizielle Empfehlungherausgab, dienen XML-Schemas zum Ausdrücken gemeinsamer Vokabula-re und gestatten Maschinen, von Menschen erstellte Regeln auszuführen.Sie sind ein Mittel zum Definieren von Struktur, Inhalt und Semantik vonXML-Dokumenten. XML-Schema verwendet XML-Syntax und ist die XML-basierte Alternative zur DTD (Dokument Type Definition). Mit der XML-Schema-Spezifikation des W3C wurde XML um wichtige Merkmale wie dieUnterstützung von Datentypen und objektoriertierte Prinzipien erweitert,wodurch komplexe Datenmodelle erstellt werden können und XML noch bes-ser für datenzentrierte Applikationen genutzt werden kann.

Alle Elemente und Attribute in einem XML-Dokument, das mit einem be-stimmten XML-Schema verknüpft ist, müssen der vordefinierten Strukturentsprechen, um gültig (d.h. schemakonform) zu sein. Bei Verwendung einesbestimmten XML-Schemas können Software-Applikationen XML-Daten inDokumenten austauschen, die mit diesem Schema konform sind. Damit wirddie Gültigkeit und Interoperabilität der Daten sichergestellt.

Sie sind ein Mittel zum Definieren von Struktur, Inhalt und Semantik vonXML-Dokumenten.

Quelle: [foE07b]

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 17

2 GRUNDLAGEN

2.3 Ressource Description Framework - RDF

RDF (Resource Description Framework), eine weitere offizielle W3C Recom-mendation, ist ein XML-basierter Standard zur Beschreibung von Ressourcenim Internet, Intranet und Extranet.

RDF baut auf bestehenden XML- und URI (Uniform Resource Identifier)-Technologien auf, wobei URIs zum Identifizieren der einzelnen Ressourcenund zur Angabe von Statements über Ressourcen dienen. RDF Statementsbeschreiben eine Ressource (die durch eine URI identifiziert wird), die Ei-genschaften einer Ressource und die Werte dieser Eigenschaften. RDF State-ments werden oft als “Triples” bezeichnet. Diese Triples bestehen aus Subjekt,Prädikat und Objekt. Dies entspricht einer Ressource (Subjekt), einer Eigen-schaft (Prädikat) und einem Eigenschaftswert (Objekt).

Ein einfaches Beispiel hätte folgende Form:

Ressource (Subjekt) Eigenschaft (Prädikat) Wert (Objekt)Der Student ist Manuel Kaess

RDF-Triples können mit XML-Tags bezeichnet werden und werden oft gra-fisch folgendermaßen dargestellt:

Abbildung 4: Grafische Darstellung von RDF-Triples

Durch Erstellung von Triples mit Subjekt, Prädikat und Objekt in RDFkönnen Maschinen logische Annahmen auf Basis der Assoziationen zwischenSubjekt und Objekt machen. Da RDF URIs zum Identifizieren der Ressour-cen verwendet, ist jede Ressource mit einer eindeutigen Definition verknüpft,die im Internet zur Verfügung steht. RDF bietet zwar ein Model und eineSyntax (die Regeln, mit denen die Elemente eines Satzes definiert werden)

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 18

2 GRUNDLAGEN

zum Beschreiben der Ressourcen, gibt aber keinen Aufschluss über die Se-mantik (die Bedeutung) der Ressourcen.

Das nachfolgende Beispiel zeigt eine beispielhafte RDF-Datei.

Listing 1: Ein Beispiel für ein RDF-Dokument1 <?xml version=" 1 .0 " encoding="UTF−8" ?>2 <rdf:RDF xmlns : rd f=" ht tp : //www.w3 . org /1999/02/22− rdf−syntax−ns#"3 xmlns:dc=" ht tp : // pur l . org /dc/ e lements /1 .1/ ">4 <rd f :D e s c r i p t i o n rd f : about=" ht tp : //de . w ik iped ia . org / wik i /RDF">5 <d c : t i t l e>Resource Desc r ip t i on Framework</ d c : t i t l e>6 <dc : pub l i s h e r>Wikipedia − Die f r e i e Enzyklopädie</ dc : pub l i s h e r>7 </ rd f :D e s c r i p t i o n>8 </rdf:RDF>

RDF ist ein also Datenmodell für Ressourcen und Relationen zwischen die-sen. Es stellt eine einfache Semantik für das Datenmodell zur Verfügung.Diese Datenmodelle können in XML repräsentiert werden.

Eine der wichtigsten Einsatzgebiete von RDF ist die Annotation von Web-seiten mit zusätzlicher Information. Die Dublin Core Metadata Initiative hatdies als ihr primäres Ziel formuliert. Das Dublin Core Element Set umfasst15 allgemein akzeptierte Elemente (title, author, subject, publisher,...) dieder Beschreibung von Ressourcen dienen.

Quelle: [Alt07]

2.4 Ressource Description Framework Schema - RDFS

RDFS dient zum Erstellen von Vokabularen, die Gruppen verwandter RDF-Ressoucen und die Beziehungen zwischen diesen Ressourcen beschreiben. EinRDFS-Vokabular definiert, welche Eigenschaften den RDF-Ressoucen in ei-ner bestimmten Domain zugewiesen werden können. Mit RDFS können au-ßerdem Ressourcenklassen erstellt werden, die gemeinsame Eigenschaften ha-ben. So ließe sich beispielsweise für verschiedene Buch-Klassen die gemeinsa-me Eigenschaft Autor erstellen.

Aufbauend auf demselben Triples-Modell wie bei RDF, bestehen RDFS-Triples aus Klassen, Klasseneigenschaften und Werten, die die Klassen undBeziehungen zwischen den Ressourcen in einer bestimmten Domain definie-ren.

Das Typsystem von RDFS ist dem objektorientierter Sprachen sehr ähnlich,d.h. es werden dieselben Konzepte (Klassen, Klassenhierarchien, Attribute)

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 19

2 GRUNDLAGEN

als Ausdrucksmittel genutzt.

In einem RDFS-Vokabular sind Ressourcen als Instanzen von Klassen de-finiert. Eine Klasse ist auch eine Ressouce und jede Klasse kann eine Unter-klasse einer anderen sein. Dank dieser hierarchisch aufgebauten semantischenInformationen können Maschinen auf Basis der Eigenschaften und Klassenvon Ressourcen deren Bedeutung ermitteln. Ein solch strukturierte Abbil-dung wird auch als Taxonomie bezeichnet.

Ausführliche Informationen zum Thema RDF und RDFS finden sich bei[Tie07]

Quelle: [Alt07]

2.5 Taxonomien

Als Taxonomie werden Klassifikationen bezeichnet, die eine hierarchischeStruktur aufweisen. Dabei wird jeder Klasse nur eine Oberklasse zugeord-net, so dass die gesamte Klassifikation eine Baumstruktur abbildet. In dieserStruktur enthalten die der Wurzel nahe stehenden Elemente allgemeine In-formationen. Mit einer zunehmenden Verzweigung der Taxonomie wird dasdarin hinterlegte Wissen immer spezifischer. Durch diese Art der Klassifizie-rung von Wissensbereichen innerhalb einer Hierarchie entsteht so eine einfa-che Semantik.

Abbildung 5: Beispiel einer hierarchischen Baumstruktur

Die Grafik zeigt ein Beispiel für solch eine hierarchische (Baum-)Struktur.Die Logik stellt dabei die formale Struktur bereit, um Regeln zu formulieren

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 20

2 GRUNDLAGEN

mit deren Hilfe eine Maschine nun Rückschlüsse bilden kann. So wäre eineMaschine nun in der Lage einen Polo als Auto zu identifizieren.

Dises Konzept der Wissensrepräsentation (auch als Knowledge Representa-tion bezeichnet) versucht das Semantische Web teilweise zu übernehmen.Ohne Logik ist eine Wissensrepräsentation unklar, da keine Kriterien existie-ren, um zu prüfen, ob bestimmte Aussagen überflüssig, redundant oder sogarinkonsistent sind.

Quelle: [foE07a]

2.6 Ontologien

Zur Darstellung komplexer Wissensbeziehungen wird in der Informatik derBegriff Ontologie verwendet. Im Gegensatz zur Taxonomie - welche einfacheHierarchien verwendet - verkörpert die Ontologie ein Netz von Hierarchien,in welchem Informationen über logische Beziehungen miteinander verknüpftsind oder sein könnten. Diese Beziehungen beruhen auf Eigenschaften, welcheden Informationen spezifisch zugewiesen werden müssen. Elemente, welcheauf diese Weise zusammenhängen, sind dann semantisch erzeugt. Ontologienbestehen aus einer Vielzahl von Komponenten wie Konzept, Instanzen undRelationen.

Ursprünglich stammt der Begriff Ontologie aus dem Bereich der Philoso-phie. Er bezieht sich auf die Wissenschaft, die die unterschiedlichen Artenvon Entitäten in der Welt und ihre Beziehungen untereinander beschreibt.

Quelle: [foE07a]

2.7 DAML+OIL

Eine von der amerikanischen Regierung geförderte Erweiterung von RDFSstellt die DARPA Agent Markup Language (DAML) dar. Die Entwicklungdieser Sprache hat die Zielsetzung eine ausdrucksstärkere und an den An-forderungen des Semantic Web ausgerichtete Ontologiesprache zu erzeugen.Aufgrund der ähnlichen Zielsetzung der Projekte OIL und DAML wurdenderen Ergebnisse bald zusammengeführt. Das Ergebnis war eine weitaus aus-drucksstärkere Sprache zur Repräsentation anspruchsvoller Klassifikationenund Eigenschaften von Ressourcen als die, die beispielsweise RDF bietet.

Wie jede andere Ontologiesprache ist auch DAML+OIL dahingehend aus-

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 21

2 GRUNDLAGEN

gerichtet, die relevanten Strukturen einer Domäne zu beschreiben. Hierzudienen erneut die Konzepte Klasse und Property. Ontologien bestehen inDAML+OIL aus einer Reihe von Axiomen welche die charakteristischenMerkmale der Klassen und Properties ausdrücken.

Eine der wichtigsten Grundlagen von DAML+OIL ist die Verwandschaft mitBeschreibungslogiken.

Quelle: [Kuh03]

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 22

3 WEB ONTHOLOGY LANGUAGE - OWL

3 Web Onthology Language - OWLDie Web Ontology Language (kurz OWL) ist eine Spezifikation des W3C, umOntologien anhand einer formalen Beschreibungssprache erstellen, publizie-ren und verteilen zu können. Es geht darum, Terme einer Domäne und de-ren Beziehungen formal so zu beschreiben, dass auch Software (z.B. Agenten)die Bedeutung verarbeiten (“verstehen”) kann (können). OWL ist somit einwesentlicher Bestandteil der Semantic Web-Initiative von Tim Berners-Lee.Technisch basiert OWL auf der RDF-Syntax und historisch auf DAML+OIL.Dabei geht OWL über die Ausdrucksmächtigkeit von RDF-Schema weit hin-aus. Zusätzlich zu RDF und RDF-Schema werden weitere Sprachkonstrukteeingeführt, die es erlauben, Ausdrücke ähnlich der Prädikatenlogik zu formu-lieren.

3.1 Untersprachen

OWL bietet drei Untersprachen mit zunehmender Ausdrucksstärke. Diesewurden für die Verwendung durch spezielle Gruppen von Entwicklern undAnwendern entwickelt:

• OWL Lite unterstützt primär den Benutzer, der eine Klassifikations-hierarchie und einfache Restriktionen benötigt. Zum Beispiel erlaubt eszwar Kardinalitätsrestriktionen, aber nur die Werte 0 und 1. Es sollteeinfacher sein Tools für OWL Lite zu entwickeln, als für seine aus-drucksstärkeren Verwandten, außerdem bietet OWL Lite eine schnel-le Möglichkeit zur Migration von Thesauri und anderen Taxonomien.OWL Lite hat auch eine geringere formale Komplexität als OWL DL.

• OWL DL unterstützt die Benutzer, die das Maximum an Ausdrucks-stärke haben möchten und behält dabei die vollständige Verarbeitbar-keit (alle Folgerungen können garantiert gezogen werden) und Ent-scheidbarkeit (jede Verarbeitung wird in endlicher Zeit durchgeführt).OWL DL schließt alle OWL Sprachkonstrukte ein, diese können abernur unter bestimmten Bedingungen verwendet werden (z.B. kann eineKlasse Unterklasse vieler Klassen sein, eine Klasse kann aber keine In-stanz einer anderen Klasse sein). OWL DL wird so genannt, weil es denAnforderungen der Description Logics genügt, einem Forschungsfeld,das die Logik behandelt, die die formelle Basis von OWL begründet.

• OWL Full ist für Benutzer gedacht, die maximale Ausdrucksstärkeund die syntaktische Freiheit von RDF möchten, allerdings ohne ei-ne Garantie der Verarbeitbarkeit. Zum Beispiel kann in OWL Full eine

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 23

3 WEB ONTHOLOGY LANGUAGE - OWL

Klasse gleichzeitig als Collection von Individuals behandelt werden undals eigenes Individual. OWL Full erlaubt es einer Ontologie die Bedeu-tung von vordefiniertem (RDF oder OWL) Vokabular zu erweitern.Es ist unwahrscheinlich, dass irgendeine Schlussfolgerungssoftware daskomplette Schlussfolgern für jedes Feature von OWL Full unterstützenkönnen wird.

Ontologieentwickler, die OWL verwenden, sollten sich überlegen welche Gat-tung ihren Bedürfnissen am Besten entgegenkommt. OWL Full wird wohlwegen seiner fehlenden garantierten Verarbeitbarkeit nur im wissenschaftli-chen Umfeld Verwendung finden.

3.2 Grundlagen OWL

OWL ist ein Teil der Semantic Web Aktivitäten. Diese zielen darauf ab, Res-sourcen im Web für automatisierte Prozesse zugänglicher zu machen, indemman Informationen über diese Ressourcen hinzufügt. Da das Semantic Webvon Haus aus ein verteiltes Netz ist, muss es in OWL möglich sein, Infor-mationen aus verteilten Quellen zu beziehen. Dies wird zum Teil dadurcherreicht, dass Ontologien erlaubt wird, in Beziehung miteinander zu stehen,insbesondere durch expliziten Import von Informationen aus anderen On-tologien. Außerdem macht OWL eine open world Annahme. Das bedeutet,dass Beschreibungen von Ressourcen nicht auf eine einzige Datei oder eineneinzigen Gültigkeitsbereich beschränkt sind. Eine Klasse mag ursprünglich ineiner Ontologie definiert worden sein, kann jedoch in einer anderen Ontologieerweitert werden. Die Folgen dieser Erweiterungen der Klasse sind monoton.Neue Information kann vorhergehende Information nicht überschreiben. NeueInformation kann widersprüchlich sein, aber Fakten und Schlussfolgerungenkönnen nur hinzugefügt, nie entfernt werden.

Betrachten wir folgende Anfrage an einen Web-Agenten:

“Sagen Sie mir, welche Weine ich zu welchem Gang des folgenden Menüskaufen und servieren soll. Nebenbei bemerkt, ich mag keinen Sauternes.”

Es wäre heute schwierig, einen Agenten für das Web zu entwickeln, der im-stande wäre, die Weine im Internet zu finden, die dieser Anfrage entsprechen.Ein ähnliches Problem wäre es, einen Softwareagenten zu beauftragen, stim-mige Reservierungen für eine Reise durchzuführen.

Damit ein solcher Agent Entscheidungen treffen und Informationen verwer-

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 24

3 WEB ONTHOLOGY LANGUAGE - OWL

ten kann, müssen diese in besonderer Form gekennzeichnet sein. Mit Hilfe vonOntologien können dann durch die Maschine Rückschlüsse und Folgerungengezogen werden.

Das folgende Beispiel zeigt eine grafisch dargestellte OWL-Ontologie:

Abbildung 6: Grafische Veranschaulichung einer OWL Ontologie. Quelle:www.altova.com

Aufgrund der detaillierten Beziehungsinformationen in der OWL-Ontologiekönnen Applikationen logische Schlussfolgerungen ziehen. So könnte z.B. einSemantic Web Agent anhand der obigen Ontologie schließen, dass, da “Goose”(Gans) eine Art von “DarkMeatFowl” (Dunkelfleischgeflügel) ist und “Dark-MeatFowl” eine Untergruppe der Klasse “Fowl” (Geflügel) ist, die wiederumeine Unterklasse der Klasse “EdibleThing” (essbarer Gegenstand) ist, “Goose”ein “EdibleThing” ist.

3.3 Sprachkonstrukte

OWL bietet die folgenden Sprachkonstrukte:

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 25

3 WEB ONTHOLOGY LANGUAGE - OWL

Abbildung 7: Die verfügbaren Sprachkonstrukte in OWL. Quelle: [(W304]

Die meisten dieser Sprachkonstrukte werden im nachfolgenden Beispiel ver-deutlicht.

3.4 Ein Beispiel - Wein zum Essen?

Kommen wir auf das Beispiel aus dem vorigen Kapitel zurück:“Sagen Sie mir, welche Weine ich zu welchem Gang des folgenden Menüs kau-fen und servieren soll. Nebenbei bemerkt, ich mag keinen Sauternes.”

Dieses Beispiel soll nun für das Semantische Web umgesetzt werden.

3.4.1 Namespaces

Bevor wir eine Menge von Begriffen benutzen können, muss klar sein, welchespezifischen Vokabularien benutzt werden. Eine Standardkomponente einerOntologie besteht unter anderem aus einer Menge von XML Namespace De-klarationen. Diese Deklarationen verhelfen zu einer unzweideutigen Interpre-tation von Identifiern und machen den Rest der Ontologiedarstellung viellesbarer. Um dabei das Schreiben langer URLs zu erleichtern, kann es oftSinn machen, einen Satz von Entitätsdefinitionen in einer Document TypeDeclaration (DOCTYPE) bereitzustellen.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 26

3 WEB ONTHOLOGY LANGUAGE - OWL

Listing 2: DOCTYPE-Deklarationen1 <!DOCTYPE rdf:RDF [2 <!ENTITY vin ‘ ‘ h t tp : //www. semaweb . org /dokumente/w3/TR/3 2004/REC−owl−guide−20040210−DE. htmlwine#’ ’ >4 <!ENTITY food ‘ ‘ h t tp : //www. semaweb . org /dokumente/w3/TR/5 2004/REC−owl−guide−20040210−DE. htmlfood#’ ’> ]>

Die so vereinbarten Doctypes ermöglichen nun eine einfache Schreibweise derRDF Namespaces.

Listing 3: Namespacedeklarationen1 <rdf:RDF2 xmlns = "&vin ; "3 xmlns :v in = "&vin ; "4 xml:base = "&vin ; "5 xmlns : food = "&food ; "6 xmlns:owl = " ht tp : //w3 . org /2002/07/ owl#"7 xmlns : rd f = " ht tp : //w3 . org /1999/02/22− rdf−syntax−ns#"8 xmlns : rd f s = " ht tp : //w3 . org /2000/01/ rdf−schema#"9 xmlns:xsd = " ht tp : //w3 . org /2001/XMLSchema#" >

3.4.2 Ontologie Header

Nachdem die Namespaces eingerichtet sind, werden für gewöhnlich in einemHeader Metainformationen zu der folgenden Ontologie festgehalten. Diesewerden in ein owl:Ontology Tag verpackt und dienen der Versionskontrolle,Kommentaren und der Einbindung weiterer Ontologien.

Der Import einer weiteren Ontologie bringt auch die gesamte Menge anAussagen aus jener Ontologie mit in die gegenwärtige Ontologie. Es könnenalso damit aufbauend auf eine bereits bestehende Ontologie weitere Regelnund logische Folgerungen formuliert werden und die bestehende Ontologiedadurch erweitert werden.

Die Fähigkeit des Semantic Web, Informationen aus unterschiedlichenQuellen zu verknüpfen, ist eine wünschenswerte und mächtige Eigenschaft,welche in vielen Anwendungen genutzt werden kann. Jedoch bringt die Fähig-keit, Daten aus mehreren Quellen zu verschmelzen in Verbindung mit OWLauch Missbrauchmöglichkeiten mit sich. Benutzer von OWL sollten sich derpotentiellen Konsequenzen für das Thema Datenschutz bewusst sein. Es gibtbereits Organistationen, welche Sicherheits- und Präferenzlösungen für dieseProbleme entwicklen und behandeln.

3.4.3 Einfache Klassen und Individuals

Viele Anwendungszwecke einer Ontologie hängen von der Fähigkeit ab, Schluss-folgerungen über Individuals zu ziehen. Für diese Individuals können spezielle

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 27

3 WEB ONTHOLOGY LANGUAGE - OWL

Eigenschaften festgelegt werden. Ein großer Teil der Mächtigkeit von Ontolo-gien gründet jedoch auf Schlussfolgerungen, die anhand von Klassen gezogenwerden können.

Einfache benannte Klassen

Jedes Individual der OWL Welt ist ein Mitglied der Klasse owl:Thing. Da-mit ist jede benutzerdefinierte Klasse implizit Subklasse von owl:Thing. Esgibt zudem die leere Klasse in OWL: owl:Nothing.

Für unsere Beispieldomäne für Weinsorten erstellen wir drei Basisklassen:Winery, Region und ConsumableThing.

Listing 4: Einfache Klassendefinitionen1 <owl :C la s s rd f : ID="Winery" />2 <owl :C la s s rd f : ID="Region" />3 <owl :C la s s rd f : ID="ConsumableThing" />

Formal ist über die nun erstellten Klassen praktisch nichts bekannt, außerdass es sie gibt. Trotz der Verwendung von uns vertrauten englischen Begrif-fen als Bezeichner weiß der Rechner damit noch rein gar nichts anzufangen.Nach allem, was wir bisher wissen, hätte man sie ebensogut Ding1, Ding1und Ding3 nennen können.

Durch die Vergabe einer ID können wir die Region nun mit #Region re-ferenzieren.

Um eine Unterklasse zu erstellen, verwenden wir rdfs:subClassOf. Diesebeschreibt eine transitive Beziehung: wenn eine Klasse X eine Unterklasseeiner Klasse Y ist und eine Klasse Y eine Unterklasse der Klasse Z ist, so istX auch eine Unterklasse von Z.

Listing 5: Erstellung einer Unterklasse1 <owl :C la s s rd f : ID=" Portab leL iqu id ">2 <rd f s : subC la s sO f r d f : r e s o u r c e="#ConsumableThing" />3 </ owl :C la s s>

Wir definieren damit PortableLiquid (Flüssigkeiten, die zum trinken geeig-net sind) als eine Unterklasse von ConsumableThing.

Auf diese Weise können Klassen in unterschiedlichen Ontologien, die überdas Web verteilt sind, definiert werden. Diese können wiederum in eine Viel-falt von Ontologien zum Thema Essen und Trinken importiert werden. Sowurde zu Beginn des Beispiels die food Ontologie importiert. Sie enthält ei-ne handvoll Klassen, etwa food, EdibleThing, MealCourse und ShellFish,welche nicht in die Sammlung der Angelegenheiten zum Thema Wein gehören

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 28

3 WEB ONTHOLOGY LANGUAGE - OWL

aber mit dem Wine-Vokabular verbunden werden müssen, wenn wir nützlicheSchlussfolgerungen ermöglichen wollen. Wir benötigen diese Klassen um einepassende Wein/Speise-Kombination zu identifizieren.

Wir sind nun in der Lage eine (unvollständige) Definition für die KlasseWine zu bilden. Wine ist ein PortableLiquid. Ferner definieren wir Pastaals ein EdibleThing.

Listing 6: Weitere Unterklassendefinitionen1 <owl :C la s s rd f : ID="Wine">2 <rd f s : subC la s sO f r d f : r e s o u r c e="&food ; Portab leL iqu id " />3 <r d f s : l a b e l xml:lang="de">Wein</ r d f s : l a b e l>4 </ owl :C la s s>5 <owl :C la s s rd f : ID="Pasta">6 <rd f s : subC la s sO f r d f : r e s o u r c e="#EdibleThing " />7 </ owl :C la s s>

Das rdfs:label Tag dient dabei der Kennzeichnung auf eine für Menschenlesbare Art (im Beispiel auf deutsch).

Individuals

Neben den Klassen wollen wir auch ihre Mitglieder beschreiben. Wir defi-nieren die CentralCoastRegion als Mitglied der Klasse Region.

Listing 7: Definition eines Individuals1 <Region rd f : ID="CentralCoastRegion " />

Um ein paar weitere Klassen zur Hand zu haben, definieren wir Weintraubenals eine besondere Form von Trauben (aus der food Ontologie). Des weiterengenerieren wir ein Individual der Klasse Weintrauben: die CabernetSauvignonRebsorte.

Listing 8: Definition weiterer Individuals1 <owl :C la s s rd f : ID="WineGrape" >2 <rd f s : subC la s sO f r d f : r e s o u r c e="&food ; Grape" />3 </ owl :C la s s>4

5 <WineGrape rd f : ID="CabernetSauvignonGrape" />

3.4.4 Einfache Properties

Diese Welt der Klassen und Individuals wäre reichlich uninteressant, wennman nur Taxonomien definieren könnte. Properties lassen es zu, allgemeingül-tige Fakten über Klassenmitglieder und spezifische Fakten über Individualsanzuführen.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 29

3 WEB ONTHOLOGY LANGUAGE - OWL

Properties definieren

Bei der Definition eines Properties können die Domain (Grundmenge) undder Wertebereich (Range) angegeben werden. Dabei unterstützt OWL fürProperties die meisten der in XML-Schema enthaltenen Datentypen (wie z.B.xsd:string, xsd:integer, xsd:nonNegativeInteger usw.). Auch Proper-ties können als Subproperties anderer Properties definiert werden.

Listing 9: Definition einfacher Properties1 <owl :ObjectProperty rd f : ID="madeFromGrape">2 <rdfs :domain r d f : r e s o u r c e="#Wine" />3 <rd f s : r a n g e r d f : r e s o u r c e="#WineGrape" />4 </ owl :ObjectProperty>

Die Property madeFromGrape hat eine Domain namens Wine und eine Rangenamens WineGrape. Dies bedeutet, dass sie Instanzen der beiden Klassen inVerbindung bringt. Es ist ebenfalls möglich mehrere Domains oder Rangesanzugeben. Dies entspricht dann einer Schnittmenge der angegebenen Klas-sen.

Durch den Gebrauch von Range- und Domaininformationen lassen sichbereits erste Ableitungen bilden:

Listing 10: Einsatz einer Property1 <owl:Thing rd f : ID="LindemansBin65Chardonnay">2 <madeFromGrape r d f : r e s o u r c e="#ChardonnayGrape" />3 </owl:Thing>

Wir können nun ableiten, dass LindemansBin65Chardonnay ein Wein ist, dadie Domain von madeFromGrape Wine ist.

Properties können wie Klassen in einer Hierarchie angeordnet werden.

Listing 11: Hierarchische Anordnung von Properties1 <owl :C la s s rd f : ID="WineDescriptor " />2

3 <owl :C la s s rd f : ID="WineColor">4 <rd f s : subC la s sO f r d f : r e s o u r c e="#WineDescriptor " />5 . . .6 </ owl :C la s s>7

8 <owl :ObjectProperty rd f : ID="hasWineDescr iptor ">9 <rdfs :domain r d f : r e s o u r c e="#Wine" />

10 <rd f s : r a n g e r d f : r e s o u r c e="#WineDescriptor " />11 </ owl :ObjectProperty>12

13 <owl :ObjectProperty rd f : ID="hasColor ">14 <rdf s : subProper tyOf r d f : r e s o u r c e="#hasWineDescr iptor " />15 <rd f s : r a n g e r d f : r e s o u r c e="#WineColor" />16 . . .17 </ owl :ObjectProperty>

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 30

3 WEB ONTHOLOGY LANGUAGE - OWL

WineDescriptor Properties verbinden Weine mit ihrer Farbe und ihren Ge-schmackskomponenten, wie Süssigkeit, Körper und Geschmack. hasColor isteine Subproperty der hasWineDescriptor-Property, welche die Range zu-sätzlich auf WineColor begrenzt. Die rdfs:subPropertyOf-Beziehung be-deutet hier, dass alles mit einer hasColor-Property mit dem Wert X, eben-falls eine hasWineDescriptor-Property mit dem Wert X besitzt.

Nun bringen wir die locatedIn-Property ein, welche Dinge mit Regionen,aus denen sie stammen, in Verbindung bringt.

Listing 12: Weitere Properties1 <owl :ObjectProperty rd f : ID=" lo ca t ed In ">2 . . .3 <rdfs :domain r d f : r e s o u r c e=" ht tp : //www.w3 . org /2002/07/ owl#Thing" />4 <rd f s : r a n g e r d f : r e s o u r c e="#Region" />5 </ owl :ObjectProperty>

Nun ist es möglich die Definition von Wine dahingehend auszuweiten, dassein Wein letztendlich aus einer WineGrape gemacht wird.

Listing 13: Einschränkungen mit Properties1 <owl :C la s s rd f : ID="Wine">2 <rd f s : subC la s sO f r d f : r e s o u r c e="&food ; PotableLiquid "/>3 <rd f s : subC la s sO f>4 <ow l :R e s t r i c t i o n>5 <owl:onProperty r d f : r e s o u r c e="#madeFromGrape"/>6 <owl :minCard ina l i ty rd f : da ta type="&xsd ; nonNegat iveInteger ">17 </ owl :minCard ina l i ty>8 </ ow l :R e s t r i c t i o n>9 </ rd f s : subC la s sO f>

10 . . .11 </ owl :C la s s>

Das bedeutet, jedes Individual vom Typ Wein muss ebenfalls eine RelationmadeFromGrape aufweisen.

Wir können nun ebenfalls die Klasse Vintage (Jahrgang) beschreiben:

Listing 14: Weitere Einschränkungen mit Properties1 <owl :C la s s rd f : ID="Vintage ">2 <rd f s : subC la s sO f>3 <ow l :R e s t r i c t i o n>4 <owl:onProperty r d f : r e s o u r c e="#vintageOf "/>5 <owl :minCard ina l i ty rd f : da ta type="&xsd ; nonNegat iveInteger ">16 </ owl :minCard ina l i ty>7 </ ow l :R e s t r i c t i o n>8 </ rd f s : subC la s sO f>9 </ owl :C la s s>

10

11 <owl :ObjectProperty rd f : ID="vintageOf ">12 <rdfs :domain r d f : r e s o u r c e="#Vintage " />13 <rd f s : r a n g e r d f : r e s o u r c e="#Wine" />14 </ owl :ObjectProperty>

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 31

3 WEB ONTHOLOGY LANGUAGE - OWL

Die Property vintageOf verbindet eine Vintage mit einem Wein.Wir setzen Vintages im nächsten Abschnitt mit dem zugehörigen Jahr in

Beziehung.

Properties von Individuals

Zuerst beschreiben wir Region und Winery-Individuals, danach definierenwir unseren ersten Wein, einen Cabernet Sauvignon.

Listing 15: Properties von Individuals1 <Region rd f : ID="SantaCruzMountainsRegion">2 <loca t ed In r d f : r e s o u r c e="#Ca l i f o rn i aReg i on " />3 </Region>4

5 <Winery rd f : ID="SantaCruzMountainVineyard" />6

7 <CabernetSauvignon8 rd f : ID="SantaCruzMountainVineyardCabernetSauvignon" >9 <loca t ed In r d f : r e s o u r c e="#SantaCruzMountainsRegion"/>

10 <hasMaker r d f : r e s o u r c e="#SantaCruzMountainVineyard" />11 </CabernetSauvignon>

Dies ist immer noch nicht komplett. Es gibt noch andere Aspekte des Wein-geschmacks, welche in der vollständigen Ontolgie definiert sind. Jedoch fügensich die Teile zusammen. Wir könnten nun beginnen zu folgern, welche Menü-Gänge dieser Wein begleiten könnte. Wir wissen aufgrund obiger Definition,dass das Santa Cruz Mountain-Weingut ihn herstellt. Da es ein CabernetSauvignon ist, wissen wir, dass es ein trockener Rotwein ist.

Datatype Properties können den Individuals auf ähnliche Weise hinzugefügtwerden. Unten beschreiben wir eine Instanz von VintageYear und verbindensie mit einem spezifischen Wert vom Typ positive Integer.

Listing 16: Ein Datatype Property1 <VintageYear rd f : ID="Year1998">2 <yearValue rd f : da ta type="&xsd ; p o s i t i v e I n t e g e r ">19983 </yearValue>4 </VintageYear>

3.4.5 Property Characteristica

Property Characteristica stellen einen weiteren mächtigen Mechanismus zurVerfügung, um erweitertes Folgern aus einem Property zu ermöglichen.

Transitive Properties

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 32

3 WEB ONTHOLOGY LANGUAGE - OWL

Wenn ein Property P als transitiv spezifiziert ist dann gilt für alle x, y, und z:

aus P(x,y) und P(y,z) folgt P(x,z)

Das Property locatedIn ist transitiv.

Listing 17: Ein transitives Property1 <owl :ObjectProperty rd f : ID=" lo ca t ed In ">2 <rd f : t yp e r d f : r e s o u r c e="&owl ; Trans i t iveProper ty " />3 <rdfs :domain r d f : r e s o u r c e="&owl ; Thing" />4 <rd f s : r a n g e r d f : r e s o u r c e="#Region" />5 </ owl :ObjectProperty>6

7 <Region rd f : ID="SantaCruzMountainsRegion">8 <loca t ed In r d f : r e s o u r c e="#Ca l i f o rn i aReg i on " />9 </Region>

10

11 <Region rd f : ID=" Ca l i f o rn i aReg ion ">12 <loca t ed In r d f : r e s o u r c e="#USRegion" />13 </Region>

Da die SantaCruzMountainsRegion locatedIn der CaliforniaRegion ist, musssie ebenso locatedIn der US Region sein, da ja locatedIn transitiv ist.

Symmetrische Properties

Wenn ein Property P als symmetrisch markiert ist, dann gilt für alle x und y:

P(x,y) falls P(y,x)

Das Property adjacentRegion ist symmetrisch, wohingegen locatedIn diesnicht ist. Genauer gesagt ist dies bei locatedIn nicht beabsichtigt. Nichts inder momentanen Wein-Ontologie untersagt, dass sie symmetrisch ist.

Listing 18: Ein symmetrisches Property1 <owl :ObjectProperty rd f : ID=" adjacentRegion ">2 <rd f : t yp e r d f : r e s o u r c e="&owl ; SymmetricProperty" />3 <rdfs :domain r d f : r e s o u r c e="#Region" />4 <rd f s : r a n g e r d f : r e s o u r c e="#Region" />5 </ owl :ObjectProperty>6

7 <Region rd f : ID="MendocinoRegion">8 <loca t ed In r d f : r e s o u r c e="#Ca l i f o rn i aReg i on " />9 <adjacentRegion r d f : r e s o u r c e="#SonomaRegion" />

10 </Region>

Die MendocinoRegion ist der SonomaRegion benachbart und umgekehrt. DieMendocinoRegion liegt in der CaliforniaRegion, jedoch nicht umgekehrt.

Funktionale Properties

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 33

3 WEB ONTHOLOGY LANGUAGE - OWL

Wenn ein Property P als functional markiert ist, dann gilt für alle x, y, und z:

aus P(x,y) und P(x,z) folgt y = z

In unserer Wein-Ontologie ist hasVintageYear functional. Ein Wein hat eineinziges Lesejahr. Daher kann ein gegebenes Individual Vintage durch denGebrauch der hasVintageYear-Property nur mit einem einzigen Jahr in Ver-bindung gebracht werden, Es ist keine Forderung einer owl:FunctionalProperty,dass alle Elemente der Domain einen Wert besitzen.

Listing 19: Ein funktionales Property1 <owl :C la s s rd f : ID="VintageYear" />2

3 <owl :ObjectProperty rd f : ID="hasVintageYear ">4 <rd f : t yp e r d f : r e s o u r c e="&owl ; Funct iona lProperty " />5 <rdfs :domain r d f : r e s o u r c e="#Vintage " />6 <rd f s : r a n g e r d f : r e s o u r c e="#VintageYear" />7 </ owl :ObjectProperty>

Inverse Properties

Wenn ein Property P1 als owl:inverseOf P2 markiert ist, dann gilt füralle x und y:

P1(x,y) falls P2(y,x)

Wines haben Erzeuger, welche laut der Definition von Wine auf Winerysbegrenzt sind. Daher produziert jede Winery eine Menge von Weinen, wel-che sie als Erzeuger markieren.

Listing 20: Ein inverses Property1 <owl :ObjectProperty rd f : ID="hasMaker">2 <rd f : t yp e r d f : r e s o u r c e="&owl ; Funct iona lProperty " />3 </ owl :ObjectProperty>4

5 <owl :ObjectProperty rd f : ID="producesWine">6 <owl : i nve r s eO f r d f : r e s o u r c e="#hasMaker" />7 </ owl :ObjectProperty>

Inverse funktionale Properties

Wenn ein Property P als InverseFunctional markiert ist, dann gilt für al-le x, y und z:

aus P(y,x) und P(z,x) folgt y = z

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 34

3 WEB ONTHOLOGY LANGUAGE - OWL

Man beachte, dass producesWine in vorhergehendem Abschnitt als inver-se functional deklariert wurde. Der Grund liegt darin, dass inverse functionaldas Gegenteil einer functional property sein muss. Wir hätten hasMaker undproducesWine wie folgt definieren können und hätten hierdurch denselbenEffekt wie im vorhergehendem Beispiel erreicht.

Listing 21: Ein inverses funktionales Property1 <owl :ObjectProperty rd f : ID="hasMaker" />2

3 <owl :ObjectProperty rd f : ID="producesWine">4 <rd f : t yp e r d f : r e s o u r c e="&owl ; Inver seFunct iona lProper ty " />5 <owl : i nve r s eO f r d f : r e s o u r c e="#hasMaker" />6 </ owl :ObjectProperty>

Betrachte die Elemente einer Range in einer inversefunctional-Property, wiedas Definieren eines Unique-Key in einer Datenbank. owl:InverseFunctionalimpliziert, dass die Elemente der Range einen einzigartigen Identifier für einjedes Element der Domain zur Verfügung stellen.

3.4.6 Property Restriktionen

Nebst der Kennzeichnung von Property Characteristics, ist es möglich dieRange einer Property in spezifischen Kontexten auf verschiedene Art undWeise weiter einzuschränken. Wir machen dies mit property restrictions. Dieunterschiedlichen Formen, welche unten beschrieben sind, können nur imKontext einer owl:Restriction angewandt werden. Das owl:onPropertyElement gibt die eingeschränkte Property an.

allValuesFrom, someValuesFrom

Wir haben bereits einen Weg gesehen, um die Typen der Elemente einzu-schränken, die ein Property ausmachen. Die bisherigen Mechanismen warenglobal in der Weise, dass sie auf alle Instanzen eines Property angewandt wer-den. Die nächsten zwei, allValuesFrom und someValuesFrom, beziehen sichlokal auf die Klassen-Definition, die sie enthält.

Die owl:allValuesFrom Einschränkung verlangt, dass für jede Instanz derKlasse, welche Instanzen der spezifizierten Property hat die Property-Wertealle Mitglieder der Klasse sind, welche im owl:allValuesFrom Abschnittangegeben ist.

Listing 22: someValuesFrom1 <owl :C la s s rd f : ID="Wine">2 <rd f s : subC la s sO f r d f : r e s o u r c e="&food ; PotableLiquid " />3 . . .

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 35

3 WEB ONTHOLOGY LANGUAGE - OWL

4 <rd f s : subC la s sO f>5 <ow l :R e s t r i c t i o n>6 <owl:onProperty r d f : r e s o u r c e="#hasMaker" />7 <owl :a l lValuesFrom r d f : r e s o u r c e="#Winery" />8 </ ow l :R e s t r i c t i o n>9 </ rd f s : subC la s sO f>

10 . . .11 </ owl :C la s s>

Der Hersteller von Wine muss eine Winery sein. Die allValuesFrom Ein-schränkung bezieht sich auf die hasMaker-Property nur dieser Wine-Klasse.Hersteller von Käse sind nicht von dieser lokalen Einschränkung betroffen.

owl:someValuesFrom ist ähnlich. Wenn wir owl:allValuesFrom durchowl:someValuesFrom in obigem Beispiel ersetzen, würde dies bedeuten, dassmindestens eine der hasMaker-Properties eines Wine, auf ein Individual ver-weisen muss, welches eine Winery ist.

Listing 23: allValuesFrom1 <owl :C la s s rd f : ID="Wine">2 <rd f s : subC la s sO f r d f : r e s o u r c e="&food ; PotableLiquid " />3 <rd f s : subC la s sO f>4 <ow l :R e s t r i c t i o n>5 <owl:onProperty r d f : r e s o u r c e="#hasMaker" />6 <owl:someValuesFrom r d f : r e s o u r c e="#Winery" />7 </ ow l :R e s t r i c t i o n>8 </ rd f s : subC la s sO f>9 . . .

10 </ owl :C la s s>

Der Unterschied zwischen diesen beiden Formulierungen besteht im Unter-schied zwischen einer universellen und einer existenziellen Quantifizierung.

• allValuesFrom: Für alle Weine, die einen Hersteller haben, ist dieserHersteller ein Weingut

• someValuesFrom: Für alle Weine, die mindestens einen Hersteller ha-ben, der ein Weingut ist

Ersteres verlangt von einem Wein nicht, dass er einen Hersteller hat. Wenn ereinen oder mehrere hat, müssen alle Weingüter sein. Zweiteres verlangt, dasses mindestens einen Hersteller geben muss, welcher ein Weingut ist, aber eskönnte auch Hersteller geben, welche nicht Winzereien sind.

Kardinalität

Wir haben bereits Beispiele von Kardinalitätseinschränkungen gesehen. Bis

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 36

3 WEB ONTHOLOGY LANGUAGE - OWL

jetzt waren es Ansprüche einer minimale Kardinalität. Ein wenig mehr ein-schränkend ist owl:cardinality, welche eine exakte Spezifizierung der Ele-mentenanzahl in einer Relation ermöglicht. Zum Beispiel spezifizieren wirVintage als eine Klasse mit genau einem VintageYear.

Listing 24: Bestimmung einer Kardinalität1 <owl :C la s s2 rd f : ID="Vintage ">3 <rd f s : subC la s sO f>4 <ow l :R e s t r i c t i o n>5 <owl:onProperty r d f : r e s o u r c e="#hasVintageYear "/>6 <ow l : c a r d i n a l i t y rd f : da ta type="&xsd ; nonNegat iveInteger ">17 </ ow l : c a r d i n a l i t y>8 </ ow l :R e s t r i c t i o n>9 </ rd f s : subC la s sO f>

10 </ owl :C la s s>

Wir spezifizieren hasVintageYear als functionalProperty, was dasselbe ist,wie wenn man sagen würde, dass jede Weinlese nur ein Lesejahr hat. DieseAnwendung der Property auf Vintage, wobei eine Kardinalitäts-Restriktionbenutzt wird, macht etwas strenger geltend, dass jede Vintage genau ein Vin-tageYear hat.

Die Werte von Kardinalitäts-Ausdrüücken sind in OWL Lite auf 0 und 1limitiert. Dies ermöglicht dem Benutzer ’mindestens eins’, ’nicht mehr alseins’, und ’genau eins’ anzugeben. Positive Integer-Werte, welche nicht 0 und1 entsprechen sind erst in OWL DL erlaubt.owl:maxCardinality kann benutzt werden eine obere Abgrenzung zu spezi-fizieren. owl:minCardinality kann benutzt werden eine untere Abgrenzungzu spezifizeren. Eine Kombination kann dazu benutzt werden eine Property-Kardinalität auf ein numerisches Intervall zu beschränken.

hasValue (OWL DL)

hasValue erlaubt uns Klassen zu spezifizieren, welche auf der Existenz ei-nes bestimmten Property-Wertes basieren. Deshalb ist ein Individual im-mer dann Mitglied einer solchen Klasse, wann immer letztlich einer dieserProperty-Werte der hasValue-Resource entspricht.

Listing 25: hasValue1 <owl :C la s s rd f : ID="Burgundy">2 . . .3 <rd f s : subC la s sO f>4 <ow l :R e s t r i c t i o n>5 <owl:onProperty r d f : r e s o u r c e="#hasSugar " />6 <owl:hasValue r d f : r e s o u r c e="#Dry" />7 </ ow l :R e s t r i c t i o n>8 </ rd f s : subC la s sO f>

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 37

3 WEB ONTHOLOGY LANGUAGE - OWL

9 </ owl :C la s s>

Hier deklarieren wir, dass alle Burgundy-Weine trocken sind. Begründet da-durch, dass ihre hasSugar-Property letztendlich einen Wert besitzen muss,welcher Dry entspricht In Bezug auf allValuesFrom und someValuesFromstellt es eine lokale Einschränkung dar. Es macht hasSugar angewandt aufBurgundy geltend.

3.5 Mapping von Ontologien

Damit Ontologien maximale Wirkung entfalten, müssen sie weit verbreitetsein. Um den intellektuellen Aufwand bei der Entwicklung von Ontologienzu minimieren, müssen sie wiederverwendet werden (können).

Es ist wichtig zu verstehen, dass ein großer Teil der Mühe der Ontologie-entwicklung im Zusammenführen von Klassen und Properties aufgebrachtwird und zwar auf eine Weise, welche die logischen Schlussfolgerungen maxi-miert. Wir wollen simple Aussagen über die Mitgliedschaft in einer Klasse,um möglichst umfassende und nützliche Schlussfolgerungen ziehen zu kön-nen. Dies ist der härteste Teil der Ontologieentwicklung. Wenn es möglich istsollte man eine bereits existierende Ontologie einsetzen, die schon extensiverBenutzung und Verfeinerung unterzogen wurde.

Eine Menge von Ontologien zusammenzuführen, wird eine Herausforderungsein. Es wird sicherlich auch die Unterstützung von Tools benötigt, um dieKonsistenz zu gewährleisten.

3.5.1 Äquivalenz zwischen Klassen und Properties

Um eine Menge von Teilontologien zu verbinden und als Teil zu einer Drit-ten hinzuzufügen, sollte man imstande sein, zu kennzeichnen, dass eine be-stimmte Klasse oder Property einer Ontologie der Klasse oder Property einerzweiten Ontologie entspricht. Diese Möglichkeit sollte jedoch mit Vorsichtangewandt werden. Sollten die kombinierten Ontologien sich wiedersprechen(alle A’s sind B’s vs. alle A’s sind keine B’s) so wird es zu keiner Erweiterungkommen (keine Individuals und Relationen), welche die entstandene Kombi-nation erfüllt.

In der Essensontologie wollen wir Weinmerkmale aus den Beschreibungenvon Menügängen zurück zur Weinontologie verlinken. Ein Weg dies zu be-werkstelligen, ist eine Klasse in der Essensontologie zu definieren, um sie

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 38

3 WEB ONTHOLOGY LANGUAGE - OWL

daraufhin als äquivalent zu einer bereits bestehenden Wein-Klasse in derWein-Ontologie zu deklarieren.

Listing 26: Äquivalente Klassen1 <owl :C la s s rd f : ID="Wine">2 <owl : e qu i va l en tC l a s s r d f : r e s o u r c e="&vin ; Wine"/>3 </ owl :C la s s>

Die Property owl:equivalentClass wird gebraucht um anzugeben, dasszwei Klassen exakt dieselben Instanzen besitzen. Man beachte, dass in OWLDL Klassen nur eine Menge von Individuals bedeuten und nicht selbst In-dividuals darstellen. In OWL Full, können wir nichtsdestotrotz owl:sameAszwischen zwei Klassen benutzen, um anzugeben, dass sie in jeder Hinsichtidentisch sind.

Natürlich ist obiges Beispiel etwas konstruiert. Ein wahrscheinlicherer An-wendungsfall würde sich ergeben, wenn wir zwei unabhängig voneinanderentwickelte Ontolgien benötigen und feststellen, dass sie die URI’s O1:foound O2:bar anwenden, um auf dieselbe Klasse zu referenzieren.owl:equivalentClass könnte benutzt werden, um Beide zusammen zu le-gen, so dass die Ableitungen aus beiden Ontologien kombiniert sind.

Wir haben bereits gesehen, dass Klassenausdrücke Ziele der rdfs:subClassOf-Konstruktoren sein können. Sie können auch Ziel von rdfs:subClassOf sein.Des Weiteren macht es dies unnötig, Namen für jeden Klassenausdruck zuerfinden und es stellt ein mächtiges Definitionspotential, basierend auf derErfüllung einer Property, dar.

Listing 27: Ein inverses funktionales Property1 <owl :C la s s rd f : ID="TexasThings">2 <owl : e qu i va l en tC l a s s>3 <ow l :R e s t r i c t i o n>4 <owl:onProperty r d f : r e s o u r c e="#loca t ed In " />5 <owl:someValuesFrom r d f : r e s o u r c e="#TexasRegion" />6 </ ow l :R e s t r i c t i o n>7 </ ow l : e qu i va l en tC l a s s>8 </ owl :C la s s>

TexasThings sind exakt die Dinge, welche sich in der Texas-Region befinden.Der Unterschied zwischen dem Gebrauch von owl:equivalentClass hierund den Gebrauch von rdfs:subClassOf ist der Unterschied zwischen einernotwendigen Bedingung und einer notwendigen und hinreichenden Bedin-gung. Mit rdfs:subClassOf sind Dinge, welche sich in Texas befinden, nichtnotwendigerweise TexasThings. Der Gebrauch von owl:equivalentClasssagt jedoch aus, dass etwas, was sich in Texas befindet, auch der KlasseTexasThings zugehörig sein muss.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 39

3 WEB ONTHOLOGY LANGUAGE - OWL

• subClassOf: TexasThings(x) impliziert locatedIn(x,y) und TexasRegi-on(y)

• equivalentClass: TexasThings(x) impliziert locatedIn(x,y) und Texas-Region(y) locatedIn(x,y) und TexasRegion(y) impliziert TexasThings(x)

Um Properties auf ähnliche Weise zusammenzuführen gebrauchen wirowl:equivalentProperty.

3.5.2 Identität zwischen Individuals

Dieser Mechanismus ähnelt denen der Klassen, jedoch deklariert er zwei In-dividuals als äquivalent. Ein Beispiel wäre:

Listing 28: sameAs1 <Wine rd f : ID="MikesFavoriteWine">2 <owl:sameAs r d f : r e s o u r c e="#StGenevieveTexasWhite" />3 </Wine>

Dieses Beispiel hat keinen großen Nutzen. Alles was wir daraus lernen ist,dass Mike billigen Wein mag. Ein typischerer Gebrauch von sameAs wä-re, Individuals, welche in unterschiedlichen Dokumenten definiert wurden,gleichzusetzen, als Teil der Vereinigung zweier Ontologien.

Dies bringt uns zu einem wichtigen Punkt. In OWL gibt es nicht die Prämis-se einzigartiger Namen. Nur weil zwei Namen sich unterscheiden, heißt dasnoch nicht, dass sie auf unterschiedliche Individuals verweisen.

In obigen Beispiel gaben wir eine Identität zwischen zwei unterschiedlichenNamen an. Aber es ist genauso möglich, dies für diese Art von Identität ab-zuleiten. Man erinnere sich an die Folgerungen, welche von einer functional-Property abgeleitet werden können. Angenommen hasMaker ist functional,so ergibt sich aus folgendem notwendigerweise ein Konflikt.

Listing 29: Ein Konflikt1 <owl:Thing rd f : abou t="#BancroftChardonnay">2 <hasMaker r d f : r e s o u r c e="#Bancroft " />3 <hasMaker r d f : r e s o u r c e="#Ber inger " />4 </owl:Thing>

Solange dies anderen Informationen in unserer Ontologie widerspricht, be-deutet es einfach, Bancroft = Beringer.

Man beachte, dass sameAs zur Gleichstellung zweier Klassen nicht dassel-be ist, wie sie mit equivalentClass gleichzusetzen; stattdessen verursacht es,

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 40

3 WEB ONTHOLOGY LANGUAGE - OWL

die beiden Klassen als Individuals zu interpretieren und genügt deshalb, umeine Ontologie als OWL Full zu kategorisieren. In OWL Full könnte sameAsherangezogen werden, um alles gleichzusetzen: eine Klasse und ein Individual,eine Property und eine Klasse, etc. Das hat zur Folge, dass beide Argumenteals Individuals interpretiert werden.

3.5.3 Unterschiedliche Individuals

Dieser Mechanismus stellt das Gegenteil von sameAs zur Verfügung.

Listing 30: differentFrom1 <WineSugar rd f : ID="Dry" />2

3 <WineSugar rd f : ID="Sweet">4 <owl :d i f f e r en tFrom rd f : r e s o u r c e="#Dry"/>5 </WineSugar>6

7 <WineSugar rd f : ID="OffDry">8 <owl :d i f f e r en tFrom rd f : r e s o u r c e="#Dry"/>9 <owl :d i f f e r en tFrom rd f : r e s o u r c e="#Sweet"/>

10 </WineSugar>

Dies ist einer der Wege auszusagen, dass diese drei Werte voneinander ver-schieden sind. Es gibt Fälle, wo es wichtig ist, solche verschiedenen Identi-täten zu garantieren. Ohne diese Zuweisungen könnten wir einen Wein be-schreiben, der beides ist, sowohl Dry (Trocken), als auch Sweet (Lieblich).Wir haben ausgesagt, dass die Property hasSugar, wenn sie auf einen Weinangewendet wird, nie mehr als einen Wert hat. Wenn wir uns irren würdenund zugewiesen hätten, dass ein Wein gleichzeitig Dry und Sweet sein würde,ohne die differentFrom-Elemente von oben, würde dies implizieren, dass Dryund Sweet identisch sind. Mit den obigen Elementen, würden wir hingegeneinen Widerspruch erhalten.

Es existiert ein bequemerer Mechanismus, um eine Menge von wechselsei-tig verschiedenen Individuals zu definieren. Das folgende sagt aus, dass Red,White and Rose paarweise verschieden sind.

Listing 31: AllDifferent1 <ow l :A l lD i f f e r e n t>2 <owl :d i s t inctMembers rd f :par seType=" Co l l e c t i o n ">3 <vin:WineColor rd f : abou t="#Red" />4 <vin:WineColor rd f : abou t="#White" />5 <vin:WineColor rd f : abou t="#Rose" />6 </ owl :d i s t inctMembers>7 </ ow l :A l lD i f f e r e n t>

Zu beachten ist, dass owl:distinctMembers nur in Kombination mitowl:AllDifferent benutzt werden kann.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 41

3 WEB ONTHOLOGY LANGUAGE - OWL

In der Weinontologie gibt es eine owl:AllDifferent-Aussage für alle Wi-neDescriptors. Wir sagen auch aus, dass die Winerys alle verschieden sind.Wenn wir ein neues Weingut in einer anderen Ontologie hinzufügen wolltenund zuweisen möchten, dass es von allen, die bisher definiert wurden, ver-schieden ist, müssten wir die ursprüngliche owl:AllDifferent-Zuweisungausschneiden, den neuen Erzeuger zur Liste hinzufügen und sie wieder einfü-gen. Es gibt keinen einfacheren Weg um eine owl:AllDifferent-Aufzählungin OWL DL zu erweitern. In OWL Full sind durch die Benutzung von RDF-Tripeln und rdf:List andere Ansätze möglich.

3.6 Komplexe Klassen (OWL DL)

OWL DL bietet eine Reihe weiterer Konstruktoren, mit Hilfe derer Klassenerzeugt werden können. Diese Konstruktoren kann man verwenden, um soge-nannte Klassenausdrücke zu erstellen. OWL unterstützt die grundlegendenMengenoperationen, namentlich union (Vereinigung), intersection (Schnitt-menge) und complement (Komplementärmenge). Sie heißen owl:unionOf,owl:intersectionOf und owl:complementOf. Erweiterungen von Klassenkönnen explizit ausgesagt werden durch den oneOf-Konstruktor. Und es istmöglich zuzuweisen, dass Klassenerweiterungen verschieden voneinander seinmüssen.

Das hier verwendete Wein-Beispiel stammt aus [(W306].

3.6.1 Abschluss

Wie das hier gezeigte Beispiel zeigt, ist bereits ein hoher Aufwand notwendigum ein verhältnismäßig einfaches Problem mit Hilfe von Ontologien abzu-bilden. Ohne die Hilfe grafischer Tools wird die Erstellung von Ontologiendadurch kaum denkbar. Diese sind derzeit noch rar, werden aber mit zuneh-mender Relevanz des Semantic Web rasant in ihrer Anzahl zunehmen.

Des weiteren zeigt das Beispiel sehr anschaulich, dass bereits bei die-sem vergleichsweise einfachem Sachverhalt die kleinste Ausprägung von OWL(OWL Lite) nicht mehr ausreichend ist. OWL Lite wurde jedoch für Benutzerentwickelt, die einfache Sachverhalte und Ontologien erstellen wollen. Es zeigtsich also, dass die Einteilung von OWL in die verschiedenen Ausprägungeneher unsachgemäß und unbrauchbar erscheint. Da OWL Full wohl aufgrundseiner nicht zwingend deterministischen Arbeitsweise - wenn überhaupt - nurin der Forschung Einzug halten wird, so scheint OWL Lite gänzlich unbrauch-bar zu sein. Es wird sich zeigen, ob es überhaupt Einsatzgebiete außerhalb

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 42

3 WEB ONTHOLOGY LANGUAGE - OWL

von OWL:DL überhaupt gibt.Was die Wahl der Programmiersprache angeht, so scheint sich OWL als

neuer Standard der Semantic Web Programmierung zu etablieren. OWL ver-eint sämtliche RDF und RDFS Strukturen und kann auf die Mächtigkeit vonDAML+OIL zurückgreifen. Durch den großen Erfahrungsschatz, den manmit DAML+OIL sammeln konnte, kann OWL darauf aufbauend profitieren,ohne die Einschränkungen von RDF hinnehmen zu müssen.

Neben der Komplexität der Ontologieentwicklung und der Frage nachdem Sinn eines Einsatzes von Ontologien stehen weitere Fragen im Raum: wiesteht es um die Sicherheit der Daten? Können sämtlichen firmeninternen On-tologien und möglicherweise vertraulichen Dokumente in anderen Ontologienverwendet werden? Wie können diese vor illegaler Nutzung geschützt werden?Wie steht es um die Glaubwürdigkeit von Ontologien? Beispielsweise könnteeine Ontologie gänzlich falsche Aussagen und Folgerungen machen, aufgrundfalscher vorliegender Tatsachen. Würde diese Ontologie dann in andere Onto-logien einfließen, so wäre ab einem bestimmten Grad des Importierens nichtmehr ersichtlich, woher die ursprünglichen Informationen stammten und obdiese gesichertes Wissen beinhalten. Eine ähnliche Entwicklung ist bereitsheute bei Systemen wie Wikipedia zu sehen: viele stützen sich auf Artikelaus Wikipedia, obwohl diese von jedermann zu jeder Zeit geändert und ver-fälscht werden können. Diese und weitere Probleme müssen in Zukunft gelöstwerden, wenn das Semantic Web wirklich zum Web der Zukunft werden soll.

3.7 Weitere Beispiele aus der Praxis

OWL wird in der Praxis bereits eingesetzt. Im Folgenden finden sich Beispie-le, die den Entwicklungsstand und die Verbreitung von OWL exemplarischaufzeigen sollen.

3.7.1 Hybrid Education and Research Base for Information Ex-change (HERBIE)

Die Plattform HERBIE (Higher Education and Research Base for Informati-on Exchange) stellt ein Wissensmanagementsystem zur verteilten Forschungdar.

Ziel von HERBIE ist die Bereitstellung einer hybriden Plattform, auf derWissenschaftler in räumlich verteilten Umgebungen Dokumente austauschen,bearbeiten, beschreiben sowie diskutieren können. Zentrale Elemente sinddabei zum einen die Mitglieder und zum anderen die in der Plattform ein-gestellten Dokumente. Zum Auffinden und zur zielsetzungsgerechten Bereit-

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 43

3 WEB ONTHOLOGY LANGUAGE - OWL

stellung der Dokumente ist eine Beschreibung anhand eines Kontextes erfor-derlich. HERBIE ermöglicht hier eine hybride Charakterisierung der Inhalteanhand einfacher Taxonomien oder umfangreicher Ontologien. Zur fachlichenKommunikation über die Dokumente bietet das System einen objektspezifi-schen Diskurs: Mitglieder der Plattform haben hierbei die Möglichkeit, expli-zit zu einem Dokument Kommunikationsformen wie Chat, Diskussionsforenoder Wiki zu nutzen. Im Rahmen der Transferprozesse bietet die PlattformSchnittstellen von und zu anderen Systemen z. B. zum Einbinden von Da-teilaufwerken an. Mit Administration und Selektion stellt HERBIE weitereDienste zur verteilten Forschung zur Verfügung.3

3.7.2 Semantic Knowledge Technologies (SEKT)

SEKT (Semantic Knowledge Technologies) ist ein von der EU mit 12,5 Mio.e finanziertes Projekt und dient der Forschung vernetzten Wissens mittelsTechnologien des Semantic Web.4

Unter den zahlreichen Forschungsprojekten befindet sich auch ein sich in derEntwicklung befindliches Broker Tool für Börsenmakler. Es hat den ZweckInformationen zu sammeln, filtern und nach gegebenen Regeln den Maklerzum Handeln zu bewegen. Dabei macht das Programm Vorschläge für denKauf oder den Verkauf von Anteilen.

Eine sehr anschauliche Demonstration findet sich unter http://www.sekt-project.org/resources/demo/scene1.swf.

3.8 Programmiertools

Inzwischen gibt es einige Open Source sowie kommerzielle Produkte zur Ge-staltung von Ontologien für Semantische Webseiten.

3.8.1 Altova SemanticWorks 2007

Der XML Spezialist Altova brachte bereits sehr früh eine erste Version vonSemanticWorks auf den Markt. Das Tool besticht vor allem durch seine gra-fisch ansprechende Oberfläche sowie die Tatsache, dass Altova auf jahrelangeErfahrung im Bereich der XML-Entwicklung bauen kann.

Mit Altova SemanticWorks 2007 kann der Benutzer RDF-Instanzdokumente,3Weitere Informationen zu HERBIE finden sich bei [Gro07]4Mehr Informationen zu SEKT bei [Gro05]

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 44

3 WEB ONTHOLOGY LANGUAGE - OWL

RDFS-Vokabulare und OWL-Ontologien bei umfassender Sytax- und Seman-tiküberprüfung grafisch erstellen und bearbeiten. Über kontextsensitive Ein-gabehilfen steht ihm auf Basis des gewählten RDF- oder OWL-Dialekts eineListe zulässiger Auswahlmöglichkeiten zur Verfügung, sodass schnell und ein-fach gültige Dokumente erstellt werden können.

SemanticWorks 2007 bietet umfangreiche, benutzerfreundliche Funktionali-täten für die folgenden Aufgaben:

• Visuelle Erstellung und Bearbeitug von RDF, RDF Schema (RDFS),OWL Lite, OWL DL und OWL Full-Dokumenten mit Hilfe einer intui-tiven visuellen Benutzeroberfläche und Drag and Drop-Funktionalitäten

• Syntaxüberprüfung zur Sicherstellung der Konformität mit den RDF/XML-Spezifikationen

• Automatisches Generieren und Editieren von RDF/XML oder N-Triples-Formaten auf Basis eines visuellen RDF/OWL Designs.

• Drucken der grafischen RDF- und OWL-Darstellungen zur Erstellungder Dokumentation für Semantic Web-Implementierungen

Der Benutzer kann von der grafischen RDF/OWL-Ansicht in die Textansichtwechseln, um zu sehen, wie sein Dokument im RDF/XML- oder N-Triples-Format erstellt wird, und er kann seine Datei jederzeit von RDF/XML inN-Triples oder umgekehrt exportieren. Und da der RDF/XML- bzw. N-Triples-Code auf Basis seines Designs automatisch generiert wird, kann erdie Konzepte des Semantic Web lernen und damit experimentieren, ohnekomplizierten Code schreiben zu müssen.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 45

3 WEB ONTHOLOGY LANGUAGE - OWL

Abbildung 8: Ontologieerstelung mit Altova SemanticWorks 2007. Quelle:www.altova.com

3.8.2 Protégé

Ein Pendant zu kommerziellen Produkten stellt das an der Universität vonStanford entwickelte Protégé dar. Es zeichnet sich ebenfalls durch eine in-tuitive grafische Benutzeroberfläche aus und erlaubt das schnelle Erstellenkomplexer Ontologien. Für Protégé spricht die enorme Akzeptanz auf demMarkt: zahlreiche Projekte im Internet wurden bereits mit Protégé verwirk-licht.

Protégé ist ein frei verfügbares Open Source Framework zur Erstellung vonOntologien und Wissensrepräsentationen. Mit Protégé erstellte Ontologienkönnen in zahlreiche Formate exportiert werden, unter anderem in RDF(S),OWL und XML Schema.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 46

3 WEB ONTHOLOGY LANGUAGE - OWL

Da Protégé auf der Programmiersprache Java basiert ist es erweiterbar undfür viele Betriebssysteme erhältlich. Es hat sich inzwischen bereits eine großeCommunity um Protégé gebildet, welche das Programm in vielerlei Bereicheneinsetzt: dazu zählen akademische, politische und kommerzielle Produkte. DieEinsatzgebiete umfassen auch die Biomedizin, Künstliche Intelligenz und Fir-men interne Wissensnetze.5

Abbildung 9: Ontologieerstelung mit Protégé OWL. Quelle: prote-ge.stanford.edu

5Eine komplette Liste mit Projekten, die Protégé einsetzen findet sich unterhttp://protege.cim3.net/cgi-bin/wiki.pl?ProjectsThatUseProtege

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 47

4 AUSBLICK UND FAZIT

4 Ausblick und FazitDas Internet veränderte unser tägliches Leben wie kein anderes Medium.Die Weiterentwicklung des Web ist stetig und unaufhaltsam. Welche Rich-tung wird eingeschlagen? Welche Chancen und Risiken tun sich auf?

Derzeitiger Stand der Entwicklung

“Ich warte auf die Killerapplikation für RDF.”Sun-Stratege Hapner. Quelle: [IB03]

Die Übernahme des Internet durch Semantic Web Applikationen scheint sichnur sehr schleppend zu vollziehen. Der Begriff “Semantic Web” ist nun schonseit 1999 im Umlauf und Tim Berners-Lee tat schon frühzeitig seine Ge-danken zu diesem Thema kund. Entgegen aller gängiger Entwicklungen imInternet vollzieht sich der Wandel zur allwissenden und vernetzten Informa-tionsquelle jedoch eher träge. Das hängt nicht zuletzt damit zusammen, dassdie Technologie überaus schwierig zu verstehen ist. Die Entwicklung einervollständigen und richtigen Ontologie bedarf weitaus mehr Aufwand als dieProgrammierung einer HTML-Seite. Es müssen einfach zu bedienende Edi-toren geschaffen werden, die das Erstellen und Pflegen von Ontologien soeinfach wie möglich machen.Ein weiteres Manko ist das Fehlen einer herausragenden Applikation. Googleund Wikipedia initiierten das Web 2.0 und nun fehlt eine OWL-Anwendungvon solch großem Zuspruch, dass sie eine Wende zur Ontologie-Entwicklungauslöst.

Künftige Entwicklungen - ein Ausblick

Viele Projekte entstehen, die sich mit dem Thema Semantic Web ausein-ander setzen. Zu groß sind die Verlockungen des allwissenden Netzes vonInformationen. Trotzdem sehe ich einen sinnvollen Einsatz derzeit nur in derForschung und im akademischen Umfeld. Forscher mögen von den wissen-schaftlichen Errungenschaften anderer Forschungen profitieren, der Nutzenfür den normalen User erschließt sich jedoch noch nicht so ganz. Viele Fragensind weiterhin ungeklärt. Sicherheitstechnische Aspekte und das Vertrauen inWeb Agenten muss erst noch reifen, bevor es für den Massenmarkt tauglichist.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 48

4 AUSBLICK UND FAZIT

Fazit und persönliche Bewertung

Das Internet wie es heute ist, ist eine unüberschaubare Menge an unver-knüpfter Information geworden. Es bedarf einen immer höheren AufwandInformationen zu finden, obwohl sie mit hoher Wahrscheinlichkeit im Netzliegen. Demnach ist der Gedanke zur Verknüpfung bereits vorhandener In-formation ein Guter und folgerichtig. Trotzdem scheint die Vision eines un-glaublichen Wissensspenders doch sehr blauäugig zu sein. Unzählige Fragenbleiben offen. Existentielle Dinge wie die Datensicherheit und ein Sicherstel-len der Richtigkeit von Daten (Datenintegrität), durch die gewisse Schluss-folgerungen getroffen werden, wurden bisher kaum erwähnt oder gar gelöst.Die Entwicklung steckt in den Kinderschuhen und birgt immense Gefahren,wenn sie nicht reifen kann und vorzeitig in die Tat umgesetzt wird. Letztlichwird die rasante Entwicklung des Internet und die Akzeptanz der User ent-scheiden, ob sich das Semantische Web durchsetzen wird, oder ob es nichtein ewiger Wunschtraum bleiben wird.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 49

5 GLOSSAR

5 GlossarBegriff ErklärungCSS steht für Cascading Style Sheets und ist eine Technologie

zur Erweiterung von HTML um design-technische Aspekte.DAML+OIL DARPA Agent Markup Language: Erweiterung von RDFS

mit Zielsetzung eine ausdrucksstärkere und an denAnforderungen des Semantic Web ausgerichteteOntologiesprache zu erzeugen.

Dublin Core Die Dublin Core Metadata Initiative befasst sichmit der Annotation von Webseiten mit zusätzlicherInformation wie Autor, Titel, etc.

HERBIE Die Plattform HERBIE (Higher Education and ResearchBase for Information Exchange) stellt ein Wissens-Management-System zur verteilten Forschung dar.

HTML steht für Hyper Text Markup Language und stellt dieerste und erfolgreich etablierte Sprache zur Erstellungvon Webseiten dar.

Ontologie Zur Darstellung komplexer Wissensbeziehungen wirdin der Informatik der Begriff Ontologie verwendet.

OWL Kürzel für die Web Ontology Language, eine vom W3Cerarbeitete und zum Standard empfohlene Programmier-Sprache für semantische Internetseiten.

OWL DL Eine der drei Formen von OWL. Mit mittlerem Umfang.OWL Full OWL Form mit dem vollständigen Sprachumfang.OWL Lite Die OWL Form mit dem geringsten Sprachumfang.Protégé Eine an der Universität von Stanford entwickelter

grafischer Editor zur Erstellung von semantischenDokumenten (freeware).

RDF steht für Ressource Description Framework und ist einXML-basierter Standard zur Beschreibung von Ressourcenim Internet, Intranet und Extranet.

RDF Schema Ressource Description Framework Schema (RDFS)dient zum Erstellen von Vokabularen, die Gruppenverwandter RDF-Ressoucen und deren Beziehungenbeschreiben.

SEKT Das Projekt Semantically-Enabled Knowledge Technologieswird von der EU gefördert und hat den Zweck dergemeinschaftlichen Nutzung von Wissens und Information.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 50

5 GLOSSAR

Begriff ErklärungSemanticWorks Ein kommerzielles Produkt zur Gestaltung von

semantischen Webseiten der Firma Altova.Taxonomie Als Taxonomie werden Klassifikationen bezeichnet,

die eine hierarchische Struktur aufweisen.W3C Das World Wide Web Consortium berät und forscht in

Bereichen der Entwicklung des Internet und verabschiedetStandards.

Web 2.0 Als Web 2.0 bezeichnet man gerne moderne Internet-Technologien und Seiten, die auf das sozialeEngagement der Nutzer bauen.

WWW steht für World Wide Web und bezeichnet das Internetwie wir es heute kennen.

Wysiwyg steht für What You See Is What You Get und bedeutetsoviel wie: was man im Editor sieht spiegelt dasErgebnis wider.

XML Die eXtensible Markup Language ist ein Standard zurModellierung von strukturierten Daten in Form einerBaumstruktur.

XML Schema XML Schema ist eine Empfehlung des W3C zumDefinieren von XML-Dokumentstrukturen.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 51

LITERATUR

6 Literaturverzeichnis

Literatur[Alt07] Altova. Was ist das semantic web? http://www.altova.com/de/,

2007.

[Ame07] Scientific American. Semantisches web. http://www.sciam.com,18.04.2007.

[dNBG06] doubleSlash Net Business GmbH. Web 2.0 - aus alt mach neu?»slashUp« Das Magazin mit dem Blick für’s Wesentliche, Herbst2006.

[foE07a] Wikipedia Die freie online Enzyklopädie. Semantisches web.http://de.wikipedia.org/wiki/SemanticWeb, 18.04.2007.

[foE07b] Wikipedia Die freie online Enzyklopädie. Extensible markup lan-guage. http://de.wikipedia.org/wiki/Xml, 19.04.2007.

[Gro05] SEKT Group. Sekt (semantically-enabled knowledge technolo-gies). http://www.sekt-project.org, 2005.

[Gro07] HERBIE Group. Herbie (hybrid education and research base forinformation exchange). http://www.herbie-group.de, 2007.

[ho07a] heise online. Magix stellt multimediales ’online-betriebssystem’vor. http://www.heise.de/newsticker/meldung/86727,14.03.2007.

[ho07b] heise online. Studivz-nutzerdaten ausgespäht.http://www.heise.de/newsticker/meldung/86727, 27.02.2007.

[IB03] ZDNet Deutschland IT-Business. Semanti-sches web: Das bringt das netz der zukunft.http://www.zdnet.de/itmanager/tech/0,39023442,2138450,00.htm,06.08.2003.

[Kuh03] Markus Kuhnt. Ontologiesprachen im kontext des semantik web.Technical report, Universität Ulm, 05.02.2003.

[Tie07] Lucia Tietz. Das semantic web und seine realisierung mittels rdf.2007.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 52

LITERATUR

[(W304] World Wide Web Consortium (W3C).Owl web ontology language overview.http://www.semaweb.org/dokumente/w3/TR/2004/REC-owl-features-20040210-DE.html, 01.11.2004.

[(W306] World Wide Web Consortium (W3C).Owl web ontology language guide.http://www.semaweb.org/dokumente/w3/TR/2004/REC-owl-guide-20040210-DE.html, 12.04.2006.

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 53

ABBILDUNGSVERZEICHNIS

7 Abbildungsverzeichnis

Abbildungsverzeichnis1 Web 2.0 Begriffswolke . . . . . . . . . . . . . . . . . . . . . . . 62 Beispiele für sog. Web 2.0 Seiten . . . . . . . . . . . . . . . . . 63 myGoya Online Desktop - ein online Betriebssystem . . . . . . 84 Grafische Darstellung von RDF-Triples . . . . . . . . . . . . . 185 Beispiel einer hierarchischen Baumstruktur . . . . . . . . . . . 206 Grafische Veranschaulichung einer OWL Ontologie . . . . . . . 257 Die verfügbaren Sprachkonstrukte in OWL . . . . . . . . . . . 268 Ontologieerstelung mit Altova SemanticWorks 2007 . . . . . . 469 Ontologieerstelung mit Protégé OWL . . . . . . . . . . . . . . 47

Hausarbeit Semantic Web, Manuel Kaess (AI15188) 54