53
C.N.A.M. CONSERVATOIRE NATIONAL DES ARTS ET METIERS Association Régional Cnam Alsace Hochschule Darmstadt - Fachbereich Informatik - Ingénierie et Intégration Informatique – Systèmes d‘Information III-SI Reasoning Tools für das Semantic Web Zulassungsarbeit zum Diplôme d’Ingénieur (Master’s Degree) im CNAM-Studiengang Examen Probatoire vorgelegt von Christian Hesse Sommersemester 2010 REFERENT: Prof. Dr. Bernhard Humm 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

201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

Embed Size (px)

Citation preview

Page 1: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

C.N.A.M. CONSERVATOIRE NATIONAL DES ARTS ET METIERS

Association Régional Cnam Alsace

Hochschule Darmstadt - Fachbereich Informatik -

Ingénierie et Intégration Informatique – Systèmes d‘Information III-SI

Reasoning Tools für das Semantic Web

Zulassungsarbeit zum Diplôme d’Ingénieur (Master’s Degree) im CNAM-Studiengang

⋅⋅⋅⋅

Examen Probatoire

vorgelegt von Christian Hesse

Sommersemester 2010

REFERENT: Prof. Dr. Bernhard Humm 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

Page 2: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.

Darmstadt, den 28.04.2010

________________________ Christian Hesse

Page 3: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.

SUJET: OUTILS DE REASONING POUR LE WEB SEMANTIQUE

Pour Tim Berners-Lee, l’inventeur du World Wide Web, le Web sémantique est le prochain pas déterminant vers une plate-forme mondiale d’informations. Ce ne sont plus des pages Web lisibles par tous qui font l’objet de notre attention, mais des informations sémantiques qui peuvent être évaluées par des agents électroniques. La standardisation de langages a été menée par le World Wide Web Consortium avec RDF,RDFS et OWL.

Les techniques du Web sémantique permettent de représenter du savoir et de tirer les conclusions de ce savoir représenté. Le Reasoning permet la déduction d’un nouveau savoir à partir d’un savoir existant selon les règles de la logique. Dans le domaine de l’intelligence artificielle, dans lequel le Web sémantique a sa place, des concepts fondamentaux de Reasoning ont été développés au cours des 50 dernières années. Le Rule-Based-Reasoning joue ici un rôle primordial.

Il s’agira dans ce travail de présenter les concepts de Reasoning en mettant l’accent sur le Rules-Based Reasoning. Les langages basés sur ces concepts devront être exposés. Il faudra se pencher tout particulièrement sur des langages compatibles avec le Web sémantique. En fait il faudra présenter les outils (tools) qui soutiennent ces langages. Il faudra prendre particulièrement en considération les outils open source ou les outils commerciaux pour lesquels il existe aussi des versions gratuites.

START-LITERATUR UND LINKS / LITTERATURE ET LIENS

[w3c] World Wide Web Committee: Semantic Web: http://www.w3.org/2001/sw/ [SW] Semantic Web.org: http://semanticweb.org [Nil98] Nilsson, Nils (1998), Artificial Intelligence: A New Synthesis, Morgan

Kaufmann Publishers, ISBN 978-1-55860-467-4 [RN03] Russell, Stuart J. & Norvig, Peter (2003), Artificial Intelligence: A Modern

Approach (2nd ed.), Upper Saddle River, NJ: Prentice Hall, ISBN 0-13-790395-2, <http://aima.cs.berkeley.edu/>

Page 4: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

Abstract

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

Page 5: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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

Page 6: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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

2 Reasoning: Methoden zur Inferenz 18

2.1 Open World (OWA) und Closed World (CWA) Assumption . . . . . 18

2.2 Komplexitätsklassen . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3 Abox und Tbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.4 Inferenzverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4.1 Deduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4.2 Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4.3 Analogieschluss . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4.4 Abduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3

Page 7: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

Inhaltsverzeichnis

2.5 Monotones und Nicht-Monotones Schließen . . . . . . . . . . . . . 21

2.6 CBR und RBR als Grundlage von Expertensystemen . . . . . . . . 22

2.6.1 CBR - case based reasoning . . . . . . . . . . . . . . . . . 22

2.6.2 RBR - rule based reasoning . . . . . . . . . . . . . . . . . . 22

2.6.3 CBR/RBR - hybrid reasoning . . . . . . . . . . . . . . . . . 23

3 Regel- und Anfragesprachen 24

3.1 Was sind Regeln? . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2 Regelsprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2.1 Regeltausch . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.2 Datalog / Prolog . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.3 SWRL - Semantic Web Rule Language . . . . . . . . . . . 26

3.3 Anfragesprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3.1 SPARQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3.2 Oracle OWL Prime . . . . . . . . . . . . . . . . . . . . . . . 26

4 Tools: Reasonern für das Semantic Web 28

4.1 Pellet - Tableau based . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2 Jena 2 Inference - Tableau based . . . . . . . . . . . . . . . . . . . 29

4.3 Kaon 2 - Resolutionsverfahren . . . . . . . . . . . . . . . . . . . . 29

4.4 RacerPro - Tableau based reasoning . . . . . . . . . . . . . . . . . 29

4.5 FaCT ++ - Tableau based reasoning . . . . . . . . . . . . . . . . . 30

4.6 Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.7 Vergleich der vorgestellten Reasoner . . . . . . . . . . . . . . . . . 31

5 Tools: Triple Stores als Persistenz 33

5.1 AllegroGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.2 Ontobroker 5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.3 Oracle 11g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.4 Virtuoso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.5 Jena SDB (non native) / TDB (native) . . . . . . . . . . . . . . . . 36

5.6 Vergleich der vorgestellten Triple Stores . . . . . . . . . . . . . . . 37

6 Ausblick: Reasoning im Semantic Web 39

4

Page 8: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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

Page 9: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

Abbildungsverzeichnis

1.1 Beispiel: RDF Graph . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2 Web Ontology Language - Die Hierarchie der Entitäten [25] . . . . 14

1.3 Web Ontology Language 2 - Die Hierarchie der Entitäten [26] . . . 15

5.1 Architektur AllegroGraph Quelle: Franz Inc. [10] . . . . . . . . . . . 34

5.2 Architektur Ontobroker Quelle: ontoprise GmbH [12] . . . . . . . . 35

5.3 Architektur Virtuoso Universal Server[16] . . . . . . . . . . . . . . 36

7.1 Das Schichtmodell der W3C Technologie[23] . . . . . . . . . . . . 44

7.2 Die Struktur von OWL2[28] . . . . . . . . . . . . . . . . . . . . . . 45

7.3 Vergleich Triple Stores[1] . . . . . . . . . . . . . . . . . . . . . . . 45

6

Page 10: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

1 Einführung

Diese Ausarbeitung beschäftigt sich mit Reasoning im Kontext des Semantik

Web. In diesem Kapitel werden zunächst jeweils kurz die Themen Semantic Web,

Ontologie(n) und Formate des Semantic Web vorgestellt. Da die Spezifikation

des Semantic Web jedoch einen sehr großen Umfang an unterstützten Forma-

ten und Sprachen abdeckt, wird sich diese Arbeit konkret auf die zum Zeitpunkt

der Erstellung gängigsten Technologien beschränken. Im weiteren Verlauf wer-

den verschiedene Inferenz-Konzepte vorgestellt und erläutert. Anschließend wer-

den Sprachen vorgestellt, welche diese Ansätze implementieren. Der Fokus wird

hier auf Sprachen liegen, die mit den Technologien des Semantic Web kompati-

bel sind. Am Ende der Arbeit steht ein Vergleich einiger Software Tools (Reasoner

und Triple Stores), welche die zuvor vorgestellten Sprachen unterstützen.

1.1 Semantic WebFast jeder Nutzer des Internet musste sich schon einmal der Frage „Was würden

Sie ohne Computer / Internet tun? Wären Sie noch in der Lage sich die benö-

tigten Informationen zu beschaffen?“ stellen. Oft wird die simple Frage mit der

simplen Antwort „Na, klar - das ist kein Problem!“ beantwortet. Zwei Tage später

ist das Internet ausgefallen und Sie erinnern sich an die Frage. Voller Tatendrang

machen Sie sich gleich auf die Suche nach dem Telefonbuch, um die fehlende In-

formation per Telefon erfragen zu können. Doch wo ist es bloß? Unter Umständen

existiert kein Telefonbuch in gebundener Form mehr, denn die Informationen sind

inzwischen online zugänglich - leider nur solange die Infrastruktur hält was sie

verspricht. Schnell wird Ihnen dann wohl bewusst, wie wichtig das Internet nicht

nur für Sie, sondern für die gesamte moderne Gesellschaft ist und welchen enor-

men Stellenwert es für die persönliche Erledigung der täglichen Arbeit hat. Kaum

eine andere Innovation konnte sich einer so rasanten Marktverbreitung erfreu-

en wie das Internet. Doch die Anforderungen an das Netz wachsen. Reicht uns

7

Page 11: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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]

