Beruflich Dokumente
Kultur Dokumente
Hochschule Darmstadt
- Fachbereich Informatik -
Ingénierie et Intégration Informatique –
Systèmes d‘Information III-SI
vorgelegt von
Christian Hesse
Sommersemester 2010
JURY
Vorsitz: I. COMYN-WATTIAU (CNAM, Paris)
Cédric KLEINPETER, Jean-Pierre IGOT
Urs ANDELFINGER, Johannes ARZ, Bernhard HUMM,
Inge SCHESTAG, Alois SCHÜTTE, Hans-Peter WIEDLING
Erklärung
Ich versichere hiermit, dass ich die vorliegende Arbeit selbständig verfasst und keine
anderen als die im Literaturverzeichnis angegebenen Quellen benutzt habe.
Alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten oder noch nicht veröffentlichten
Quellen entnommen sind, sind als solche kenntlich gemacht.
Die Zeichnungen oder Abbildungen in dieser Arbeit sind von mir selbst erstellt worden oder mit
einem entsprechenden Quellennachweis versehen.
Diese Arbeit ist in gleicher oder ähnlicher Form noch bei keiner anderen Prüfungsbehörde
eingereicht worden.
________________________
Christian Hesse
THEMA: REASONING TOOLS FÜR DAS SEMANTIC WEB
Für Tim Berners-Lee, den Vater des World Wide Web, ist das Semantic Web der nächste,
entscheidende Schritt des WWW hin zu einer weltumspannenden Informationsplattform. Nicht
mehr menschenlesbare Webseiten stehen im Fokus, sondern semantische Information, die von
elektronischen Agenten ausgewertet werden können. Entsprechend konsequent wurde vom
World Wide Web Consotium (W3C) mit RDF, RDFS und OWL die Standardisierung von
Sprachen für das Semantic Web vorangetrieben.
Die Semantic Web Technologien erlauben, Wissen zu repräsentieren und Schussfolgerungen
aus dem repräsentierten Wissen zu ziehen. Schlussfolgern (Reasoning) erlaubt die Ableitung
von neuem Wissen aus bekanntem nach Regeln der Logik. Im Gebiet der Künstlichen
Intelligenz (KI), in das sich die Semantic Web Technologien einordnen lassen, wurden in den
letzten 50 Jahren fundamentale Reasoning Konzepte entwickelt. Das regelbasierte Schließen
(Rule-Based Reasoning) nimmt hier eine besondere Stellung ein.
In dieser Arbeit sollen Reasoning-Konzepte mit einem Fokus auf Rule-Based Reasoning
vorgestellt werden. Darauf aufbauende Sprachen sollen dargestellt werden. Der Fokus hier soll
auf Sprachen liegen, die mit den Semantic Web Technologien kompatibel sind. Schlussendlich
sollen Werkzeuge (Tools) vorgestellt werden, welche diese Sprachen unterstützen. Der Fokus
hierbei soll auf Open Source Werkzeugen liegen oder auf kommerziellen Werkzeugen, für die
auch kostenlose Versionen verfügbar sind.
Today the World Wide Web contains almost every information we can imagine.
Every second this huge repository of data is growing. Since the Web had been
enforced to be more interactive and usable (introduction of Web 2.0), the rate of
adding information to it has increased rapidly. This information is usable for users
of the web, but not interpretable by a machine. The focus of the semantic web is
to represent this data in a way that is also processable by machines. To achieve
these, the W3C has published recommendations like RDF, RDFS and OWL. But
these technologies allow not only storing information in a machine processable
format, it´s also possible to add additional data and descriptions about an informa-
tion (knowledge). These knowledge representations can also be used to generate
new knowledge, which is not explicit mentioned in the representation (reasoning).
The purpose of this paper is to expose the differences between these standards
and reasoning technologies, but also to present some popular reasoners and tri-
ple stores (RDF databases) with their advantages and disadvantages. At the end
of the draft there is a chapter which focuses on the usage of semantic technolo-
gies today and in the next generation of the Web (Web 3.0). The supplement of
this document contains information about the tools mentioned in the text, which
enable the reader to get a first overview about them.
1
Zusammenfassung
Heutzutage enthält das World Wide Web fast jede nur vorstellbare Information.
Jede Sekunde wächst der riesige Informationsspeicher. Seitdem das Web benut-
zerfreundlicher und interaktiver geworden ist (Einführung von Web 2.0 Technolo-
gien), steigt die Geschwindigkeit in welcher neue Informationen ergänzt werden
rapide an. Diese Informationen sind für die Benutzer des Web nützlich, jedoch
von Maschinen nicht interpretierbar. Der Ansatz des Semantic Web ist nun, diese
Informationen in einer auch von Maschinen auswertbaren Form zu repräsentie-
ren. Um dies zu erreichen wurden vom W3C eine Reihe von Empfehlungen wie
z.B. RDF, RDFS und OWL veröffentlicht. Diese Technologien ermöglichen es je-
doch nicht nur die Informationen in einer von Maschinen interpretierbaren Form
abzulegen, sondern schaffen auch eine Möglichkeit diese weiter zu beschreiben
und zusätzliche Informationen anzufügen (Wissen). Die so entstehende Wissens-
repräsentation eignet sich ebenfalls, um neues Wissen, welches nicht explizit vor-
handenes ist, von bereits existierendem abzuleiten (Reasoning / Schlussfolgern).
Inhalt dieser Arbeit ist es, gängige Standards und Reasoning Verfahren, aber
auch die Vorzüge und Nachteile verschiedener Reasoner und Triple Stores (RDF
Datenbanken) vorzustellen. Das letzte Kapitel der Ausarbeitung beschäftigt sich
mit der aktuellen Verwendung und dem Einsatz von semantischen Technologien
in der nächsten Generation des Web (Web 3.0). Der Anhang dieses Dokumentes
enthält Informationen über die im Text erwähnten Werkzeuge, welche dem Leser
einen schnellen Überblick über diese verschaffen.
2
Inhaltsverzeichnis
1 Einführung 7
1.1 Semantic Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Ontologie(n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Basistechnologien im Semantic Web . . . . . . . . . . . . . . . . . 10
1.3.1 RDF - resource description framework . . . . . . . . . . . . 11
1.3.2 RDF/XML - Serialisierung von RDF in XML . . . . . . . . . 12
1.3.3 RDF/N3 - Serialisierung von RDF in Notation 3 . . . . . . . 12
1.3.4 RDF Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.5 OWL - Web Ontology Language . . . . . . . . . . . . . . . 13
1.3.5.1 OWL Full . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.5.2 OWL DL . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.5.3 OWL Lite . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.6 OWL2 - Web Ontology Language Version 2 . . . . . . . . . 15
1.3.6.1 OWL2 EL . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.6.2 OWL2 QL . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.6.3 OWL2 RL . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Proof and Trust im Semantic Web . . . . . . . . . . . . . . . . . . . 16
3
Inhaltsverzeichnis
4
Inhaltsverzeichnis
7 Anhang 41
7.1 Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.1.1 Triple Stores im Vergleich . . . . . . . . . . . . . . . . . . . 41
7.1.2 Reasoner im Vergleich . . . . . . . . . . . . . . . . . . . . . 42
7.1.3 Triple Store Benchmark . . . . . . . . . . . . . . . . . . . . 42
7.1.4 Komplexitätsklassen von OWL2 . . . . . . . . . . . . . . . . 43
7.1.5 Verwendete Software . . . . . . . . . . . . . . . . . . . . . 43
7.2 Abbildungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.2.1 Abbildung A: Schichtmodell der W3C Technologie . . . . . 44
7.2.2 Abbildung B: Die Struktur von OWL 2 . . . . . . . . . . . . 45
7.2.3 Abbildung C: Vergleich Triple Stores im Benchmark . . . . 45
7.3 Beispiel Ontologien . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.3.1 Ontologie A . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Literaturverzeichnis 47
5
Abbildungsverzeichnis
6
1 Einführung
die Tatsache das eine Information im Internet vorhanden und recherchierbar ist
zur Befriedigung unseres Anspruchs an moderne Informationsgewinnung wirklich
noch aus, oder wollen wir uns dieser Information einfacher bedienen können? Die
aktuelle Erwartung des Internetnutzers ist geprägt von seinen bisherigen Erfah-
rungen. So ist es für Ihn selbstverständlich, dass eine Suche notwendig ist, um
die Informationen im Internet für sich nutzbar zu machen. Was wäre jedoch wenn
die Suchmaschine dem Nutzer immer die Antwort auf seine Frage geliefert hätte?
Wäre er dann immer noch bereit dazu Zeit in die eigene Recherche zu stecken?
Doch was ist notwendig um eine derart komplexe Aufgabe zu realisieren? Welche
Voraussetzungen müsste das Internet erfüllen, damit Suchmaschinen derartige
Herausforderungen bewältigen könnten? Um diese Frage ausreichend beantwor-
ten zu können, ist es notwendig einige der auftretenden Probleme darzustellen.
Grundlegend ursächlich ist die fehlende Semantik bzw. die unklare Struktur der
im Internet verfügbaren Informationen. Jeder Betreiber einer Internetseite kann
seine Daten individuell, jedoch aber unter Beachtung von gewissen Syntaxen,
präsentieren. Die nützlichen Informationen sind nun also für die gewünschte Ziel-
gruppe zugänglich, jedoch in einer nicht direkt vom Computer oder dem Agenten1
interpretierbaren Form. Obgleich für uns als Betrachter einer Informationsquelle
die Aussagen „Herr Müllers neuer PKW ist blau“ und „Der neue Wagen von Karl
Müller ist sehr schön.“ einen gleichen Teilinhalt in sich tragen (nämlich: Karl Müller
besitzt ein neues Auto), so ist dieser Umstand für einen Agenten noch lange nicht
gegeben. Als Fazit hieraus ergibt sich die Notwendigkeit diese Informationen in ei-
nem, wie auch immer dieser aussehen könnte, geeigneten Informationsspeicher
bereitzustellen. In seinem Leserbrief „What the Semantic Web Won’t Do“ grenzt
Tim Bernes-Lee, der „Erfinder“ des World Wide Web dieses vom Semantic Web
wie folgt ab:
The World Wide Web contains documents intended for human con-
sumption, and those intended for machine processing. The Semantic
Web will enhance the latter. The Semantic Web will not understand hu-
man language. The Semantic Web is about machine languages: well-
defined, mathematical, boring, but processable. Data, not poetry.[27]
1
Computerprogramm, welches häufig autonome, proaktive, reaktive und soziale Aspekte besizt
und Lernfähigkeit implementiert
8
1 Einführung
Das Semantic Web kann also als eine technische Plattform angesehen werden,
die für den Benutzer aus dem Hintergrund heraus agiert, jedoch einen enormen
Mehrwert mit sich bringt. Die sich aus den Möglichkeiten ergebenden Einsatzge-
biete wachsen ständig. Es gibt zahlreiche Forschungsprojekte, die sich mit der
Nutzung von semantischen Technologien in den verschiedensten Disziplinen be-
schäftigen. An der Hochschule Darmstadt beispielsweise startete im Sommerse-
mester 2010 das Projekt „KINO“. Ziel des Projektes ist es, auf Basis von seman-
tisch integrierten Informationen, Werkzeuge zum effizienten logischen Schlussfol-
gern zu entwickeln.
1.2 Ontologie(n)
Um die Informationen im Semantic Web verwalten zu können, bedarf es einem
geeigneten Format. Wie bereits festgestellt wurde, ist es wichtig Informationen
semantisch einheitlich zu speichern, jedoch in einer Form, die es erlaubt Zusam-
menhänge ableiten zu können. Das Ableiten von neuen Informationen aus bereits
bekannten wird auch als Schließen, Inferenz oder Reasoning bezeichnet. Um al-
so Reasoning betreiben zu können, muss den Daten noch ein Wissen über Zu-
sammenhänge hinzugefügt werden. Zu diesem Zweck bedient sich die Informatik
hier der so genannten Ontologie. Eine Ontologie beschreibt eine knowledge do-
main2 mit Hilfe einer standardisierten Terminologie. Hinzu kommen Beziehungen
und Ableitungsregeln der dort definierten Begriffe. Als Basis für das gemeinsame
Vokabular dient in der Regel eine so genannte Taxonomie. Sie enthält Klassen,
Relationen, Funktionen und Axiome. Eine Ontologie in der Informatik ist auf einen
Wissensbereich beschränkt. Diese Notwendigkeit ergibt sich aus der Tatsache,
dass verschiedene Wissensbereiche ein unterschiedliches Fachvokabular bedin-
gen. Somit ist die Vorstellung einer gemeinsamen Ontologie (welche sämtliches
Wissen enthält) eher als unrealistisch zu betrachten. In seinem Bericht „Ontolo-
gie(n)“ schlägt Prof. Dr. Wolfgang Hesse wie folgt die Verwendung des Plurals
„Ontologien“ vor:
Doch welche konkreten Vorteile ergeben sich nun aus der Verwendung von On-
tologien im Semantic Web? Hier kann unter anderem die Steigerung der Inter-
operabilität genannt werden: Kommuniziert zum Beispiel eine Suchmaschine mit
einem WebService ohne Zugang zu einer gemeinsamen Ontologie, so muss eine
gemeinsame Interpretationsvorschrift für die Daten existieren. Steht jedoch eine
gemeinsam nutzbare Ontologie zur Verfügung, kann die Interpretationsvorschrift
entfallen, da die Daten für beide Seiten eindeutig sind. Einen weiteren Vorteil stellt
die Möglichkeit der direkten Inferenz auf Basis des in der Ontologie enthaltenen
Wissens dar.
3
eXtensible Markup Language
4
Standard Generalized Markup Language
5
World Wide Web Consortium
6
Dokumententyp-Deklaration - formale Definition der Dokumentenstruktur
10
1 Einführung
lich zu der rasanten Verbreitung des Standards beigetragen. Trotz der Effizienz
von XML, DTD und XML Schema sind diese alleinstehend im Kontext des Se-
mantic Web als nicht ausreichend effektiv anzusehen. Das Semantic Web ist auf
komplexe Wissensrepräsentationen angewiesen, welche sich mit den bisherigen
Standards nicht in der benötigten Form abbilden lassen. Hierzu wurden vom W3C
zusätzliche Standards wie zum Beispiel RDF, RDFS und OWL spezifiziert.
7
Reifikation: Objekt eines RDF Tripel kann wiederum ein Triple sein (Aussagen über Aussagen)
11
1 Einführung
12
1 Einführung
Eigenschaften:
Mit Hilfe der neuen Elemente ist es möglich das vorherige Beispiel zu erweitern.
Die Ressource Hochschule kann nun mit rdf:subClassOf Bildungseinrichtungen
zum Beispiel als ein Bildungseinrichtung definiert werden.
13
1 Einführung
Abbildung 1.2: Web Ontology Language - Die Hierarchie der Entitäten [25]
1.3.5.2 OWL DL
OWL DL8 hat zum Ziel die maximale im Reasoning noch entscheidbare Menge an
Konstrukten zu erlauben. Hierzu trennt die Sprache DL strikt zwischen Klassen
(owl:Class) und Instanzen (owl:Thing). Damit ist es nicht mehr möglich, dass eine
Instanz einer Klasse wiederum eine Klasse ist. Auf die Benutzung von RDFS
Konstrukten sollte hier verzichtet werden (good practice). Die Komplexität von
OWL DL liegt in NEXPTIME.
8
Description Logic
14
1 Einführung
Abbildung 1.3: Web Ontology Language 2 - Die Hierarchie der Entitäten [26]
15
1 Einführung
1.3.6.1 OWL2 EL
Das Profil EL richtet seinen Fokus auf Ontologien, welche eine große Menge von
Eigenschaften und Klassen beinhalten. Es basiert auf der Beschreibungslogik
EL + +. Die Taxonomie entspricht der Komplexitätsklasse PTIME.
1.3.6.2 OWL2 QL
Im Profil QL fokussiert die Web Ontology Language 2 Anwendungen, welche
mit einer großen Menge von Instanzen arbeiten. Hierfür unterstützt das Profil
die Einbindung von relationalen Datenbanken. Seine Taxonomie entspricht der
Komplexitätsklasse NLogSpace.
1.3.6.3 OWL2 RL
Mit RL schafft die OWL 2 ein Profil, welches auf die Verwendung mit regelbasierte
Systeme zugeschnitten ist. Die Implementierung ist verhältnismäßig einfach, da
zur Definition von Regeln OWL Axiome dienen. Die Taxonomie des Profils verfügt
über eine Komplexität von PTIME.
9
Strategien zum Beweis oder Wiederlegen von Aussagen
10
Strategien zur Schaffung einer Vertrauensstellung
16
1 Einführung
dem Agenten die Möglichkeit die Glaubwürdigkeit einer Aussage anhand eines
Herausgebers einzustufen.[15]
17
2 Reasoning: Methoden zur
Inferenz
Die Verknüpfung der im Web enthaltenen Fakten mit den dazugehörigen Bedeu-
tungen stellt die Grundlage des Semantic Web dar. Was nun noch fehlt sind Tech-
niken, um dieses Wissen intelligent bewerten und interpretieren zu können. Hier
kommen nun Verfahren der Inferenz, also Reasoningtechnologien, zum Einsatz.
Das Reasoning1 ist jedoch keine Erfindung des Semantic Web, sondern ein Be-
reich der künstlichen Intelligenz. Der folgende Teil der Arbeit beschäftigt sich mit
den Grundlagen, Methoden und Anwendungen des Reasonings.
1
Reasoning: Schließen, Schlüsse ziehen
18
2 Reasoning: Methoden zur Inferenz
stigsten Preis für ein bestimmtes Produkt. Diese ist in der CWA entscheidbar, in
einer OWA jedoch niemals. Es kann nie ausgeschlossen werden das das Produkt
noch irgendwo günstiger verfügbar ist, was jedoch für den praktischen Einsatz
(z.B. in einem Preisvergleichs-Portal) nicht akzeptabel ist.
2.2 Komplexitätsklassen
Die Analyse von Algorithmen und die O() Notation ermöglicht es, über die Effi-
zienz eines bestimmten Algorithmus zu sprechen. Die Komplexitätsanalyse ana-
lysiert Probleme (nicht Algorithmen) und ordnet diesen Komplexitätsklassen zu.
Unterschieden werden u.a.:
2
Instanzen einer Klasse (z.B. Karl Müller als Instanz des Konzept Mensch)
3
Klassen bzw. Begriffe (z.B. Mensch, Fahrzeug, ..)
19
2 Reasoning: Methoden zur Inferenz
2.4 Inferenzverfahren
Inferenzverfahren bilden die Schlüsseltechnologie zur Implementierung moder-
ner Reasoning-Algorithmen. Je nach gegebenen Fakten, Resultaten und Geset-
zen kommen verschiedene Verfahren zum Einsatz. Im Folgenden werden drei
Inferenzverfahren, nämlich die Deduktion, Induktion und Abduktion vorgestellt.
2.4.1 Deduktion
Eine Deduktion ist die Anwendung von allgemeinen Regeln auf Fakten. Sie hat
somit den Charakter einer „Wenn -> Dann“ Schlussfolgerung und besitzt eine
gegebene Notwendigkeit. Gehen wir also zum Beispiel von der Regel „Alle Ford
Modell T sind schwarz “ und der Aussage „Tina besitzt einen Ford Modell T“ aus,
so kann ein gültiger deduktiver Schluss „Tinas Auto ist schwarz“ lauten.
2.4.2 Induktion
Die Induktion ist ein synthetisches Verfahren und versucht auf Basis von Resul-
taten und Fällen die dazugehörigen Gesetzmäßigkeiten zu bestimmen. Geset-
ze die durch Induktion bestimmt wurden müssen nicht allgemein gültig sein, da
diese nur auf den bekannten Fakten und Resultaten beruhen. Ein Beispiel: Eine
Ontologie kennt 10.000 Ford des Modell T. Diese werden in verschiedensten Aus-
sagen verwendet. Zu 9.000 dieser 10.000 Autos ist eine Farbinformation, nämlich
„schwarz“, hinterlegt. Bei den restlichen 1000 Ford T wurde kein Farbwert hin-
terlegt. Somit sind alle in der Ontologie bekannten Ford Modell T, die über eine
hinterlegte Farbeigenschaft verfügen, schwarz. Zusätzlich existiert noch die Aus-
sage „Tina Maier fährt einen Ford Modell T“. In der Ontologie ist kein Farbwert für
den Ford T von Tina hinterlegt. Durch Induktion ist es nun möglich die Farbe von
Tinas Auto herzuleiten, nämlich schwarz. Ein wichtiger Unterschied zur Deduktion
stellt die Tatsache dar, das neu in der Ontologie eingetragene Informationen den
Schluss ungültig machen können. Würde nur ein Ford Modell T mit einer Farbe
ungleich schwarz eingetragen, würde der Schluss seine Gültigkeit verlieren.
2.4.3 Analogieschluss
Das Analogieschlussverfahren ist eine Sonderform der Induktion. Auch dieses
Verfahren untersucht das Wissen einer Ontologie, jedoch im Bezug auf die Ana-
20
2 Reasoning: Methoden zur Inferenz
logie von Aussagen. Ein Beispiel: Geben sind die folgenden Fakten: „Ein Auto
kann eine Person befördern“, „Ein Auto ist ein Verkehrsmittel“ und „Ein Bus kann
eine Person befördern“. Hieraus kann nun der folgende Analogieschluss gezogen
werden: „Ein Bus ist ein Verkehrsmittel“. Selbstverständlich benötigt auch dieses
Verfahren, genau wie die Induktion, eine große Menge an Wissen in der Onto-
logie um eine ausreichende Zuverlässigkeit im Wahrheitsgehalt der Schlüsse zu
erreichen.
2.4.4 Abduktion
Auch die Abduktion ist synthetisch. Sie schließt aus einem bekannten Resul-
tat auf einen möglichen Fall und ein mögliches Gesetz. Die Abduktion ist das
Schlussverfahren mit dem höchsten Fehlerrisiko, da von einem Bekannten (näm-
lich dem Resultat) auf zwei Unbekannte geschlossen wird. Als Beispiel kann auch
hier die Aussage „Karl Müller fährt ein schwarzes Auto“ angesehen werden. Eine
mögliche abduktive Lösung wäre nun, von dem Gesetz „Alle Ford Modell T sind
schwarz“ auf „Karl Müller fährt ein Ford Modell T“ zu schließen. Ohne großen Auf-
wand ist zu erkennen, wie gering die Wahrscheinlichkeit eines wahren Schlusses
ist, dennoch ist der abduktive Schluss gültig. Bei der Abduktion sind meist meh-
rere Lösungen möglich, wobei einer der Lösungen durch Logik (Abwägung) ein
Vorrang gewährt wird.
21
2 Reasoning: Methoden zur Inferenz
Information (nämlich das nicht blaue Objekt) widerlegt also den zuvor gültigen
Schluss.
22
2 Reasoning: Methoden zur Inferenz
23
3 Regel- und Anfragesprachen
3.2 Regelsprachen
Trotz der Ausdrucksmächtigkeit der Web Ontology Language, ist es teilweise nö-
tig diese mit Hilfe von Regelsprachen zu erweitern um generelle Gesetzmäßig-
keiten einfacher ausdrücken zu können (z.B. Erwachsene sind Personen >= 18).
24
3 Regel- und Anfragesprachen
Auch ist es mit Hilfe von Regelsprachen möglich, Regeln unter Anwendungen zu
tauschen (z.B. Geschäftsregeln). Im Folgenden werden wichtige Grundideen im
Bezug auf Regelsprachen vorgestellt.
3.2.1 Regeltausch
Um einen standardisierten Regeltausch zwischen den verschiedenen Regelspra-
chen und Inferenzsystemen zu ermöglichen, wurde 2005 vom W3C mit der Ent-
wicklung eines hierfür geeigneten Formates, dem RIF (Rule Interchange Format)
begonnen.[27] Unabhängig von den Bemühungen des W3C einen Standard zu
finden, wurde im von der EU geförderten Projekt REWERSE (Working Group
I1) bereits das Regelaustauschformat R2ML entwickelt. Die R2ML stellt ein ver-
ständliches, benutzerfreundliches und auf XML basierendes Regelformat dar.[9]
25
3 Regel- und Anfragesprachen
3.3 Anfragesprachen
3.3.1 SPARQL
Die Protokoll- und Anfragesprache SPARQL wurde am 15.01.2008 vom W3C als
Empfehlung freigegeben.[24] Trotz großer Unterschiede erinnert die Sprache rein
optisch und in Teilen ihrer Syntax an SQL. Es gibt vier unterschiedliche Formen:
SELECT: Liefert direkt Variablen oder deren Bindungen zurück.
CONSTRUCT: Konstruiert, mit Hilfe des bei der Anfrage verwendeten Graph
Template, durch Ersetzen von Variablen einen neuen Graphen.
ASK: Liefert ein boolsches Ergebnis zurück, ob eine Anfrage ein Ergebnis liefern
würde.
DESCRIBE: Liefert einen einzigen RDF Graphen zurück, welcher die gefunde-
nen Ressourcen beschreibt.
Die Sprache wird von den meisten gängigen Semantic Web Tools unterstützt und
verfügt über eine einfache Syntax. Beispiel einer SELECT Anfrage:
1 PREFIX ex1 : < h t t p : / / h_da . de / ex1 . owl#>
2 SELECT ? class
3 WHERE {
4 ? class r d f : type ex1 : C i t y .
5 ? class ex1 : hasConnection ex1 : S e l i g e n s t a d t
6}
26
3 Regel- und Anfragesprachen
27
4 Tools: Reasonern für das
Semantic Web
1
Incremental Reasoning: Updates der Wissensbasis werden direkt verarbeitet, Wiederverwen-
dung von Informationen
28
4 Tools: Reasonern für das Semantic Web
2
FZI: Forschungszentrum für Informatik, Karlsruhe
3
AIFB: Institut für Angewandte Informatik und Formale Beschreibungsverfahren, Karlsruhe
29
4 Tools: Reasonern für das Semantic Web
doch eine kostenlos zugängliche Version für Studenten und Mitarbeiter von Hoch-
schulen. Der Reasoner arbeitet nach dem Tableau-Verfahren und stellt neben
dem DIG4 Interface noch Interfaces für Java und Lisp zur Verfügung. Er unter-
stützt für Regeln den SWRL Standard und das eigene Format nRQL. Ebenfalls
implementiert er die Anfragesprachen SPARQL und OWL-QL. Die Racer eigene
Sprache nRQL unterstützt die Verwendung von Regeln in einer „Makro ähnlichen
Form“. Diese bedeutet, dass einer Regel ein Name zugewiesen werden kann.
Somit ist die Verwendung einer Regel zur Definition einer neuen Regel möglich
(Referenzierung).
4.6 Prolog
Prolog wurde Anfang der 70er Jahre vom französischen Informatiker Alain Col-
merauer entwickelt und stellt die wichtigste logische Programmiersprache dar.
Die Sprache existierte in den Anfängen in unterschiedlichen Implementierungen
und wurde 1995 in der ISO Norm ISO/IEC 13211-1 standardisiert. Die Grundla-
ge eines Prolog Programmes bildet die Datenbasis, welche Fakten und Regeln
enthält. Das eigentliche Programm ist eine geordnete Liste, die Horn Klausen
enthält. Prolog basiert auf der Closed World Assumption. Sie kann auch im Kon-
4
standardisiertes XML Interface zu Description Logic Systemen
5
SNF: simplified normal form (vereinfachte Normalform)
30
4 Tools: Reasonern für das Semantic Web
text des Semantic Web für Reasoning Aufgaben verwendet werden. Hierzu gibt
es Implementierungen wie die Semantic Web Library für SWI-Prolog oder den in
AllegroGraph integrierten Prolog Interpreter AllegroProlog.
6
Prüfung der Ontologie auf widersprüchliche Fakten.
7
Jede Klasse muss in min. einer Interpretation eine nicht leere Menge ergeben.
8
Berechnen der kompletten Klassenhierarchie.
9
Bestimmen der direkten Typen eines Individuum anhand der Klassenhierarchie
31
4 Tools: Reasonern für das Semantic Web
aus dem Reasoner Kaon hervorgegangener Reasoner, welcher nach dem Re-
solutionsverfahren arbeitet. Das Verfahren reduziert hierbei die Wissensbasis in
ein Datalog Programm, welches gut und schnell verarbeitet werden kann. Jeder
Reasoner hat spezifische Vor- und Nachteile, welche projekt- bzw. ontologiespe-
zifisch abzuwägen sind. Wichtige Kriterien für die Auswahl eines Reasoners soll-
ten jedoch immer dessen Lizenzierung, die zugrundeliegende Ontologie (Kom-
plexität, Größe) und die an diese Ontologie gerichteten Anfragen (Art, Menge,
Komplexität) sein. Eine weitere Möglichkeit des Reasonings ist die Verwendung
von Prolog, einer bewährten Logiksprache. Prolog bietet zwar keine direkte Un-
terstützung für semantische Technologien, jedoch gibt es zahlreiche Semantic
Web Tools, welche Prolog in Anfragen unterstützen oder sonstige Schnittstellen
für Prolog zu Ontologien schaffen. Viele dieser Implementierungen (z.B. Allegro-
Graph) arbeiten sehr performant und sind ideal für den Einsatz mit großen Wis-
sensrepräsentationen.
32
5 Tools: Triple Stores als Persistenz
5.1 AllegroGraph
AllegroGraph ist ein kommerzieller (freie Version für max. 50 Millionen Triple ver-
fügbar), nativer Triple Store, der gerade bei große Datenmengen noch sehr per-
formant arbeitet. Er verfügt über ein Java Interface, welches eine Unterstützung
für SPARQL, RDFS++ und Prolog Reasoning implementiert. Zusätzlich sind un-
ter anderem noch ein Social Network Analyser sowie AGWebView (Access Triple
Data via Webbrowser) und Gruff (Grapher based Triple Store Browser) im Liefer-
umfang enthalten. Auch stellt AllegroGraph Schnittstellen zu C#, Lisp und Python,
sowie ein Interface zum Jena Framework zur Verfügung. Er integriert den Rea-
soner RacerPro der Firma Racer GmbH & Co KG und wird somit um weitere
Features wie SWRL und ein DIG Interface bereichert. Zur einfachen Verwaltung
kann der TopBraid Composer genutzt werden, der ab Version 3.2 das Allegro-
Graph Plugin direkt integriert hat.
33
5 Tools: Triple Stores als Persistenz
34
5 Tools: Triple Stores als Persistenz
eignet sich für sehr große Projekte und zeichnet sich durch seine hohe Perfor-
mance und die Kompatibilität zu SQL aus. Hierdurch lassen sich der Triple Store
für die Ontologie(n) und relationale Datenbanken in einer Infrastruktur integrieren
und gemeinsam nutzen.
5.4 Virtuoso
Virtuoso Universal Server ist ein kommerzieller Hybrid-Datenbankserver, der ein
RDBMS (relational), einen Triple Store (RDF Graph) und ein Dokumenten Ma-
nagement System (Volltext) integriert. Zusätzlich ist der Server in einer Open
Source Edition erhältlich, welche über einige funktionale Einschränkungen ver-
fügt (siehe Anhang). Die Komponenten Virtual Database Engine (VDE), Unified
Storage Engine (USE) und Virtual Application Server (VAS) bilden zusammen
die Server Applikation. Die Virtual Database Engine beinhaltet alle Schnittstel-
len welche den Austausch von Daten über zahlreiche Formate (ODBC, JDBC,
XML, RDF und WebServices) ermöglicht. Die Komponente Unified Storage Engi-
ne erlaubt es XML, RDF sowie SQL und Freitext-Daten zu speichern und abzuru-
fen. Ebenfalls bietet die Komponente Möglichkeiten zur Interaktion mit Web Data
Sources (Googlebase, Amazon, eBay, ...) und Data Spaces (Webblogs, Wikis, ...)
an. Eine weitere Komponente des Systems ist der Virtual Application Server, wel-
cher Schnittstellen zu Java, Microsoft .NET und C/C++ anbietet. Für den Zugriff
auf den Virtuoso Universal Server werden unter anderem die Protokolle ODBC,
JDBC, SPARQL, HTTP / WebDAV und SOAP unterstützt. Virtuoso verfügt über
35
5 Tools: Triple Stores als Persistenz
einen internen RDFS / OWL Reasoner, der jedoch nur Teile der Spezifikation ab-
deckt. Auch ist ein Reasoning nur auf den nativ als RDF gespeicherten Tripeln
möglich. Aus relationalen Datenquellen erzeugte RDF Views werden für das Re-
asoning nicht berücksichtigt.
Trotz der auf der Homepage des Projektes erwähnten guten Skalierbarkeit von
Jena SDB, kann sich die Datenbank bei größeren Datenbeständen nicht mit nati-
36
5 Tools: Triple Stores als Persistenz
ven Triple Store Systemen messen[1]. Jedoch entstehen durch die Nutzung eines
externen Datenbanksystems auch Vorteile, da die dort bereits implementierten
und bewährten Technologien (Balancing, Security, Backup, Clustering, etc.) im-
plizit zur Verfügung stehen.
Die native TDB arbeitet hingegen auch bei großen Datenbeständen noch sehr
performant und ist nicht auf externe Datenbanken angewiesen. Der Triple Store
ist vollständig in Java implementiert, nicht transaktionsorientiert und läuft nur auf
Einzelsystemen (kein Clustering, etc.).
37
5 Tools: Triple Stores als Persistenz
38
6 Ausblick: Reasoning im Semantic
Web
Diese Arbeit hat sich bisher mit der technischen und theoretischen Seite des Se-
mantic Web beschäftigt. Nun möchte ich noch auf die praktischen Aspekte und
zukünftigen Chancen, die das Semantic Web bringt, eingehen. Im Rahmen mei-
ner Recherchen, die zur Erstellung dieser Arbeit notwendig waren, wurde ich häu-
fig mit einer sehr weit verbreiteten falschen Erwartungshaltung konfrontiert. Viele
Nutzer stellen sich unter dem Begriff „Semantic Web“ eine neue Generation des
Internets vor, die mit einer Art Innovationssprung vergleichbar ist. So vermuten
viele vollständig neue Bedienkonzepte und Oberflächen hinter dem Begriff. Auch
wird teilweise die Einführung des Semantic Web zu einem bestimmten Termin er-
wartet. Die Realität unterscheidet sich jedoch stark von diesen Erwartungen. So
sind schon heute zahlreiche semantische Implementationen im Web verfügbar -
und die Anzahl der populären Anwendungen wächst. So startete Google 2009
den Dienst „Squared“ und Microsoft beginnt mit der Entwicklung der „Microsoft
Semantic Engine“. Doch warum nimmt niemand von den semantischen Techno-
logien Kenntnis? Der Grund hierfür ist einfach, denn semantische Technologien
bleiben im Hintergrund verborgen - für den Benutzer nicht als „Semantic Web“
erkennbar. Auch wird Semantic Web häufig als das Web 3.0 bezeichnet oder gar
mit dem Web 2.0 verwechselt. Während Letzteres das Ziel der gesteigerten In-
teraktion, Anpassungsfähigkeit und Integration von sozialen Aspekten verfolgt, so
bereitet das Semantic Web die Informationen in einer Art auf, die es uns ermög-
licht das Wissen zu interpretieren und sogar auf nicht vorhandenes Wissen zu
schließen. Doch wo kommt nun das Web 3.0 ins Spiel? Aufgrund vieler verbreite-
ter Definitionen des Jargonausdruckes, ist es schwer eine definierte Antwort auf
diese Frage zu finden. Die am weitesten verbreitete Definition stellt das Web 3.0
als eine Kombination aus dem Semantic Web und dem Web 2.0 zu einem „Social
39
6 Ausblick: Reasoning im Semantic Web
Semantic Web“ dar. Häufig wird daher in der letzen Zeit von der Literatur eher die-
se Begrifflichkeit genutzt, da diese einer eindeutigen Definition zuzuordnen ist. Im
Web 3.0 wird sich das Internet also von einem an Informationen ausgerichteten
Netzwerk in ein am Wissen ausgerichtetes Netzwerk wandeln müssen. Zusätz-
lich werden in die Applikationen Reasoning-Strategien integriert die aus dem nun
vorhanden Wissen neues, nicht explizit vorhandenes Wissen gewinnen. Diese
Strategien kombiniert mit denen des Web 2.0 bilden also das Social Semantic
Web bzw. das Web 3.0. Nichts ist so kurzlebig wie eine Version oder Spezifi-
kation im Internet - zumindest scheint dies so, wenn man die Flut an Versionen
und Spezifikationen rund um das Semantic Web betrachtet. So wird schon jetzt
über eine Vision des Web 4.0 diskutiert. Unter anderem geht man davon aus
das hier Agenten das Netz selbstständig durchsuchen und von diesem Wissen
lernen - ähnlich wie es ein Mensch, der das Internet durchsucht um sich neues
Wissen über ein Themengebiet anzueignen. Zum anderen soll jedoch auch die
vollständige Integration des Internets in unser Leben Realität werden. Nils Müller
prägt hierfür in seinem visionären Vortrag zur Entwicklung des Web den Begriff
des Outernet.[13] Wo die Reise des Webs auch hingeht, auf den Einsatz von
Reasoning und komplexen Wissensrepräsentationen kann nicht verzichtet wer-
den. Auch wenn die semantischen Dienste noch an ihrem Anfang stehen und
noch ein enormer Entwicklungsaufwand betrieben werden muss, um diese wirk-
lich skalierbar und praxistauglich abbilden zu können, so ist schon heute eines
klar: Das Web der Zukunft wird semantische Dienste immer stärker integrieren
und die Benutzer werden hiervon profitieren - auch wenn viele Anwender die Ih-
nen entstehenden Vorteile nicht als „Semantic Web“ wahrnehmen werden.
40
7 Anhang
7.1 Tabellen
7.1.1 Triple Stores im Vergleich
AllegroGraph Oracle 11g Jena SDB Virtuoso Ontobroker
Server Edition Open Source Edition
Version 3.3 Release 2 2.6.2 6.1.1 5.0
License free edition available (Li- free developer license free of charge GPL - free commercial
mit: 50.000 Triples) available
Source closed closed open open closed
Supported Operating Systems Windows, Linux, Ma- Windows, Linux, Solaris, all java compatible sy- Windows, Linux, Ma- Suse Linux 10.x, Win-
cOS, Solaris, FreeBSD AIX, HP-UX stems cOS, Solaris, AIX, dows 2003, Windows
HP-UX, Digital Un-
ix/OSF1
RDFS / OWL Reasoner Supported from Ja- OWLPrime supports YES, provided by Jena 2 Partial RDFS and OWL-DL
va Applications: RDF, RDF, RDFS++ (RDFS Inference Engine is supported, but on-
RDFS++ (RDFS plus plus some OWL con- ly terms that can be
some OWL con- structs: owl:sameAs, converted into horn logic
structs: owl:sameAs, owl:InverseFunctionalPro-
owl:inverseOf, perty) and OWL Prime,a
owl:TransitiveProperty, very expressiv subset
and owl:hasValue) of OWL DL constructs.
If more semantics are
requiered, Oracle offers
two ways:
1. Adding user definde
rules
2. Integrate external
Reasoners through Jena
interface
SWRL Yes (via integrated Ra- NO NO, but converters from NO YES
cerPro Reasoner) SWRL to jena are availa-
ble
Prolog Supported from Java Ap- NO NO NO NO
plications
SPARQL Supported from Java Ap- NO YES YES YES
plications
OWL Prime NO YES NO NO NO
SQL NO YES YES YES YES
41
7 Anhang
42
7 Anhang
OWL 2 Direct Semantics Ontology Consisten- 2NEXPTIME-complete Decidable, but complexi- Not Applicable 2NEXPTIME-complete
cy, Class Expression (NEXPTIME if pro- ty open (NP-Hard) (NEXPTIME if pro-
Satisfiability, Class Ex- perty hierarchies are perty hierarchies are
pression Subsumption, bounded) bounded)
Instance Checking
Conjunctive Query Ans- Decidability open Decidability open Decidability open Decidability open
wering
OWL 1 DL Ontology Consisten- NEXPTIME-complete Decidable, but complexi- Not Applicable NEXPTIME-complete
cy, Class Expression ty open (NP-Hard
Satisfiability, Class Ex-
pression Subsumption,
Instance Checking
Conjunctive Query Ans- Decidability open Decidability open Decidability open Decidability open
wering
43
7 Anhang
7.2 Abbildungen
7.2.1 Abbildung A: Schichtmodell der W3C Technologie
44
7 Anhang
45
7 Anhang
46
Literaturverzeichnis
[1] Florian Stegmaier & Udo Gröbner & Mario Döller & Harald Kosch & Gero
Baese. Evaluation of Current RDF Database Solutions.
INTERNET Adresse: sunsite.informatik.rwth-aachen.de;
Pfad: /Publications/CEUR-WS/Vol-539;
Datei: paper_7.pdf ; Größe: 5.04 MB; Stand: 16.04.2010, 2010.
[4] Alan Zhe Wu Oracle New England Development Center. 11gR1 OWLPrime.
INTERNET Adresse: www.w3.org;
Pfad: /2007/OWL/wiki/images/c/cf ;
Datei: Zhe-f2f1.pdf ; Größe: 410.67 KB; Stand: 16.04.2010, 2010.
[8] Prof. Dr. Wolfgang Hesse. Informatik Spektrum, Bd.25, Helft 6:, volume A.
Springer Verlag, 6 edition, 2002.
[9] REWERSE Working Group I1. R2ML – The REWERSE I1 Rule Markup
Language.
INTERNET Adresse: oxygen.informatik.tu-cottbus.de;
Pfad: /rewerse-i1/?q=R2ML;
Größe: 14.23 KB; Stand: 06.04.2010, 2007.
48
Literaturverzeichnis
[22] W3C. SWRL: A Semantic Web Rule Language Combining OWL and Ru-
leML.
INTERNET Adresse: www.w3.org;
Pfad: /Submission/SWRL;
Größe: 105.82 KB; Stand: 03.04.2010, 2004.
49
Literaturverzeichnis
[27] W3C. The mission of the Rule Interchange Format (RIF) Working Group.
INTERNET Adresse: www.w3.org;
Pfad: /2005/rules/wiki/RIF_Working_Group;
Größe: 6.99 KB; Stand: 06.04.2010, 2010.
50