1Computerprogramm, welches häufig autonome, proaktive, reaktive und soziale Aspekte besizt

und Lernfähigkeit implementiert

8

Page 12: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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:

Da es viele Wissensbereiche - mit einer jeweils eigenen oder sogar

mehreren konkurrierenden Terminologien - gibt, macht hier (im Ge-

gensatz zur Philosophie) auch der Gebrauch des Plurals („Ontologi-

en“) Sinn.[8]2Wissensbereich: Gesamtheit des Wissens innerhalb eines Fachbereichs

9

Page 13: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

1 Einführung

Die Informatik verwendet Ontologien zurzeit in folgenden Bereichen:

• Kommunikation von Wissen,

• Repräsentation sowie Wiederverwendung von Wissen,

• Automatisches Schließen von Wissen.

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.

1.3 Basistechnologien im Semantic Web1996 startete die Entwicklung von XML3. XML basiert genau wie HTML auf der

bereits 1986 standardisierten Sprache SGML4 und stellt eine vereinfachte und

auf das Internet zugeschnittene Ausgabe von der sehr mächtigen SGML dar.

XML ist eine beliebig erweiterbare Auszeichnungssprache für hierarchisch struk-

turierte Dokumente und wurde vom W3C5 erstmals am 10.02.1998 spezifiziert.

Mit XML ist der plattform- und implementationsunabhängige Austausch von Da-

ten möglich. Der hohe Freiheitsgrad von XML (zum Beispiel die Definition von

beliebigen eigenen Tags) macht das Format universell einsetzbar. Dies ist jedoch

auch der Grund, warum ein XML Dokument zwar ohne eine direkte Interpretati-

onsvorschrift gelesen, aber nicht verarbeitet werden kann. Ohne das notwendige

Hintergrundwissen über den Aufbau eines XML Dokumentes, ist eine maschi-

nelle Auswertung nicht möglich. Hier schaffen Technologien, wie unter anderem

XML Namensräume, XML Schema und DTD6 Abhilfe. Sie normieren Begriffe, de-

finieren Datentypen und den Aufbau eines Dokumentes. Diese flexible Kopplung

von Daten (XML) zu einer Interpretationsvorschrift (z.B. XHTML) hat maßgeb-

3eXtensible Markup Language4Standard Generalized Markup Language5World Wide Web Consortium6Dokumententyp-Deklaration - formale Definition der Dokumentenstruktur

10

Page 14: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.

1.3.1 RDF - resource description framework

Da die von mir bisher in dieser Arbeit vorgestellten Technologien nicht als für

eine Wissensrepräsentation geeignet angesehen werden können, sind zusätzli-

che Technologien notwendig. Dazu wurde das Resource Description Framework

(RDF) entwickelt. Es wurde 1997 erstmals in einer Empfehlung des W3C[19] ver-

öffentlicht. Das RDF Format bietet nun die Möglichkeit, Statements in Form von

Subjekt, Prädikat, Objekt zu definieren. Das Subjekt stellt hierbei die Ressource

dar. Das Prädikat ist ein Merkmal dieser und meist Ausdruck einer Beziehung zwi-

schen Subjekt und Objekt. Das Objekt tritt als Objekt der Beziehung bzw. als Wert

des Prädikates auf. Als Beispiel könnte eine Aussage wie „Karl Müller studiert an

der h_da“ angesehen werden. In diesem Fall wäre das Subjekt „Karl Müller“, das

Prädikat „studiert an“ und das Objekt „h_da“. Aussagen in dieser Form werden

auch als RDF Tripel bezeichnet. Mit der Eigenschaft rdf:type ist es möglich dem

Objekt „h_da“ den Typ „Hochschule“ zuzuweisen. Soweit lassen sich nun also

Daten mit der dazugehörenden Semantik darstellen. Durch die Möglichkeit die

so definierten Informationen miteinander zu verknüpfen, entsteht ein gerichteter

Graph. So könnten weitere in RDF formulierte Aussagen „h_da ist in Darmstadt“

und „Karl Müller wohnt in Frankfurt“ sein. Hierdurch würde sich aus den Aussagen

ein RDF Graph ergeben (siehe Abbildung 1.1). Die Verknüpfung der Aussagen

basiert auf der sogenannten Reifikation7. RDF stellt somit eine allgemeine Spra-

che zur Repräsentation von Wissen im Netz dar.

7Reifikation: Objekt eines RDF Tripel kann wiederum ein Triple sein (Aussagen über Aussagen)

11

Page 15: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

1 Einführung

Abbildung 1.1: Beispiel: RDF Graph

1.3.2 RDF/XML - Serialisierung von RDF in XML

Da das in RDF repräsentierte Wissen einer Persistenz bedarf, wurde vom W3C

mit RDF/XML[21] ein Standard für die Abbildung in XML geschaffen. Das Beispiel

zeigt die serialisierte Darstellung des zuvor erzeugten RDF Graphen.1 <?xml vers ion=" 1.0 "?>

2 < r d f :RDF

3 xmlns : r d f = " h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns# "

4 xmlns : ex1=" h t t p : / / h−da . de / concepts# ">

5 < r d f : Desc r i p t i on r d f : about= " h t t p : / / h−da . de / e n t i t y / Kar l_Mue l le r ">

6 < r d f : type r d f : resource=" h t t p : / / h−da . de / concepts / Person " / >

7 <ex1 : Stud ie r tAn r d f : resource=" h t t p : / / h−da . de / e n t i t y / h_da " / >

8 </ r d f : Descr ip t ion >

9 < r d f : Desc r i p t i on r d f : about= " h t t p : / / h−da . de / e n t i t y / h_da ">

10 < r d f : type r d f : resource=" h t t p : / / h−da . de / concepts / Hochschule " / >

11 </ r d f : Descr ip t ion >

12 </ r d f :RDF>

1.3.3 RDF/N3 - Serialisierung von RDF in Notation 3

Ebenso wie RDF/XML, stellt Notation 3 eine Serialisierung von RDF Graphen

dar. Die Spezifikation wurde von Tim Berners-Lee verfasst und 1998 vom W3C

veröffentlicht.[3]. Notation 3 basiert nicht auf XML und stellt eine für Menschen

lesbarere Abbildung von RDF dar.1 @prefix ex1 : < h t t p : / / h−da . de / concepts#> .

2 @prefix r d f : < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#> .

3 < h t t p : / / h−da . de / e n t i t y / Kar l_Muel ler > r d f : type < h t t p : / / h−da . de / concepts / Person> ;

4 ex1 : Stud ie r tAn < h t t p : / / h−da . de / e n t i t y / h_da> .

5 < h t t p : / / h−da . de / e n t i t y / h_da> r d f : type < h t t p : / / h−da . de / concepts / Hochschule> .

1.3.4 RDF Schema

Mit RDF ist es nun möglich Aussagen über Objekte zu treffen und diese mit-

einander in Relation zu setzen. Doch fehlen Konstrukte um Eigenschaften von

Objekten genauer beschreiben zu können. Hier schafft der 2004 vom W3C veröf-

fentlichte Standard RDF Schema (RDFS) Abhilfe[20]. Mit Hilfe dieses Standards

ist es möglich, die zuvor in RDF verknüpften Ressourcen näher zu bestimmen.

12

Page 16: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

1 Einführung

RDFS ermöglicht es eine benutzerdefinierte Terminologie zu definieren, daher

wird die Sprache auch oft als eine erste, wenn auch einfache, Ontologiesprache

angesehen. Wichtige Konstrukte von RDFS sind:

Klassen:

• rdfs:Resource: Klasse aller Ressourcen.

• rdfs:Class: Klasse aller Ressourcen die Klassen sind.

• rdfs:Literal: Klasse aller literarischen Werte wie z.B. String und Integer

• rdfs:Property: Klasse der Eigenschaften

• rdfs:Statement: Klasse der Reifikationen

Eigenschaften:

• rdfs:subClassOf: Unterklasse von (Transitivität)

• rdfs:subPropertyOf: Untereigenschaft von (Transitivität)

• rdfs:domain: Legt fest für welche Klassen eine Eigenschaft sinnvoll ist.

• rdfs:range: Datentyp des Objektes

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.

1.3.5 OWL - Web Ontology Language

Die Web Ontology Language basiert im Wesentlichen auf DAML+OIL. Sie er-

gänzt RDFS um noch fehlende Features, die benötigt werden um vollwertige On-

tologien abzubilden. Hierzu zählt unter anderem die Möglichkeit der Bildung von

Subklassen über Schnittmengen (z.B. Klasse Europa mit allen Ländern im Konti-

nent Europa). Für die Konstruktion neuer Klassen stehen unter anderem folgende

Möglichkeiten zur Verfügung: Aufzählung der Instanzen, Schnittmengen verschie-

dener Klassen, Vereinigung mehrerer Klassen, Kardinalitäten oder Komplemen-

täroperationen. Da die Web Ontology Language sehr komplexe Möglichkeiten zur

Wissensrepräsentation integriert, definierte das W3C die Sprache in 3 Stufen um

die Handhabung zu vereinfachen. Die Abbildung 1.2 stellt die Hierarchie der En-

titäten in OWL dar.

13

Page 17: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

1 Einführung

Abbildung 1.2: Web Ontology Language - Die Hierarchie der Entitäten [25]

1.3.5.1 OWL Full

OWL Full stellt die maximale Ausbaustufe von OWL dar und es existieren somit

keine Einschränkungen. Aufgrund dieser Tatsache ist die Sprache sehr komplex

und gilt als nicht entscheidbar. In OWL Full ist das Konstrukt owl:Class als äqui-

valent zu rdfs:Class, sowie owl:Thing als äquivalent zu rdfs:resource anzusehen.

Eine Instanz einer Klasse kann wiederum eine Klasse sein.

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.

1.3.5.3 OWL Lite

OWL Lite verfügt über alle Restriktionen von OWL DL. Zusätzlich sind jedoch

zur Konstruktion von Klassen nur der Durchschnitt und Eigenschaftseinschrän-

kungen zulässig. Hierdurch soll die Sprache einfacher zu implementieren, aber

dennoch leistungsstark im Reasoning sein. Die Komplexität von OWL Lite liegt in

EXPTIME.

8Description Logic

14

Page 18: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

1 Einführung

1.3.6 OWL2 - Web Ontology Language Version 2

Bereits 2004 wurde die Web Ontology Language in ihrer ersten Version vom W3C

eingeführt. Im Laufe der Zeit wurde jedoch klar, dass die Implementierung der

Sprache keinesfalls so leicht ist wie dies ursprünglich angestrebt war. So ist zum

Beispiel OWL-Lite von der Komplexität beinahe so mächtig wie OWL DL. Ein

Indikator für die geringe Praxistauglichkeit der Sprache ist die langsame Verbrei-

tung am Markt[7]. OWL 2 verfolgt den Ansatz einer einfacheren und praxisnähe-

ren Implementierung der Web Ontology Language. Um dieses Ziel zu erreichen,

wurden in OWL 2 drei Sprachprofile eingeführt. Diese können je nach Komple-

xität der zu realisierenden Anwendung verwendet werden. Unabhängig von der

Vereinfachung der Implementierung wird die Syntax (z.B. um disjoint union von

Klassen) und die Ausdrucksfähigkeit (Schlüssel, Verkettung von Eigenschaften,

...) im Vergleich zur Web Ontology Language der ersten Version erweitert. Die

Abbildung 1.3 stellt die Hierarchie der Entitäten in OWL 2 dar. Ein weiteres wich-

tiges Merkmal der neuen Sprache ist die Möglichkeit zur Interaktion mit relationa-

len Datenbanksystemen, welche die Verarbeitungszeit von großen Datenmengen

enorm beschleunigt, bzw. diese erst wirklich möglich macht. Eine Übersicht über

die Komplexitätsklassen in OWL 2 bzw. OWL DL finden Sie im Anhang 7.1.4

(Komplexitätsklassen von OWL2).

Abbildung 1.3: Web Ontology Language 2 - Die Hierarchie der Entitäten [26]

15

Page 19: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.

1.4 Proof and Trust im Semantic WebDas Semantic Web trägt eine große Menge von Wissen in sich. Je größer der

Bestand an Fakten jedoch wird, desto wahrscheinlicher ist das Auftreten wieder-

sprüchlicher Informationen in der Wissensrepräsentation. Um mit diesem Um-

stand umgehen zu können, sieht das Semantic Web die auf der Logikschicht

aufbauenden Strategien Proof9 und Trust10 vor. Trotz ihrer Notwendigkeit sind

diese Konzepte in den letzen Jahren zwar weiterentwickelt worden, jedoch noch

weit von einer Standardisierung entfernt. Die Beweis-Schicht (proof layer) hat die

Aufgabe das World Wide Web bzw. die Ontologie zu durchsuchen, um die Wahr-

heit einer Aussage zu beweisen oder zu wiederlegen. Bei der Vertrauens-Schicht

(trust layer) handelt es sich um Informationen, welche für eine Vertrauensstellung

zwischen Agenten und Aussagen benötigt werden. Sie hat nicht die Aufgabe feh-

lerhafte Aussagen in einer Ontologie zu unterbinden, sondern vielmehr gibt sie

9Strategien zum Beweis oder Wiederlegen von Aussagen10Strategien zur Schaffung einer Vertrauensstellung

16

Page 20: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

1 Einführung

dem Agenten die Möglichkeit die Glaubwürdigkeit einer Aussage anhand eines

Herausgebers einzustufen.[15]

17

Page 21: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.

2.1 Open World (OWA) und Closed World (CWA) As-

sumptionFür die Komplexität und Entscheidbarkeit eines Algorithmus, ist die Betrachtung

der Ontologie entscheidend. Während die Closed World Assumption (CWA) nur

auf Basis des in der Ontologie bekannten Wissens agiert, geht die Open World

Assumption (OWA) immer von einer unvollständigen Ontologie und somit nicht

bekanntem Wissen aus. Existiert zum Beispiel in einer Ontologie keine Informati-

on „Autos können schwimmen“ so würde die Fragen „Können Autos schwimmen“

von einem CWA basierten Reasoner mit „Nein“ beantwortet, da er in der Onto-

logie keinen Hinweis auf schwimmende Autos finden kann. Ein OWA basierter

Reasoner würde die gleiche Frage jedoch mit „es konnte kein Hinweis darauf ge-

funden werden, aber es ist durchaus möglich“ beantworten, was die Komplexität

erhöht und die Abfragen unentscheidbar macht. Häufig ist man im praktischen

Einsatz von Reasoningtechnologien gezwungen von der CWA auszugehen, um

die Entscheidbarkeit beizubehalten. Ein Beispiel wäre die Frage nach dem gün-

1Reasoning: Schließen, Schlüsse ziehen

18

Page 22: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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ätsklassenDie 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.:

• P : Klasse aller in Polynomialzeit lösbarer Probleme (deterministische)

• NP : Klasse aller in Polynomialzeit lösbarer Probleme (nicht deterministi-

sche)

• PSPACE: Klasse aller mit polynomiellem Platz lösbaren Problemen. (de-

terministisch / nicht deterministisch)

• EXPTIME: Klasse aller in exponentieller Zeit lösbarer Probleme. (deter-

ministisch)

• NEXPTIME: Klasse aller in exponentieller Zeit lösbarer Probleme. (nicht

deterministisch)

2.3 Abox und TboxDa der Schwerpunkt bei semantischen Netzen nicht auf der Beschreibung von

Zusammenhängen auf der Ebene von Individuen2, sondern auf der von Konzep-

ten3 liegt, ist es notwendig die Wissensbasis in zwei Ebenen zu unterteilen. Diese

Anforderung wird durch eine Einteilung des Wissens in eine Abox (Behauptun-

gen) und ein Tbox (Terminologie) umgesetzt. Die Abox enthält Fakten, wie zum

Beispiel „Karl Müller ist eine Person“. Die Tbox wiederum enthält Aussagen über

die Terminologie, also zum Beispiel „Personen haben Berufe“ oder auch „Ange-

stellte sind Personen“.

2Instanzen einer Klasse (z.B. Karl Müller als Instanz des Konzept Mensch)3Klassen bzw. Begriffe (z.B. Mensch, Fahrzeug, ..)

19

Page 23: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

2 Reasoning: Methoden zur Inferenz

2.4 InferenzverfahrenInferenzverfahren 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

Page 24: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.

2.5 Monotones und Nicht-Monotones SchließenDie Unterscheidung von monotonen und nicht-monotonen Schlüssen ist beim Re-

asoning von elementarer Bedeutung. Beim monotonen Schließen hat das Hin-

zufügen von Wissen in einer Ontologie keine verminderten Einfluss auf einen

zuvor gezogenen Schluss. Somit ist es nicht möglich das ein neues Statement

eine negative Auswirkung auf einen zuvor gezogenen Schluss hat. Beim nicht-

monotonen Schließen kann neues Wissen in einer Ontologie den zuvor gezoge-

nen Schluss jedoch negativ beeinflussen. Ein solcher Schluss kann z.B. auf Ba-

sis eines induktiven Schlusses auftreten: „Alle Objekte auf dem Tisch sind blau“

-> „Alle Objekte auf dem Tisch sind aus der Kiste“ -> „Alle Objekte in der Kiste

sind blau“. Wird nun nur ein Element aus der Kiste entnommen das nicht blau

ist, würde der zuvor induktiv gefasste Schluss nicht mehr zutreffen. Eine neue

21

Page 25: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

2 Reasoning: Methoden zur Inferenz

Information (nämlich das nicht blaue Objekt) widerlegt also den zuvor gültigen

Schluss.

2.6 CBR und RBR als Grundlage von Expertensyste-

men

2.6.1 CBR - case based reasoning

Das fallbasierte Schließen (CBR) ist ein dem Analogieschluss ähnliches Verfah-

ren, welches auf bereits gelösten Fällen aufbaut und das Ableiten von Analo-

gien nutzt um neue Fälle zu lösen. Es unterscheidet sich hauptsächlich in der

Ausrichtung, da es weniger auf abstraktem Wissen und den strukturellen Ähn-

lichkeiten aufbaut, sondern eher pragmatisch orientiert ist und die Beziehung

zwischen Episoden abbildet. Das Verfahren wird u.a. häufig in Help-Desk Syste-

men eingesetzt, wo man es zur Diagnose- und Lösungsunterstützung bei Proble-

men einsetzt. Auch sind Anwendungen im Bereich der Beratungssysteme von E-

Commerce Anwendungen vorgesehen. Die Grundlage des CBR Systems bildet

die Falldatenbank, in welcher sich die Referenzfälle befinden. Diese Referenzfälle

können jedoch auch in der Ontologie vorgehalten werden[17].

2.6.2 RBR - rule based reasoning

Das regelbasierte Schließen (RBR) basiert auf der Verkettung von Regeln, wel-

che in einer Regelbasis gespeichert sind. Eine Regel besteht aus WENN (Prä-

misse) und DANN (Konklusion). Regelbasierte Systeme können datengetrieben

(Vorwärtsverkettung) oder zielgetrieben (Rückwärtsverkettung) arbeiten. Die Vor-

wärtsverkettung (forward chaining) versucht auf Basis von Tatsachen und Regeln

eine gültige Konklusion zu finden. Die Rückwärtsverkettung (backward chaining)

versucht hingegen auf Basis von Konklusionen und Regeln die möglichen Tat-

sachen, die zum Eintritt der Konklusion geführt haben zu ermitteln. Oft ist es

notwendig Vorwärts- und Rückwärtsverkettungen zu kombinieren um komplexe

Schlussfolgerungen ziehen zu können[17].

22

Page 26: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

2 Reasoning: Methoden zur Inferenz

2.6.3 CBR/RBR - hybrid reasoning

Ein moderner Ansatz ist die Kombination von CBR und RBR in so genannten

Hybrid-Systemen. Hierbei agieren beide Reasoner getrennt oder in einer imple-

mentationsabhängigen Verkettung. Ein Beispiel für den Einsatz einer solchen hy-

briden Technologie in der Praxis demonstriert der Vortrag von Andreas Schön-

born (T-Systems) und Peter Kleinhans (iisy AG) „Einsatz eines wissensbasierten

Diagnosesystems in der Praxis des technischen Service“[18] .

23

Page 27: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

3 Regel- und Anfragesprachen

3.1 Was sind Regeln?Regeln beschreiben Gesetzmäßigkeiten, Richtlinien und Normen, können aber

auch wahrscheinliche, periodische oder regelmäßige Dinge ausdrücken.

Sie lassen sich in folgende Gruppen unterteilen:[11]

• - Logische Regeln: logische Erweiterung der Wissensbasis, Open World,

deklarativ

• - Prozedurale Regeln: ausführbare Maschinenanweisung (IF x THEN y EL-

SE z), operational

• - Logikprogrammierung (z.B. Prolog): Approximation logischer Semantik mit

operationalen Aspekten, häufig Closed World

• - Ableitungsregeln eines Kalküls (z.B. Regeln zur RDF Semantik)

Bezeichnungen für „Regeln“ der Prädikatenlogik:[14]

• Klausel: Disjunktion von atomaren Aussagen oder negierten atomaren Aus-

sagen.

Frau(x) ∨Mann(x)← Person(x)

• Hornklausel: Klausel mit HÖCHSTENS einem nicht negierten Atom.

←Mann(x) ∧ Frau(x)

• Definite Klausel: Klausel mit GENAU einem nicht negierten Atom

V ater(x)←Mann(x) ∧ hatKind(x, y)

• Fakt: Klausel aus einem EINZIGEN nicht negierten Atom.

Frau(katarina)

3.2 RegelsprachenTrotz 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

Page 28: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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]

3.2.2 Datalog / Prolog

Die Sprache Prolog beschreibt logische Zusammenhänge elegant, kompakt und

deklarativ. Zusätzlich existieren noch prozedurale Komponenten, die zur Pro-

grammierung von Algorithmen zwangsläufig notwendig sind. Einer der Pioniere

der Logikprogrammierung ist Robert Kowalski, der diesen Zusammenhang ein-

mal mit der Formel „Algorithm = Logic + Control“ [5] ausdrückte. In der KI und

in der Computerlinguistik ist Prolog auch heute noch weit verbreitet. Für Pro-

log stehen zahlreiche leistungsfähige Tools wie zum Beispiel SWI-Prolog (siehe

verwendete Software im Anhang 7.1.5) zur Verfügung, mit welchen ein schnel-

ler Einstieg in die Logikprogrammierung möglich wird. Datalog ist eine logische

Regel- und Abfragesprache, welche Wissensbasen („Datalog, Programme“) aus

Horn-Klauseln ohne Funktionssymbol darstellt. Datalog unterscheidet sich in sei-

ner Syntax nur geringfügig von Prolog, verfügt jedoch nicht über den vollen Lei-

stungsumfang. Sie ist, genau wie Prolog, entscheidbar und effizient für große

Datenmengen. Die Gesamtkomplexität beträgt wie bei OWL Lite EXPTIME. So

könnte ein Beispielprogramm, welches die Möglichkeit einer Zugverbindung zwi-

schen Seligenstadt und Frankfurt evaluiert, wie folgt aussehen:1 train_connection ( " F r a n k f u r t " , "Hanau" ) .

2 train_connection ( "Hanau" , " Se l i gens tad t " ) .

3 city_connected (X,Y) :− train_connection (X ,Y) .

4 city_connected (X,Y) :− train_connection (Y ,X) .

5 city_connected (X,Y) :− city_connected (Y , Z ) , city_connected (Z ,X) .

6 ?− city_connected ( " Se l i gens tad t " , " F r a n k f u r t " ) .

25

Page 29: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

3 Regel- und Anfragesprachen

3.2.3 SWRL - Semantic Web Rule Language

Die SWRL stellt eine Empfehlung des W3C für eine Kombination von OWL (DL/-

Lite) mit der RuleML (Rule Markup Language) dar.[22]. Ein Feature der Spra-

che sind Built-Ins, welche sich in verschiedene Kategorien Vergleich, Mathematik,

Wahrheitswerte, Zeichenketten, Zeiten, Ressourcenbezeichner (URI) und Listen

einteilen lassen. Die Semantic Web Rule Language wird von vielen gängigen Tri-

ple Stores und Reasonern unterstützt. Das zuvor in Prolog formulierte Beispiel

würde, auf Basis im Anhang befindlichen Ontolgie A, in SWRL wie folgt formu-

liert:1 hasConnection (?x , ?y ) → hasConnection (?y , ?x )

2 hasConnection (?x , ?y ) ∧ hasConnection (?y , ?z ) → hasConnection (?x , ?z )

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 rdf : type ex1 : C i t y .

5 ?class ex1 : hasConnection ex1 : Se l i gens tad t

6 }

3.3.2 Oracle OWL Prime

Bereits im Jahr 2005 führte Oracle in der Version 10gR2 die Unterstützung von

RDF in seinem Datenbanksystem ein, mit welcher es möglich war Abfragen

26

Page 30: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

3 Regel- und Anfragesprachen

auf RDF Graphen und sogar RDFS Schlussfolgerungen mit benutzerdefinier-

ten Regeln auszuführen. In der aktuellen Version (11g) ging Oracle noch einen

Schritt weiter und kreierte mit OWL Prime eine Anfragesprache, die ein Subset

von OWL-DL unterstützt. Die Sprache ist für große Datenmengen ausgelegt

(Unterstützung von mehr als 100 Millionen Tripeln) und wurde als eine Daten-

bankapplikation implementiert. Hieraus resultiert wohl hauptsächlich die gute

Performance bei großen Datenmengen. OWL Prime unterstützt folgende Kon-

strukte:

• rdfs:subClassOf, subPropertyOf, domain, range

• owl:TransitiveProperty, SymmetricProperty, FunctionalProperty, Inverse-

FunctionalProperty

• owl:inverseOf, sameAs, differentFrom

• owl:disjointWith, complementOf

• owl:hasValue, allValuesFrom, someValuesFrom

• owl:equivalentClass, equivalentProperty

27

Page 31: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

4 Tools: Reasonern für das

Semantic Web

Die einheitliche Wissensrepräsentation im Semantic Web wird durch Technolo-

gien wie RDF, RDFS und OWL standardisiert und schafft somit die Möglichkeit

für den Einsatz von so genannten Reasonern. Diese arbeiten nach verschiede-

nen Verfahren (siehe Kapitel 2) und verfolgen das Ziel, neues Wissen (welches

nicht explizit vorhanden ist), aus der Ontologie abzuleiten. In den letzten Jahren

wurden viele Reasoner für das Semantic Web entwickelt. Die meisten moder-

nen Reasoner basieren auf Tableau Algorithmen, welche schon 1991 erstmals

von Schmidt-Schauß und Smolka im Kontext der Inferenzverfahren eingesetzt

wurden[6]. Im Rahmen dieser Arbeit werde ich mich auf die nun folgende Aus-

wahl an Reasonern beschränken.

4.1 Pellet - Tableau basedPellet ist ein OWL-DL Reasoner für JAVA, der in seiner aktuellen Version bereits

OWL2-DL unterstützt. Er integriert neben bewährten Reasoningverfahren auch

einige sehr innovative neue Algorithmen wie zum Beispiel „Incremental Reaso-

ning“1.Ein Feature ist die integrierte Konsistenzprüfung, welche sicherstellt dass

eine Ontologie keine widersprüchlichen Fakten enthält. Die Nutzung der Kompo-

nente in kostenlosen Open Source Projekten ist gestattet. Für die Verwendung in

kommerziellen oder nicht Open Source Projekten wird eine Lizenz benötigt. Das

Reasoning erfolgt mittels eines Tableauverfahrens, welches auf Basis von Regeln

arbeitet und SWRL unterstützt.

1Incremental Reasoning: Updates der Wissensbasis werden direkt verarbeitet, Wiederverwen-

dung von Informationen

28

Page 32: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

4 Tools: Reasonern für das Semantic Web

4.2 Jena 2 Inference - Tableau basedJena ist ein Semantic Web Framework, welches Interfaces zur Einbindung ver-

schiedener externer Reasoner zur Verfügung stellt. Im Jena Framework sind be-

reits ein einfacher RDFS und OWL-Lite Reasoner integriert, welche jedoch in kei-

nem Fall als vollwertige Reasoner angesehen werden können. Jena entstand aus

dem Hewlett-Packard Semantic Web Research Programm und wurde als Open

Source Software auf SourceForge veröffentlicht. Auf der Projektseite ist eine re-

gelmäßige Weiterentwicklung der Software erkennbar. Die im Framework inte-

grierte Reasoning Funktionalität ermöglicht einen einfachen Einstieg in Semantic

Web Technologien und schließt eine spätere Erweiterbarkeit des Projektes durch

Integration externer Reasoner nicht aus.

4.3 Kaon 2 - ResolutionsverfahrenKaon 2 geht aus dem Kaon (Karlsruhe Ontology) Projekt des FZI2 und des AIFB3

hervor. Der Reasoner ist jedoch eine vollständige Neuentwicklung des zuvor auf

RDFS basierten Systems Kaon und bietet daher keine Kompatibilität mit diesem.

Kaon 2 ist, im Gegensatz zu Kaon, nicht als Open Source Software verfügbar

und wird von der Firma ontoprise GmbH als integrierter Bestandteil des Produk-

tes OntoBroker vertrieben. Für die Nutzung der Software im nicht kommerziellen

Bildungsbereich steht jedoch eine kostenlose Version des Kaon 2 Standalone

Reasoners zur Verfügung. Das letzte Release von Kaon 2 wurde jedoch 2008

veröffentlicht. Die kommerzielle Implementation OntoBroker hingegen wird konti-

nuierlich weiterentwickelt und um neue Standards erweitert. Im Gegensatz zu den

Tableau-basierten Reasonern arbeitet Kaon 2 nach einem Resolutionsverfahren.

Hierbei wird mittels Algorithmen die SHIQ(D) Wissensbasis in ein Datalog Pro-

gramm reduziert. Nach Angaben des Herstellers können so enorme Geschwin-

digkeitsvorteile gegenüber „herkömmlichen“ Reasonern erreicht werden.

4.4 RacerPro - Tableau based reasoningRacerPro (Racer = Renamed ABox and Concept Expression Reasoner) ist ein

kommerzielles Produkt der Firma Racer Systems GmbH & Co KG, es existiert je-

2FZI: Forschungszentrum für Informatik, Karlsruhe3AIFB: Institut für Angewandte Informatik und Formale Beschreibungsverfahren, Karlsruhe

29

Page 33: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.5 FaCT ++ - Tableau based reasoningFaCT ++ ist ein Open Source Definition Logic Reasoner welcher als eine Platt-

form zum Experiment mit neuen Tableau Algorithmen und Optimierungstechno-

logien entwickelt wurde. Er nutzt eine neuartige „ToDo List“ Architektur um per-

formanter mit komplexen Reasoning Aufgaben, wie z.B. OWL Ontologien, um-

gehen zu können. Wenn eine Wissensbasis in den Reasoner geladen wird, so

wird diese in einer Vorverarbeitung in eine interne Repräsentation gewandelt. In

diesem Schritt werden auch zahlreiche Optimierungen vorgenommen (Reduzie-

rung in SNF5, Auflösung vollständig zirkularer Beziehungen). Anschließend wird

die Repräsentation mit Hilfe eines „classifiers“ weiter optimiert (Reihenfolge, Re-

duzierung etc.). Fact++ bietet unter anderem ein DIG Server und ein Plugin für

Protégé an[6].

4.6 PrologProlog 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-

4standardisiertes XML Interface zu Description Logic Systemen5SNF: simplified normal form (vereinfachte Normalform)

30

Page 34: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.

4.7 Vergleich der vorgestellten ReasonerMit der Popularität der semantischen Dienste wächst auch die Anzahl der Imple-

mentierungen an Reasonern. Alle guten DL Reasoner integrieren Strategien für

„Consistency checking“6, „Concept satisfiability“7, „Classification“8 und „Realiza-

tion“9, daher werde ich im Folgenden nur noch auf die Besonderheiten der ein-

zelnen Reasoner eingehen. Beginnen möchte ich mit Pellet, einem Open Source

Reasoner, der unter Einhaltung der AGPL und in nicht kommerziellen Applikatio-

nen, kostenlos eingesetzt werden kann. Er verfügt über zahlreiche Schnittstellen

(unter anderem: Kommandozeile, API, Jena, DIG) und nimmt SPARQL Anfragen

entgegen. Ebenfalls sind Features zum Reparieren und Analysieren von Ontolo-

gien integriert. Pellet bietet ebenfalls eine Unterstützung für SWRL und ist über

eine integrierte Schnittstelle einfach mit dem Jena Framework zu verbinden. Trotz

des in Jena bereits integrierten OWL Reasoners, werden häufig externe Reaso-

ner wie Pellet integriert. Dies liegt hauptsächlich daran, das für viele Reasoning

Aufgaben die Jena 2 Inference Engine einen zu geringen Funktionsumfang ab-

deckt. So ist diese nur mit den Konstrukten von OWL-Lite ausgestattet und eignet

sich eher zum Einstieg in die Thematik Reasoning. Ein weiterer, durch Einsatz

von innovativen Technologien, sehr performanter Reasoner ist Fact++. Er arbei-

tet mit einer „ToDo List“ Architektur und wandelt Ontologien beim Import in eine

vom Reasoner performant interpretierbare interne Repräsentation. Für die exter-

ne Kommunikation steht ein DIG Server und ein Plugin für Protégé bereit. Die

Firma Racer Systems bietet den kommerziellen Reasoner „Racer Pro“ an, der je-

doch für akademische Zwecke in einer zeit limitierten Version zur Verfügung steht,

an. Neben seiner guten Performance bietet der Reasoner eine Möglichkeit der

Referenzierung von Regeln (d.h. die Wiederverwendung einer definierten Regel

zur Definition einer neuen Regel) an. Die bisher vorgestellten Reasoner arbeiten

alle auf Basis von Tableauverfahren. Einen anderen Ansatz verfolgt Kaon 2, ein

6Prüfung der Ontologie auf widersprüchliche Fakten.7Jede Klasse muss in min. einer Interpretation eine nicht leere Menge ergeben.8Berechnen der kompletten Klassenhierarchie.9Bestimmen der direkten Typen eines Individuum anhand der Klassenhierarchie

31

Page 35: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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

Page 36: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

5 Tools: Triple Stores als Persistenz

Um mit größeren Datenmengen arbeiten zu können und um Ontologien bzw. Re-

asoning in der Praxis nutzbar zu machen, bedarf es geeigneten Speichermög-

lichkeiten. Diese Anforderung wird mit Hilfe von Triple Stores umgesetzt. Grund-

legend lassen sich Triple Stores in native und nicht native Systeme unterteilen.

Während native Triple Stores die Daten in einer speziellen Triple basierten Da-

tenbank ablegen, arbeiten letztere mit einem normalen externen relationalen Da-

tenbanksystem (meist MySQL, MSSQL oder Oracle) zur Speicherung der Daten.

Eine dritte Gruppe an Triple Stores bilden die nicht persistenten „in memory“ sto-

res, welche die Triple nur im Arbeitsspeicher halten und beim Benden des Stores

endgültig verwerfen. Diese Gruppe wird in dieser Arbeit jedoch nicht betrachtet.

5.1 AllegroGraphAllegroGraph 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

Page 37: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

5 Tools: Triple Stores als Persistenz

Abbildung 5.1: Architektur AllegroGraph Quelle: Franz Inc. [10]

5.2 Ontobroker 5.0Die von der Firma Ontoprise GmbH entwickelte kommerzielle Middleware On-

tobroker ist ein deduktives Datenbanksystem mit einer Unterstützung für Rule

Based Reasoning. Neben einem Java Interface existieren unter anderem Schnitt-

stellen für .NET, PHP und WebServices. Das System unterstützt sowohl RDFS

als auch OWL-DL. Als Reasoner integriert Ontobroker eine Variante des Kaon 2

Reasoners, der auf einem Resolutionsverfahren basiert. Die Wissensrepräsen-

tation kann sowohl persistent abgelegt, als auch im Speicher gehalten werden.

Als Anfragesprachen unterstützt die Software SQL, SPARQL und F-Logic. Für

den Datenimport stehen Konverter für die folgenden Formate zur Verfügung: F-

Logic, OXML, RDF, OWL, N-Triples, N3. Ontobroker ist nur kompatibel zu den

Teilen von OWL Ontologien, die in Horn Klauseln abgebildet werden können. Zu-

sätzlich verfügt die Software über Schnittstellen mit welchen Fakten aus externen

SQL Datenbanken importiert werden können. Zurzeit steht keine frei zugängliche

Testversion des Produktes im Internet zur Verfügung.

5.3 Oracle 11gDas kommerzielle Datenbanksystem Oracle 11g bietet eine native Unterstützung

für RDF/RDFS/OWL. Eine kostenlose Express Edition in der aktuellen Version

wird frühestens Ende 2010 verfügbar sein, solange stehen nur die Express Ver-

sion 10gR2 (nur RDF und RDFS++ Reasoning) oder die kommerzielle Versionen

von 11g zur Verfügung. Mit der aktuellen Release führt Oracle seine neue An-

fragesprache OWL Prime ein, die ein Subset von OWL DL abdeckt. Oracle 11g

34

Page 38: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

5 Tools: Triple Stores als Persistenz

Abbildung 5.2: Architektur Ontobroker Quelle: ontoprise GmbH [12]

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 VirtuosoVirtuoso 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

Page 39: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.

Abbildung 5.3: Architektur Virtuoso Universal Server[16]

5.5 Jena SDB (non native) / TDB (native)Die Komponenten SDB und TDB sind ein Bestandteil des Jena Frameworks und

stellen beide jeweils einen persistenten Triple Store bereit. Die nicht nativ arbei-

tende SDB nutzt als Speicher für den Triple Store ein relationales Datenbanksy-

stem, wobei hier unter anderem die folgenden Systeme unterstützt werden:

• Microsoft SQL Server (auch Express Edition)

• Oracle 10gR2 (auch Express Edition)

• IBM DB2 (auch Express Edition)

• PostgreSQL V8

• MySQL (>= 5.0.22)

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

Page 40: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.).

5.6 Vergleich der vorgestellten Triple StoresJedes der vorgestellten Triple Store Systeme hat seine spezifischen Vorteile, aber

auch Einschränkungen. Bei der Auswahl eines geeigneten Triple Stores für ein

Projekt sind meist neben den funktionalen und nicht funktionalen Anforderun-

gen auch die Lizenzierungsmodelle entscheidend. Die Mehrzahl aller aktuell ver-

fügbaren Semantic Web Implementationen sind nach wie vor Forschungs- und

Entwicklungsprojekte, die wiederum meist mit einem sehr eingeschränkten finan-

ziellen Rahmen durchgeführt werden. Hier bieten sich unter Anderem die frei

zugänglichen Triple Stores Jena SDB / TDB und Virtuoso an. Jena bietet neben

den zahlreichen Schnittstellen zu vielen gängigen Reasonern auch noch Schnitt-

stellen zu externen Triple Stores, wie AllegroGraph und Virtuoso, an. Somit kann

eine Implementierung später einfacher auf leistungsfähigere Triple Stores aus-

gelagert werden. Virtuoso ist in einer kommerziellen Version als Universal Ser-

ver und in einer freien Version als Open Source Edition verfügbar. In dem von

der Freien Universität Berlin veröffentlichtem „Berlin SPARQL Benchmark“ (sie-

he Tabelle 7.1.3) sind klare Performance Vorteile von Virtuoso gegenüber Jena

SDB / TDB erkennbar. Auch bietet sich Virtuoso in Applikationen an, bei denen

auf eine SQL Schnittstelle nicht verzichtet werden kann oder diese von Vorteil

ist. Virtuoso verfügt über einen performanten Reasoner, der allerdings nicht al-

le Reasoning-Features abdeckt. Durch die Anbindbarkeit von Virtuoso an Jena

sind jedoch auch komplexere Reasoning Vorgänge möglich. Der Datenbankser-

ver Oracle 11g, der im Moment leider in keiner Express Edition zur Verfügung

steht, bietet ebenfalls eine Kombination von SQL und RDF Storage. Hierbei un-

terstützt diese eigens von Oracle kreierte Sprache OWL Prime, welche ein sehr

ausdrucksstarkes Subset von OWL abdeckt. In einem von der RWTH Aachen

37

Page 41: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

5 Tools: Triple Stores als Persistenz

durchgeführten Benchmark (siehe Abbildung 7.3) zur Ausführungszeit von ver-

schiedenen Anfragen, sind jedoch keine generellen Vorsprünge von Oracle´s

11g zu Produkten wie z.B. Jena oder AllegroGraph erkennbar. Von Oracle wur-

den ebenfalls Untersuchungen zur Performance gegenüber anderen Triple Store

Systemen in Kombination mit Reasonern durchgeführt und veröffentlicht. Diese

Benchmarks stellen hier klare Vorteile der Datenbank heraus, beziehen sich je-

doch auf extrem große Datenbestände (über 1 Billion Triple) in Kombination mit

komplexen Anfragen[4]. Ein reiner Triple Store mit besonderen Features ist die

kommerzielle Software AllegroGraph, die jedoch in einer auf 50 Millionen Triple

limitierten freien Version verfügbar ist. Neben Schnittstellen zu C#, Java und Lisp

bietet dieser noch die Möglichkeit der Ausführung von Prolog aus Java. Über den

integrierten RacerPro Reasoner lassen sich auch SWRL Regeln ausführen. In

dem Benchmark der RWTH Aachen werden die Geschwindigkeitsvorteile durch

die direkte Ausführung des Reasonings in der Datenbank deutlich (siehe Abbil-

dung 7.3). Auch sind die im Lieferumfang von AllegroGraph enthaltenen Tools wie

der Webviewer AGWebView und der Ontologie Browser Gruff sehr nützliche Tools

bei der Implementierung. Ein weiterer Triple Store, welcher einen auf Kaon 2 ba-

sierenden Reasoner integriert, ist die kommerzielle Middleware Ontobroker. Die

Software verfügt über Möglichkeiten externe SQL Datenbanken als Datenquellen

einzubinden und unterstützt ebenfalls die im Semantic Web gängigen Standards.

Zur Zeit wird die Software nicht in einer frei zugänglichen Testversion angeboten.

Es ist somit abhängig vom Anwendungsfall, welcher Triple Store die sinnvollste

Lösung für die Realisierung eines Projektes darstellt. Für einen ersten Überblick

über die Details zu den Triple Store Systemen kann die Tabelle 7.1.1 im Anhang

herangezogen werden.

38

Page 42: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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

Page 43: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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

Page 44: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

7 Anhang

7.1 Tabellen

7.1.1 Triple Stores im VergleichAllegroGraph

Server Edition

Oracle 11g Jena SDB Virtuoso

Open Source Edition

Ontobroker

Version 3.3 Release 2 2.6.2 6.1.1 5.0

License free edition available (Li-

mit: 50.000 Triples)

free developer license

available

free of charge GPL - free commercial

Source closed closed open open closed

Supported Operating Systems Windows, Linux, Ma-

cOS, Solaris, FreeBSD

Windows, Linux, Solaris,

AIX, HP-UX

all java compatible sy-

stems

Windows, Linux, Ma-

cOS, Solaris, AIX,

HP-UX, Digital Un-

ix/OSF1

Suse Linux 10.x, Win-

dows 2003, Windows

RDFS / OWL Reasoner Supported from Ja-

va Applications: RDF,

RDFS++ (RDFS plus

some OWL con-

structs: owl:sameAs,

owl:inverseOf,

owl:TransitiveProperty,

and owl:hasValue)

OWLPrime supports

RDF, RDFS++ (RDFS

plus some OWL con-

structs: owl:sameAs,

owl:InverseFunctionalPro-

perty) and OWL Prime,a

very expressiv subset

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

YES, provided by Jena 2

Inference Engine

Partial RDFS and OWL-DL

is supported, but on-

ly terms that can be

converted into horn logic

SWRL Yes (via integrated Ra-

cerPro Reasoner)

NO NO, but converters from

SWRL to jena are availa-

ble

NO YES

Prolog Supported from Java Ap-

plications

NO NO NO NO

SPARQL Supported from Java Ap-

plications

NO YES YES YES

OWL Prime NO YES NO NO NO

SQL NO YES YES YES YES

41

Page 45: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

7 Anhang

7.1.2 Reasoner im VergleichPellet Jena 2 Inference Kaon 2 Racer Pro Fact++

Version 2.1.0 2.6.2 29.06.2008 2.0 (preview) 1.3.0

License Usage in non-

commercial open source

apps is free (AGPL).

Usage in closed or com-

mercial apps requieres

license

free of charge free of charge for acade-

mic usage

free of charge, but time

limited version for aca-

demic usage

GNU GPL

Open Source YES YES NO NO YES

Supported Operating Systems all java compatible sy-

stems

all java compatible sy-

stems

all java compatible sy-

stems

Windows 32bit, Linux

32bit, Mac OS X 32bit

x86 CPU

Windows, MacOS, Linux

F-Logic NO NO YES NO NO

RDF(XML) YES YES YES YES YES

N3 NO YES NO NO NO

N-Triple YES YES NO NO NO

RDFS YES YES YES YES YES

OWL OWL-DL + inverse func-

tional datatype proper-

ties from OWL-Full

OWL-Lite OWL-DL OWL-DL OWL-DL

OWL2 OWL2-DL NO NO announced OWL2

SWRL Supported in direct ta-

bleau algorithm

NO YES YES NO

SPARQL Supports SELECT,

CONSTRUCT, and ASK

(No support for DES-

CRIBE, OPTIONAL OR

FILTER)

YES YES YES -

nRQL NO NO NO YES NO

Plugins - - - YES (supported langua-

ge lisp)

-

DIG (OWLlink) Interface YES NO (supported in older

Versions < 2.6.0)

YES YES YES

Interfaces Command Line Tool,

API, Manchester OWL-

API (interface), Jena

(interface), Protégé

(integrated)

Jena (integrated),

Protégé (integrated),

provides the interfaces

to integrated external

reasoners into Jena

RMI Server, Interface

Engine for SPARQL

Java API, Lisp API DIG, C++

7.1.3 Triple Store BenchmarkDie folgende Tabelle zeigt ein Ergebnis aus dem von der Freien Universität Berlin durchgeführten Benchmark „Berlin SPARQL Benchmark“. Für diese Arbeit

relevant sind die Ergebnisse von Jena TDB, Jena SDB, Virtuoso TS (Triple Store), Virtuoso RV (RDF View von relationalen Datenbanken) sowie die zwei SQL

Datenbanken MySQL und Virtuoso SQL. (Sesame ist ein in dieser Arbeit nicht untersuchter Triple Store, D2R Server ist ein Mapper von RDBMS über SQL nach

RDF). Der unten dargestellte Ausschnitt aus dem Benchmark simuliert ein „real world“ Szenario. Hierbei arbeiteten mehrere Clients gleichzeitig gegen einen

SPARQL Endpoint. Die dargestellten Werte sind die Anzahl der von allen Clients zusammengestellten und vom SPARQL Endpoint beantworteten Anfragen.

Tabelle A: Datenbasis 1 Million Triple[2]

Number of Clients 1 2 4 8 64

Sesame 18,094 19,057 16,46 18,295 16,517

Jena TDB 4,45 6,752 9,429 8,453 8,664

Jena SDB 10,421 17,28 23,433 24,959 23,478

Virtuoso TS 12,36 21,356 32,513 29,448 29,483

Virtuoso RV 17,424 28,985 34,836 32,668 33,339

D2R Server 2,828 3,861 3,14 2,96 2,938

MySQL 235,066 318,071 472,502 442,282 454,563

Virtuoso SQL 192,013 199,205 274,796 357,316 306,172Tabelle B: Datenbasis 25 Millionen Triple[2]

Number of Clients 1 2 4 8 64

Sesame 1,343 1,485 1,204 1,3 1,271

Jena TDB 353 513 694 536 555

Jena SDB 968 1,346 1,021 883 927

Virtuoso TS 4,123 7,61 9,491 5,901 5,4

Virtuoso RV 12,972 22,552 30,387 28,261 28,748

D2R Server 140 187 160 146 143

MySQL 18,578 31,093 39,647 40,599 40,47

Virtuoso SQL 69,585 85,146 135,097 173,665 148,813

42

Page 46: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

7 Anhang

7.1.4 Komplexitätsklassen von OWL2Language Reasoning Problems Taxonomic Complexity Data Complexity Query Complexity Combined Complexity

OWL 2 RDF-Based Semantics Ontology Consisten-

cy, Class Expression

Satisfiability, Class Ex-

pression Subsumption,

Instance Checking,

Conjunctive Query

Answering

Undecidable Undecidable Undecidable Undecidable

OWL 2 Direct Semantics Ontology Consisten-

cy, Class Expression

Satisfiability, Class Ex-

pression Subsumption,

Instance Checking

2NEXPTIME-complete

(NEXPTIME if pro-

perty hierarchies are

bounded)

Decidable, but complexi-

ty open (NP-Hard)

Not Applicable 2NEXPTIME-complete

(NEXPTIME if pro-

perty hierarchies are

bounded)

Conjunctive Query Ans-

wering

Decidability open Decidability open Decidability open Decidability open

OWL 2 EL Ontology Consisten-

cy, Class Expression

Satisfiability, Class Ex-

pression Subsumption,

Instance Checking

PTIME-complete PTIME-complete Not Applicable PTIME-complete

Conjunctive Query Ans-

wering

PTIME-complete PTIME-complete NP-complete PSPACE-complete

OWL 2 QL Ontology Consisten-

cy, Class Expression

Satisfiability, Class Ex-

pression Subsumption,

Instance Checking,

NLogSpace-complete In AC0 Not Applicable NLogSpace-complete

Conjunctive Query Ans-

wering

NLogSpace-complete In AC0 NP-complete NP-complete

OWL 2 RL Ontology Consisten-

cy, Class Expression

Satisfiability, Class Ex-

pression Subsumption,

Instance Checking

PTIME-complete PTIME-complete Not Applicable PTIME-complete

Conjunctive Query Ans-

wering

PTIME-complete PTIME-complete NP-complete NP-complete

OWL 1 DL Ontology Consisten-

cy, Class Expression

Satisfiability, Class Ex-

pression Subsumption,

Instance Checking

NEXPTIME-complete Decidable, but complexi-

ty open (NP-Hard

Not Applicable NEXPTIME-complete

Conjunctive Query Ans-

wering

Decidability open Decidability open Decidability open Decidability open

7.1.5 Verwendete SoftwareProdukt URL

SWI Prolog http://www.swi-prolog.org/

SWI Prolog Editor http://lakk.bildung.hessen.de/netzwerk/faecher/informatik/swiprolog/swiprolog.html

Eclipse Classic http://www.eclipse.org/downloads/

OntoStudio http://www.ontoprise.de/deutsch/start/produkte/ontostudio/download-ontostudio/

AllegroGraph http://www.franz.com/downloads/clp/ag_survey

TopBraid Composer http://www.topquadrant.com/products/TB_download.html

Protégé Editor 3.4.4 http://protege.stanford.edu/download/registered.html

Protégé Editor 4.1: http://protege.stanford.edu/download/registered.html

Jess Rule Engine: http://herzberg.ca.sandia.gov/jess/

(place jess.jar in /plugins/edu.stanford.smi.protegex.owl/ directory of Protégé to enable JessTabPlugin)

43

Page 47: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

7 Anhang

7.2 Abbildungen

7.2.1 Abbildung A: Schichtmodell der W3C Technologie

Abbildung 7.1: Das Schichtmodell der W3C Technologie[23]

44

Page 48: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

7 Anhang

7.2.2 Abbildung B: Die Struktur von OWL 2

Abbildung 7.2: Die Struktur von OWL2[28]

7.2.3 Abbildung C: Vergleich Triple Stores im Benchmark

Abbildung 7.3: Vergleich Triple Stores[1]

45

Page 49: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

7 Anhang

7.3 Beispiel Ontologien

7.3.1 Ontologie A1 < h t t p : / / h−da . de / ex1 . owl> < h t t p : / / www.w3 . org /2002/07 / owl# imports > < h t t p : / / swr l . s tan fo rd . edu / on to log ies / 3 . 3 / swr la . owl> .

2 < h t t p : / / h−da . de / ex1 . owl> < h t t p : / / www.w3 . org /2002/07 / owl# imports > < h t t p : / / sqwr l . s tan fo rd . edu / on to log ies / b u i l t−i ns / 3 . 4 /

sqwr l . owl> .

3 < h t t p : / / h−da . de / ex1 . owl> < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#type > < h t t p : / / www.w3 . org /2002/07 / owl#Ontology > .

45 < h t t p : / / h−da . de / ex1 . owl#Ci ty > < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#type > < h t t p : / / www.w3 . org /2000/01 / rd f−schema#

Class > .

6 < h t t p : / / h−da . de / ex1 . owl#hasConnection > < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#type > < h t t p : / / www.w3 . org /2002/07 /

owl#ObjectProper ty > .

7 < h t t p : / / h−da . de / ex1 . owl#hasConnection > < h t t p : / / www.w3 . org /2000/01 / rd f−schema#domain> < h t t p : / / h−da . de / ex1 . owl#Ci ty > .

8 < h t t p : / / h−da . de / ex1 . owl#hasName> < h t t p : / / www.w3 . org /2000/01 / rd f−schema#domain> < h t t p : / / h−da . de / ex1 . owl#Ci ty > .

9 < h t t p : / / h−da . de / ex1 . owl#hasName> < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#type > < h t t p : / / www.w3 . org /2002/07 / owl#

DatatypeProperty > .

1011 < h t t p : / / h−da . de / ex1 . owl# Frank fu r t > < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#type > < h t t p : / / h−da . de / ex1 . owl#Ci ty > .

12 < h t t p : / / h−da . de / ex1 . owl# Frank fu r t > < h t t p : / / h−da . de / ex1 . owl#hasName> " F r an k f u r t am Main " ^^< h t t p : / / www.w3 . org /2001/

XMLSchema# s t r i n g > .

13 < h t t p : / / h−da . de / ex1 . owl# Frank fu r t > < h t t p : / / h−da . de / ex1 . owl#hasConnection > < h t t p : / / h−da . de / ex1 . owl#Hanau> .

1415 < h t t p : / / h−da . de / ex1 . owl# Se l igens tad t > < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#type > < h t t p : / / h−da . de / ex1 . owl#Ci ty >

.

16 < h t t p : / / h−da . de / ex1 . owl# Se l igens tad t > < h t t p : / / h−da . de / ex1 . owl#hasName> " Se l i gens tad t am Main " ^^< h t t p : / / www.w3 . org

/2001/XMLSchema# s t r i n g > .

17 < h t t p : / / h−da . de / ex1 . owl# Se l igens tad t > < h t t p : / / h−da . de / ex1 . owl#hasConnection > < h t t p : / / h−da . de / ex1 . owl#Hanau> .

1819 < h t t p : / / h−da . de / ex1 . owl#Hanau> < h t t p : / / www.w3 . org /1999/02/22− rd f−syntax−ns#type > < h t t p : / / h−da . de / ex1 . owl#Ci ty > .

20 < h t t p : / / h−da . de / ex1 . owl#Hanau> < h t t p : / / h−da . de / ex1 . owl#hasName> "Hanau" ^^< h t t p : / / www.w3 . org /2001/XMLSchema# s t r i n g > .

21 < h t t p : / / h−da . de / ex1 . owl#Hanau> < h t t p : / / h−da . de / ex1 . owl#hasConnection > < h t t p : / / h−da . de / ex1 . owl# Frank fu r t > .

22 < h t t p : / / h−da . de / ex1 . owl#Hanau> < h t t p : / / h−da . de / ex1 . owl#hasConnection > < h t t p : / / h−da . de / ex1 . owl# Se l igens tad t > .

46

Page 50: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

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.

[2] Freie Universität Berlin. Berlin SPARQL Benchmark .

INTERNET Adresse: www4.wiwiss.fu-berlin.de;

Pfad: /bizer/BerlinSPARQLBenchmark/results;

Datei: index.html ; Größe: 246,44 KB; Stand: 16.04.2010, 2010.

[3] Tim Berners-Lee. RDF/N3 Syntax Specification.

INTERNET Adresse: www.w3.org;

Pfad: /DesignIssues;

Datei: Notation3.html ; Größe: 43.21 KB; Stand: 03.04.2010, 1998.

[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.

[5] Wolfgang Ertel. Grundkurs Künstliche Intelligenz - Eine praxisorientierte

Einführung, volume A. Vieweg+Teubner, 1 edition, 2008.

[6] Natarajan Furbach, Ulrich / Shankar. Automated Reasoning. Springer Berlin,

2006.

[7] Golem.de. IT-News: Semantisches Web - W3C verabschiedet OWL2.

INTERNET Adresse: www.golem.de;

Pfad: /0910;

Datei: 70803.html ; Größe: 11.25 KB; Stand: 22.04.2010, 2009.

47

Page 51: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

Literaturverzeichnis

[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.

[10] Franz Incorporated. Architektur von AllegroGraph.

INTERNET Adresse: www.franz.com;

Pfad: /agraph/allegrograph;

Datei: ag_client-server_arch-new.jpg; Größe: 34.88 KB; Stand: 16.04.2010,

2010.

[11] Markus Krötsch. Konjunktive Anfrage- und Regelsprachen.

INTERNET Adresse: www.semantic-web-grundlagen.de;

Pfad: /w/images/a/a1;

Datei: 11-konjunktive-anfragen-regelsprachen_4up-2009.pdf ; Größe:

289.71 KB; Stand: 08.04.2010, 2009.

[12] ontoprise GmbH. Architektur von OntoBroker .

INTERNET Adresse: www.ontoprise.de;

Pfad: /fileadmin/user_upload/Flyer_EN;

Datei: Flyer_OntoBroker_en.pdf ; Größe: 865.29 KB; Stand: 26.04.2010,

2010.

[13] promedia. Interview mit Nils Müller .

INTERNET Adresse: blog.trendone.de;

Pfad: /wp-content/uploads/2010/04;

Datei: Promedia_Interview_NM_Heft4_2010.pdf ; Größe: 723.22 KB; Stand:

25.04.2010, 2010.

[14] Dr. Harald Sack. Vorlesung Semantic Web.

INTERNET Adresse: www.hpi.uni-potsdam.de;

Pfad: /fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web;

Datei: sw0809-06.pdf ; Größe: 1.26 MB; Stand: 06.04.2010, 2006.

48

Page 52: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

Literaturverzeichnis

[15] Holger Sistig. Beweis, Vertrauen und digitale Signaturen.

INTERNET Adresse: semantisches-web.net ;

Pfad: /technologien/beweise-vertrauen-digitale-signaturen;

Größe: 7.15 KB; Stand: 26.04.2010, 2010.

[16] Open Link Software. Architektur von Virtuoso Universal Server .

INTERNET Adresse: virtuoso.openlinksw.com;

Pfad: /images;

Datei: varch625.jpg; Größe: 78.99 KB; Stand: 16.04.2010, 2010.

[17] Christoph Beierle und Gabriele Kern-Isberner. Methoden wissensbasierter

Systeme. Vieweg+Teubner, 2008.

[18] Andreas Schönborn und Peter Kleinhans. Einsatz eines wissensbasierten

Diagnosesystems in der Praxis des technischen Service.

INTERNET Adresse: www.crm-expo.com;

Pfad: /www6/dokumente/vortraege;

Datei: tsystems.pdf ; Größe: 6.42 MB; Stand: 22.04.2010, 2005.

[19] W3C. Resource Description Framework (RDF) Model and Syntax .

INTERNET Adresse: www.w3c.de;

Pfad: /TR/WD-rdf-syntax-971002;

Größe: 32.25 KB; Stand: 03.04.2010, 1997.

[20] W3C. RDF Schema Syntax Specification.

INTERNET Adresse: www.w3.org;

Pfad: /TR/rdf-schema;

Größe: 79.34 KB; Stand: 07.04.2010, 2004.

[21] W3C. RDF/XML Syntax Specification.

INTERNET Adresse: www.w3.org;

Pfad: /TR/REC-rdf-syntax ;

Größe: 192.86 KB; Stand: 08.04.2010, 2004.

[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

Page 53: 201008_Reasoning Tools für das Semantic Web_SermWebReasoningToolEvaluationV1.0

Literaturverzeichnis

[23] W3C. Das Schichtmodell der W3C Technologie.

INTERNET Adresse: www.w3c.de;

Pfad: /PubPraes/2005_W3C-Tag/images;

Datei: RecsFigure-Smaller.png; Größe: 100.79 KB; Stand: 03.04.2010,

2005.

[24] W3C. SPARQL Query Language for RDF .

INTERNET Adresse: www.w3.org;

Pfad: /TR/rdf-sparql-query ;

Größe: 352.7 KB; Stand: 11.04.2010, 2008.

[25] W3C. The Hierarchy of Entities in OWL.

INTERNET Adresse: www.w3.org;

Pfad: /Submission/owl11-owl_specification/images/spec;

Datei: C_entities.gif ; Größe: 6.92 KB; Stand: 24.04.2010, 2010.

[26] W3C. The Hierarchy of Entities in OWL 2.

INTERNET Adresse: www.w3.org;

Pfad: /TR/2008/WD-owl2-syntax-20081008;

Datei: C_entities.gif ; Größe: 6.92 KB; Stand: 24.04.2010, 2010.

[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.

[28] W3C. The Structure of OWL 2.

INTERNET Adresse: www.w3.org;

Pfad: /TR/2009/WD-owl2-overview-20090327 ;

Datei: OWL2-structure-800.png; Größe: 114.54 KB; Stand: 25.04.2010,

2010.

50