You are on page 1of 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

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

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

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 information (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 triple 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 technologies today and in the next generation of the Web (Web 3.0). The supplement of this document contains information about the tools mentioned in the text, which enable the reader to get a first overview about them.

1

Zusammenfassung
Heutzutage enthält das World Wide Web fast jede nur vorstellbare Information. Jede Sekunde wächst der riesige Informationsspeicher. Seitdem das Web benutzerfreundlicher und interaktiver geworden ist (Einführung von Web 2.0 Technologien), 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äsentieren. 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 jedoch 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 Wissensrepräsentation eignet sich ebenfalls, um neues Wissen, welches nicht explizit vorhandenes 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

. . . . . . . . .2 Komplexitätsklassen . . . . .1 1. . . . . . . . .3. . . . . . . OWL DL . . . . . 2. . . . . . . .4. . . .3. . . . . .1 RDF . . . . . 1. . .2 1. . . . 1. . . . .Serialisierung von RDF in Notation 3 . . .6.Serialisierung von RDF in XML . . . . . . . .4. . . . .6 OWL2 . . . . . . . . . . .6. .3 Analogieschluss . . .1 1. .3. . . . . . . . . . 2. .4. .1 Semantic Web . .3 RDF/N3 . .4 RDF Schema . . . . . . . . 2.3 OWL2 EL . . . . . . . . . . . . . . . .Web Ontology Language Version 2 . . . . . . . . . 2. . . . OWL2 RL . .3 Basistechnologien im Semantic Web . . . . . . 1. . . . . . .3. 2.4 Inferenzverfahren . 7 7 9 10 11 12 12 12 13 14 14 14 15 16 16 16 16 18 18 19 19 20 20 20 20 21 1. . . . . . 1. . . . . . . . . . . . . . . . . . . . . . .5. . .3. . . . . . . . . . . .3. . . . . . 2 Reasoning: Methoden zur Inferenz 2. . . . . . . . . .4. . . . . . . . 2. . . .6. . . . . . . . . 1. . . . . . . 3 . . . .1 Open World (OWA) und Closed World (CWA) Assumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 OWL . . . . . . . . . . . . . . . . . . . . .4 Abduktion . . . . . . . 1. . .3. . . . . . . 1. . . . . . . . . . .3. . . . . . . 1. .1 Deduktion . . . . . . . . . . . . .3. . . . . . . . . . . . . . . . . . OWL2 QL . . . . . . .3. . . . . . . . 2. . . . . . . . . . .3 OWL Full . . . . . . . . . . . . . . .2 Ontologie(n) . . . .Inhaltsverzeichnis 1 Einführung 1. . . . .Web Ontology Language . . . 1.3 Abox und Tbox . . . . . . . . . . . . . OWL Lite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Proof and Trust im Semantic Web . . . . . . . . .2 Induktion . . . . . . . . . . .5. . . . . . . . . . . . . . . . . . . .3. . . . .2 1. . . . .2 RDF/XML . . 1. . .3. . . . . . .resource description framework . .5. . .

. . . . .3 Kaon 2 . . . . . . . . . . . . . . . . . . . . . . . .2 Ontobroker 5. . . . . . . . . . . . . 4 Tools: Reasonern für das Semantic Web 4. . . .Tableau based reasoning .0 . . . . . . . . . . . .Inhaltsverzeichnis 2. . . . . . . . . 3. . . . . . . . . . . . . . . . . . . . . . .6. . . . . . .hybrid reasoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . .5 Jena SDB (non native) / TDB (native) . . . . . . . . . . . .5 FaCT ++ . . . . . . . .1 SPARQL . . . . . . 3. . . .rule based reasoning . . . . . 5 Tools: Triple Stores als Persistenz 5. . . .6 Prolog . . . . . . . . . . . .2 Datalog / Prolog . . . . . . . . . . . .2 Regelsprachen . . . . . . . . . . . . . .1 Pellet . .case based reasoning . . . . 2. . . . . . . 6 Ausblick: Reasoning im Semantic Web 21 22 22 22 23 24 24 24 25 25 26 26 26 26 28 28 29 29 29 30 30 31 33 33 34 34 35 36 37 39 4 .und Anfragesprachen 3. . . . . . . .Tableau based . . . . . . .6 CBR und RBR als Grundlage von Expertensystemen . 4. . . 4. . . . . . . . . . . 2. . . . 3. . . . 5. . . . . 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . 3. . . . . . 3 Regel. . . .2. . . . . . . . . . . . . . .Resolutionsverfahren . . . . . . . . . . 5. .3 Anfragesprachen . .4 Virtuoso . . . . . . . . . . . 3. . . . .3. . . . . . . . . . . . 5. 3. . . . . .1 Regeltausch . . . . . .2 Jena 2 Inference . . . . .1 AllegroGraph .2. . 5. . . . . .3 SWRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Semantic Web Rule Language . . . 4. . . . . . . . . 4. . . . . . . . . . . . . . . . .6. . . . . . . . . . . . . . .3 CBR/RBR .6 Vergleich der vorgestellten Triple Stores .3 Oracle 11g . . . . . . . . . . . . . . . . . . 4. . . . . . . . .7 Vergleich der vorgestellten Reasoner . . . . . . . .5 Monotones und Nicht-Monotones Schließen . . . .2 Oracle OWL Prime . . . . . . . 2. 3. . . . .2 RBR . . . . .6. . .3. . . . .Tableau based . . . . . . .1 CBR . . . . . . . . . .1 Was sind Regeln? . .Tableau based reasoning . . . . . . . . . . . . . . . . 2. . . . . . .4 RacerPro . .

. . . . . . . . . . . . . . . .1 Tabellen . . . . . . . . . . . . . . . . . . . . . 7. . . . . . . . . . . . . . . . . . . . . . . . . .2 Abbildung B: Die Struktur von OWL 2 . . . .3. . . . . . . . . . . . . .5 Verwendete Software . . Literaturverzeichnis 5 . . . . . .Inhaltsverzeichnis 7 Anhang 7. . . . .1. . 7. . .2 Reasoner im Vergleich . . . . . . . . . . . . . . . .4 Komplexitätsklassen von OWL2 .2. . . . . . . . . . . . . .2 Abbildungen . .1. . . . . . . . . . . . . . . 7. . . .1 Ontologie A . . .1 Triple Stores im Vergleich . .1. 7. . 7. . . 41 41 41 42 42 43 43 44 44 45 45 46 46 47 7. . . . . . . . .1. . . . . . . . 7. . . . . . . . . . . . .3 Beispiel Ontologien . 7. . . . . . . . . . . . . . . . . . .1. . . .3 Abbildung C: Vergleich Triple Stores im Benchmark . . . .2. .3 Triple Store Benchmark . . . . . . . . . .2. . . . 7. . . . . . . . 7. 7. . . . . . . . . .1 Abbildung A: Schichtmodell der W3C Technologie . .

. 1. [10] .3 Architektur Virtuoso Universal Server[16] . . . . . . 7.1 Beispiel: RDF Graph . . . . . . 5. . . . . . . . . . . . . .1 Das Schichtmodell der W3C Technologie[23] . . . . . . 7. . . . . . . . . . . . . .3 Vergleich Triple Stores[1] . . . . . 1. . . . . . . . . . . . . . .2 Web Ontology Language . . . . . . . . . .1 Architektur AllegroGraph Quelle: Franz Inc. . . . . .Die Hierarchie der Entitäten [26] . . . . 5. . . . . . . . . . . . . . . . . . . .2 Architektur Ontobroker Quelle: ontoprise GmbH [12] . .3 Web Ontology Language 2 . . . . . 12 14 15 34 35 36 44 45 45 6 . . . . . . . . . . . . . . 7.Abbildungsverzeichnis 1.Die Hierarchie der Entitäten [25] . 5.2 Die Struktur von OWL2[28] .

Schnell wird Ihnen dann wohl bewusst. Doch wo ist es bloß? Unter Umständen existiert kein Telefonbuch in gebundener Form mehr. In diesem Kapitel werden zunächst jeweils kurz die Themen Semantic Web. welche diese Ansätze implementieren. Voller Tatendrang machen Sie sich gleich auf die Suche nach dem Telefonbuch.das ist kein Problem!“ beantwortet.1 Einführung Diese Ausarbeitung beschäftigt sich mit Reasoning im Kontext des Semantik Web. Kaum eine andere Innovation konnte sich einer so rasanten Marktverbreitung erfreuen wie das Internet. Oft wird die simple Frage mit der simplen Antwort „Na. 1. welche die zuvor vorgestellten Sprachen unterstützen.leider nur solange die Infrastruktur hält was sie verspricht. Am Ende der Arbeit steht ein Vergleich einiger Software Tools (Reasoner und Triple Stores). Anschließend werden Sprachen vorgestellt. Reicht uns 7 . klar . die mit den Technologien des Semantic Web kompatibel sind. Da die Spezifikation des Semantic Web jedoch einen sehr großen Umfang an unterstützten Formaten und Sprachen abdeckt. denn die Informationen sind inzwischen online zugänglich . Im weiteren Verlauf werden verschiedene Inferenz-Konzepte vorgestellt und erläutert. Ontologie(n) und Formate des Semantic Web vorgestellt. Zwei Tage später ist das Internet ausgefallen und Sie erinnern sich an die Frage. sondern für die gesamte moderne Gesellschaft ist und welchen enormen Stellenwert es für die persönliche Erledigung der täglichen Arbeit hat. wird sich diese Arbeit konkret auf die zum Zeitpunkt der Erstellung gängigsten Technologien beschränken. Der Fokus wird hier auf Sprachen liegen. um die fehlende Information per Telefon erfragen zu können. wie wichtig das Internet nicht nur für Sie. Doch die Anforderungen an das Netz wachsen.1 Semantic Web Fast 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.

um die Informationen im Internet für sich nutzbar zu machen. The Semantic Web will enhance the latter. So ist es für Ihn selbstverständlich. In seinem Leserbrief „What the Semantic Web Won’t Do“ grenzt Tim Bernes-Lee. reaktive und soziale Aspekte besizt und Lernfähigkeit implementiert 8 . mathematical. präsentieren. die unklare Struktur der im Internet verfügbaren Informationen. but processable. ist es notwendig einige der auftretenden Probleme darzustellen. not poetry. 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. geeigneten Informationsspeicher bereitzustellen. Grundlegend ursächlich ist die fehlende Semantik bzw. The Semantic Web will not understand human language. der „Erfinder“ des World Wide Web dieses vom Semantic Web wie folgt ab: The World Wide Web contains documents intended for human consumption. damit Suchmaschinen derartige Herausforderungen bewältigen könnten? Um diese Frage ausreichend beantworten zu können. and those intended for machine processing. boring. Data. Als Fazit hieraus ergibt sich die Notwendigkeit diese Informationen in einem. jedoch aber unter Beachtung von gewissen Syntaxen. proaktive. wie auch immer dieser aussehen könnte.1 Einführung die Tatsache das eine Information im Internet vorhanden und recherchierbar ist zur Befriedigung unseres Anspruchs an moderne Informationsgewinnung wirklich noch aus. dass eine Suche notwendig ist. Die nützlichen Informationen sind nun also für die gewünschte Zielgruppe zugänglich. The Semantic Web is about machine languages: welldefined. welches häufig autonome.[27] 1 Computerprogramm. Jeder Betreiber einer Internetseite kann seine Daten individuell.“ einen gleichen Teilinhalt in sich tragen (nämlich: Karl Müller besitzt ein neues Auto). 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. so ist dieser Umstand für einen Agenten noch lange nicht gegeben. oder wollen wir uns dieser Information einfacher bedienen können? Die aktuelle Erwartung des Internetnutzers ist geprägt von seinen bisherigen Erfahrungen. jedoch in einer nicht direkt vom Computer oder dem Agenten1 interpretierbaren Form.

Die sich aus den Möglichkeiten ergebenden Einsatzgebiete wachsen ständig. Sie enthält Klassen. Als Basis für das gemeinsame Vokabular dient in der Regel eine so genannte Taxonomie.gibt. dass verschiedene Wissensbereiche ein unterschiedliches Fachvokabular bedingen. muss den Daten noch ein Wissen über Zusammenhänge hinzugefügt werden. bedarf es einem geeigneten Format. Funktionen und Axiome.[8] 2 Wissensbereich: Gesamtheit des Wissens innerhalb eines Fachbereichs 9 . Wie bereits festgestellt wurde.1 Einführung Das Semantic Web kann also als eine technische Plattform angesehen werden. Es gibt zahlreiche Forschungsprojekte. In seinem Bericht „Ontologie(n)“ schlägt Prof. ist es wichtig Informationen semantisch einheitlich zu speichern.2 Ontologie(n) Um die Informationen im Semantic Web verwalten zu können. 1. Hinzu kommen Beziehungen und Ableitungsregeln der dort definierten Begriffe. Eine Ontologie in der Informatik ist auf einen Wissensbereich beschränkt. Zu diesem Zweck bedient sich die Informatik hier der so genannten Ontologie. An der Hochschule Darmstadt beispielsweise startete im Sommersemester 2010 das Projekt „KINO“. Eine Ontologie beschreibt eine knowledge domain2 mit Hilfe einer standardisierten Terminologie. Das Ableiten von neuen Informationen aus bereits bekannten wird auch als Schließen. Relationen. macht hier (im Gegensatz zur Philosophie) auch der Gebrauch des Plurals („Ontologien“) Sinn. die für den Benutzer aus dem Hintergrund heraus agiert. Somit ist die Vorstellung einer gemeinsamen Ontologie (welche sämtliches Wissen enthält) eher als unrealistisch zu betrachten. Werkzeuge zum effizienten logischen Schlussfolgern zu entwickeln. auf Basis von semantisch integrierten Informationen. Um also Reasoning betreiben zu können. Dr. jedoch in einer Form.mit einer jeweils eigenen oder sogar mehreren konkurrierenden Terminologien . Diese Notwendigkeit ergibt sich aus der Tatsache. Ziel des Projektes ist es. Inferenz oder Reasoning bezeichnet. jedoch einen enormen Mehrwert mit sich bringt. die es erlaubt Zusammenhänge ableiten zu können. Wolfgang Hesse wie folgt die Verwendung des Plurals „Ontologien“ vor: Da es viele Wissensbereiche . die sich mit der Nutzung von semantischen Technologien in den verschiedensten Disziplinen beschäftigen.

Doch welche konkreten Vorteile ergeben sich nun aus der Verwendung von Ontologien im Semantic Web? Hier kann unter anderem die Steigerung der Interoperabilität genannt werden: Kommuniziert zum Beispiel eine Suchmaschine mit einem WebService ohne Zugang zu einer gemeinsamen Ontologie. Ohne das notwendige Hintergrundwissen über den Aufbau eines XML Dokumentes. so muss eine gemeinsame Interpretationsvorschrift für die Daten existieren.formale Definition der Dokumentenstruktur 10 . • Repräsentation sowie Wiederverwendung von Wissen. aber nicht verarbeitet werden kann. definieren Datentypen und den Aufbau eines Dokumentes. ist eine maschinelle Auswertung nicht möglich. • Automatisches Schließen von Wissen. Sie normieren Begriffe.B.1 Einführung Die Informatik verwendet Ontologien zurzeit in folgenden Bereichen: • Kommunikation von Wissen. Steht jedoch eine gemeinsam nutzbare Ontologie zur Verfügung. Einen weiteren Vorteil stellt die Möglichkeit der direkten Inferenz auf Basis des in der Ontologie enthaltenen Wissens dar. wie unter anderem XML Namensräume. XML Schema und DTD6 Abhilfe. Mit XML ist der plattform. kann die Interpretationsvorschrift entfallen. da die Daten für beide Seiten eindeutig sind. warum ein XML Dokument zwar ohne eine direkte Interpretationsvorschrift gelesen. Hier schaffen Technologien. Der hohe Freiheitsgrad von XML (zum Beispiel die Definition von beliebigen eigenen Tags) macht das Format universell einsetzbar. XHTML) hat maßgeb3 4 eXtensible Markup Language Standard Generalized Markup Language 5 World Wide Web Consortium 6 Dokumententyp-Deklaration .und implementationsunabhängige Austausch von Daten möglich.3 Basistechnologien im Semantic Web 1996 startete die Entwicklung von XML3 . Diese flexible Kopplung von Daten (XML) zu einer Interpretationsvorschrift (z.02. 1. XML ist eine beliebig erweiterbare Auszeichnungssprache für hierarchisch strukturierte Dokumente und wurde vom W3C5 erstmals am 10.1998 spezifiziert. Dies ist jedoch auch der Grund. 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.

Objekt zu definieren. sind zusätzliche Technologien notwendig. Soweit lassen sich nun also Daten mit der dazugehörenden Semantik darstellen. Die Verknüpfung der Aussagen basiert auf der sogenannten Reifikation7 . Prädikat.1). RDF stellt somit eine allgemeine Sprache zur Repräsentation von Wissen im Netz dar. 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. Trotz der Effizienz von XML. Hierzu wurden vom W3C zusätzliche Standards wie zum Beispiel RDF.1 Einführung lich zu der rasanten Verbreitung des Standards beigetragen. 1. Das RDF Format bietet nun die Möglichkeit. Das Subjekt stellt hierbei die Ressource dar. Das Semantic Web ist auf komplexe Wissensrepräsentationen angewiesen. Hierdurch würde sich aus den Aussagen ein RDF Graph ergeben (siehe Abbildung 1. Statements in Form von Subjekt. entsteht ein gerichteter Graph. das Prädikat „studiert an“ und das Objekt „h_da“. Durch die Möglichkeit die so definierten Informationen miteinander zu verknüpfen. Das Objekt tritt als Objekt der Beziehung bzw. 7 Reifikation: Objekt eines RDF Tripel kann wiederum ein Triple sein (Aussagen über Aussagen) 11 . Das Prädikat ist ein Merkmal dieser und meist Ausdruck einer Beziehung zwischen Subjekt und Objekt. Als Beispiel könnte eine Aussage wie „Karl Müller studiert an der h_da“ angesehen werden.1 RDF . RDFS und OWL spezifiziert. Es wurde 1997 erstmals in einer Empfehlung des W3C[19] veröffentlicht. DTD und XML Schema sind diese alleinstehend im Kontext des Semantic Web als nicht ausreichend effektiv anzusehen.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. welche sich mit den bisherigen Standards nicht in der benötigten Form abbilden lassen. Dazu wurde das Resource Description Framework (RDF) entwickelt.3. In diesem Fall wäre das Subjekt „Karl Müller“. So könnten weitere in RDF formulierte Aussagen „h_da ist in Darmstadt“ und „Karl Müller wohnt in Frankfurt“ sein. als Wert des Prädikates auf.

1 2 3 4 5 @prefix ex1 : < h t t p : / / h−da . w3 . org /1999/02/22 − r d f−syntax−ns#> . de / concepts / Hochschule " / > </ r d f : D e s c r i p t i o n > </ r d f : RDF> 1. de / e n t i t y / K a r l _ M u e l l e r " > < r d f : t y p e r d f : r e s o u r c e = " h t t p : / / h−da . de / concepts / Person > .1 Einführung Abbildung 1. stellt Notation 3 eine Serialisierung von RDF Graphen dar.Serialisierung von RDF in Notation 3 Ebenso wie RDF/XML. die zuvor in RDF verknüpften Ressourcen näher zu bestimmen. de / concepts # " > < r d f : D e s c r i p t i o n r d f : about= " h t t p : / / h−da . < h t t p : / / h−da . @prefix r d f : < h t t p : / / www.1: Beispiel: RDF Graph 1. de / concepts #> .Serialisierung von RDF in XML Da das in RDF repräsentierte Wissen einer Persistenz bedarf. ex1 : S t u d i e r t A n < h t t p : / / h−da . wurde vom W3C mit RDF/XML[21] ein Standard für die Abbildung in XML geschaffen. Die Spezifikation wurde von Tim Berners-Lee verfasst und 1998 vom W3C veröffentlicht.[3]. de / e n t i t y / h_da> .3. de / e n t i t y / h_da " / > </ r d f : D e s c r i p t i o n > < r d f : D e s c r i p t i o n r d f : about= " h t t p : / / h−da .3. 1. 0 " ?> < r d f :RDF xmlns : r d f = " h t t p : / / www.3.2 RDF/XML . < h t t p : / / h−da . de / e n t i t y / h_da " > < r d f : t y p e r d f : r e s o u r c e = " h t t p : / / h−da . Doch fehlen Konstrukte um Eigenschaften von Objekten genauer beschreiben zu können. Mit Hilfe dieses Standards ist es möglich. 12 . de / e n t i t y / K a r l _ M u e l l e r > r d f : t y p e < h t t p : / / h−da .4 RDF Schema Mit RDF ist es nun möglich Aussagen über Objekte zu treffen und diese miteinander in Relation zu setzen. 1 2 3 4 5 6 7 8 9 10 11 12 <?xml v e r s i o n = " 1 .3 RDF/N3 . org /1999/02/22 − r d f−syntax−ns# " xmlns : ex1= " h t t p : / / h−da . Notation 3 basiert nicht auf XML und stellt eine für Menschen lesbarere Abbildung von RDF dar. Hier schafft der 2004 vom W3C veröffentlichte Standard RDF Schema (RDFS) Abhilfe[20]. de / e n t i t y / h_da> r d f : t y p e < h t t p : / / h−da . de / concepts / Hochschule > . Das Beispiel zeigt die serialisierte Darstellung des zuvor erzeugten RDF Graphen. w3 . de / concepts / Person " / > <ex1 : S t u d i e r t A n r d f : r e s o u r c e = " h t t p : / / h−da .

Klasse Europa mit allen Ländern im Kontinent Europa). Ontologiesprache angesehen.1 Einführung RDFS ermöglicht es eine benutzerdefinierte Terminologie zu definieren. Da die Web Ontology Language sehr komplexe Möglichkeiten zur Wissensrepräsentation integriert. Die Ressource Hochschule kann nun mit rdf:subClassOf Bildungseinrichtungen zum Beispiel als ein Bildungseinrichtung definiert werden. • rdfs:Literal: Klasse aller literarischen Werte wie z. Wichtige Konstrukte von RDFS sind: Klassen: • rdfs:Resource: Klasse aller Ressourcen.3. Sie ergänzt RDFS um noch fehlende Features. die benötigt werden um vollwertige Ontologien abzubilden. Die Abbildung 1. Schnittmengen verschiedener Klassen. 1. Für die Konstruktion neuer Klassen stehen unter anderem folgende Möglichkeiten zur Verfügung: Aufzählung der Instanzen. daher wird die Sprache auch oft als eine erste. Kardinalitäten oder Komplementäroperationen. 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.B.5 OWL .2 stellt die Hierarchie der Entitäten in OWL dar. Hierzu zählt unter anderem die Möglichkeit der Bildung von Subklassen über Schnittmengen (z. wenn auch einfache. Vereinigung mehrerer Klassen.Web Ontology Language Die Web Ontology Language basiert im Wesentlichen auf DAML+OIL.B. 13 . definierte das W3C die Sprache in 3 Stufen um die Handhabung zu vereinfachen. • rdfs:Class: Klasse aller Ressourcen die Klassen sind.

Die Hierarchie der Entitäten [25] 1. Eine Instanz einer Klasse kann wiederum eine Klasse sein. 8 Description Logic 14 . 1. Die Komplexität von OWL Lite liegt in EXPTIME.3 OWL Lite OWL Lite verfügt über alle Restriktionen von OWL DL.3. Damit ist es nicht mehr möglich. In OWL Full ist das Konstrukt owl:Class als äquivalent zu rdfs:Class. Die Komplexität von OWL DL liegt in NEXPTIME.5. 1.2 OWL DL OWL DL8 hat zum Ziel die maximale im Reasoning noch entscheidbare Menge an Konstrukten zu erlauben. Zusätzlich sind jedoch zur Konstruktion von Klassen nur der Durchschnitt und Eigenschaftseinschränkungen zulässig.1 Einführung Abbildung 1. aber dennoch leistungsstark im Reasoning sein. Auf die Benutzung von RDFS Konstrukten sollte hier verzichtet werden (good practice).5.5.3. Hierzu trennt die Sprache DL strikt zwischen Klassen (owl:Class) und Instanzen (owl:Thing).2: Web Ontology Language . dass eine Instanz einer Klasse wiederum eine Klasse ist.1 OWL Full OWL Full stellt die maximale Ausbaustufe von OWL dar und es existieren somit keine Einschränkungen. sowie owl:Thing als äquivalent zu rdfs:resource anzusehen. Aufgrund dieser Tatsache ist die Sprache sehr komplex und gilt als nicht entscheidbar. Hierdurch soll die Sprache einfacher zu implementieren.3.

Eine Übersicht über die Komplexitätsklassen in OWL 2 bzw. diese erst wirklich möglich macht.1. bzw..Web Ontology Language Version 2 Bereits 2004 wurde die Web Ontology Language in ihrer ersten Version vom W3C eingeführt.3. um disjoint union von Klassen) und die Ausdrucksfähigkeit (Schlüssel. OWL 2 verfolgt den Ansatz einer einfacheren und praxisnäheren Implementierung der Web Ontology Language. Diese können je nach Komplexität der zu realisierenden Anwendung verwendet werden.4 (Komplexitätsklassen von OWL2). Ein Indikator für die geringe Praxistauglichkeit der Sprache ist die langsame Verbreitung am Markt[7].1 Einführung 1. dass die Implementierung der Sprache keinesfalls so leicht ist wie dies ursprünglich angestrebt war. Ein weiteres wichtiges Merkmal der neuen Sprache ist die Möglichkeit zur Interaktion mit relationalen Datenbanksystemen.3 stellt die Hierarchie der Entitäten in OWL 2 dar. wurden in OWL 2 drei Sprachprofile eingeführt. welche die Verarbeitungszeit von großen Datenmengen enorm beschleunigt. Die Abbildung 1.) im Vergleich zur Web Ontology Language der ersten Version erweitert.B. Um dieses Ziel zu erreichen. Verkettung von Eigenschaften. Im Laufe der Zeit wurde jedoch klar.Die Hierarchie der Entitäten [26] 15 . So ist zum Beispiel OWL-Lite von der Komplexität beinahe so mächtig wie OWL DL. Abbildung 1.3: Web Ontology Language 2 .. Unabhängig von der Vereinfachung der Implementierung wird die Syntax (z.6 OWL2 . . OWL DL finden Sie im Anhang 7.

Die Implementierung ist verhältnismäßig einfach. Um mit diesem Umstand umgehen zu können.6. Seine Taxonomie entspricht der Komplexitätsklasse NLogSpace. Trotz ihrer Notwendigkeit sind diese Konzepte in den letzen Jahren zwar weiterentwickelt worden. um die Wahrheit einer Aussage zu beweisen oder zu wiederlegen. welche für eine Vertrauensstellung zwischen Agenten und Aussagen benötigt werden.1 Einführung 1. da zur Definition von Regeln OWL Axiome dienen.6.1 OWL2 EL Das Profil EL richtet seinen Fokus auf Ontologien. welche mit einer großen Menge von Instanzen arbeiten.3. Es basiert auf der Beschreibungslogik EL + +.3 OWL2 RL Mit RL schafft die OWL 2 ein Profil.3. Die Beweis-Schicht (proof layer) hat die Aufgabe das World Wide Web bzw.3. Die Taxonomie des Profils verfügt über eine Komplexität von PTIME. sondern vielmehr gibt sie 9 10 Strategien zum Beweis oder Wiederlegen von Aussagen Strategien zur Schaffung einer Vertrauensstellung 16 . die Ontologie zu durchsuchen. Hierfür unterstützt das Profil die Einbindung von relationalen Datenbanken. welches auf die Verwendung mit regelbasierte Systeme zugeschnitten ist.4 Proof and Trust im Semantic Web Das Semantic Web trägt eine große Menge von Wissen in sich. 1. Je größer der Bestand an Fakten jedoch wird. desto wahrscheinlicher ist das Auftreten wiedersprüchlicher Informationen in der Wissensrepräsentation. Die Taxonomie entspricht der Komplexitätsklasse PTIME. Bei der Vertrauens-Schicht (trust layer) handelt es sich um Informationen. Sie hat nicht die Aufgabe fehlerhafte Aussagen in einer Ontologie zu unterbinden. 1. jedoch noch weit von einer Standardisierung entfernt. welche eine große Menge von Eigenschaften und Klassen beinhalten.2 OWL2 QL Im Profil QL fokussiert die Web Ontology Language 2 Anwendungen. sieht das Semantic Web die auf der Logikschicht aufbauenden Strategien Proof9 und Trust10 vor. 1.6.

1 Einführung dem Agenten die Möglichkeit die Glaubwürdigkeit einer Aussage anhand eines Herausgebers einzustufen.[15] 17 .

Das Reasoning1 ist jedoch keine Erfindung des Semantic Web. ist die Betrachtung der Ontologie entscheidend.1 Open World (OWA) und Closed World (CWA) Assumption Für die Komplexität und Entscheidbarkeit eines Algorithmus. Ein OWA basierter Reasoner würde die gleiche Frage jedoch mit „es konnte kein Hinweis darauf gefunden werden. Existiert zum Beispiel in einer Ontologie keine Information „Autos können schwimmen“ so würde die Fragen „Können Autos schwimmen“ von einem CWA basierten Reasoner mit „Nein“ beantwortet. geht die Open World Assumption (OWA) immer von einer unvollständigen Ontologie und somit nicht bekanntem Wissen aus. um die Entscheidbarkeit beizubehalten. Hier kommen nun Verfahren der Inferenz. zum Einsatz. Was nun noch fehlt sind Techniken. Häufig ist man im praktischen Einsatz von Reasoningtechnologien gezwungen von der CWA auszugehen. also Reasoningtechnologien. Während die Closed World Assumption (CWA) nur auf Basis des in der Ontologie bekannten Wissens agiert. 2. um dieses Wissen intelligent bewerten und interpretieren zu können. Der folgende Teil der Arbeit beschäftigt sich mit den Grundlagen. aber es ist durchaus möglich“ beantworten.2 Reasoning: Methoden zur Inferenz Die Verknüpfung der im Web enthaltenen Fakten mit den dazugehörigen Bedeutungen stellt die Grundlage des Semantic Web dar. Methoden und Anwendungen des Reasonings. was die Komplexität erhöht und die Abfragen unentscheidbar macht. sondern ein Bereich der künstlichen Intelligenz. da er in der Ontologie keinen Hinweis auf schwimmende Autos finden kann. Ein Beispiel wäre die Frage nach dem gün1 Reasoning: Schließen. Schlüsse ziehen 18 .

(deterministisch) • N EXP T IM E: Klasse aller in exponentieller Zeit lösbarer Probleme. Diese Anforderung wird durch eine Einteilung des Wissens in eine Abox (Behauptungen) und ein Tbox (Terminologie) umgesetzt. in einem Preisvergleichs-Portal) nicht akzeptabel ist.2 Reasoning: Methoden zur Inferenz stigsten Preis für ein bestimmtes Produkt. Begriffe (z.a. 2.B.3 Abox und Tbox Da der Schwerpunkt bei semantischen Netzen nicht auf der Beschreibung von Zusammenhängen auf der Ebene von Individuen2 . sondern auf der von Konzepten3 liegt. Karl Müller als Instanz des Konzept Mensch) Klassen bzw. .B. Es kann nie ausgeschlossen werden das das Produkt noch irgendwo günstiger verfügbar ist. wie zum Beispiel „Karl Müller ist eine Person“.. was jedoch für den praktischen Einsatz (z. in einer OWA jedoch niemals. Diese ist in der CWA entscheidbar. (nicht deterministisch) 2. ist es notwendig die Wissensbasis in zwei Ebenen zu unterteilen. Mensch.) 19 . Die Komplexitätsanalyse analysiert Probleme (nicht Algorithmen) und ordnet diesen Komplexitätsklassen zu. Unterschieden werden u.: • P : Klasse aller in Polynomialzeit lösbarer Probleme (deterministische) • N P : Klasse aller in Polynomialzeit lösbarer Probleme (nicht deterministische) • P SP ACE: Klasse aller mit polynomiellem Platz lösbaren Problemen. 2 3 Instanzen einer Klasse (z. Die Tbox wiederum enthält Aussagen über die Terminologie. über die Effizienz eines bestimmten Algorithmus zu sprechen.2 Komplexitätsklassen Die Analyse von Algorithmen und die O() Notation ermöglicht es. (deterministisch / nicht deterministisch) • EXP T IM E: Klasse aller in exponentieller Zeit lösbarer Probleme. Die Abox enthält Fakten. also zum Beispiel „Personen haben Berufe“ oder auch „Angestellte sind Personen“.B. Fahrzeug.

2. so kann ein gültiger deduktiver Schluss „Tinas Auto ist schwarz“ lauten.3 Analogieschluss Das Analogieschlussverfahren ist eine Sonderform der Induktion. hinterlegt. Resultaten und Gesetzen kommen verschiedene Verfahren zum Einsatz.4. Gehen wir also zum Beispiel von der Regel „Alle Ford Modell T sind schwarz “ und der Aussage „Tina besitzt einen Ford Modell T“ aus. Ein Beispiel: Eine Ontologie kennt 10. Im Folgenden werden drei Inferenzverfahren. Gesetze die durch Induktion bestimmt wurden müssen nicht allgemein gültig sein. würde der Schluss seine Gültigkeit verlieren. das neu in der Ontologie eingetragene Informationen den Schluss ungültig machen können. Je nach gegebenen Fakten.000 dieser 10. Induktion und Abduktion vorgestellt. Zu 9. Würde nur ein Ford Modell T mit einer Farbe ungleich schwarz eingetragen. Auch dieses Verfahren untersucht das Wissen einer Ontologie. Durch Induktion ist es nun möglich die Farbe von Tinas Auto herzuleiten. da diese nur auf den bekannten Fakten und Resultaten beruhen.000 Autos ist eine Farbinformation. 2. Zusätzlich existiert noch die Aussage „Tina Maier fährt einen Ford Modell T“. Diese werden in verschiedensten Aussagen verwendet.4 Inferenzverfahren Inferenzverfahren bilden die Schlüsseltechnologie zur Implementierung moderner Reasoning-Algorithmen. nämlich die Deduktion. schwarz.2 Induktion Die Induktion ist ein synthetisches Verfahren und versucht auf Basis von Resultaten und Fällen die dazugehörigen Gesetzmäßigkeiten zu bestimmen. nämlich „schwarz“.1 Deduktion Eine Deduktion ist die Anwendung von allgemeinen Regeln auf Fakten. Ein wichtiger Unterschied zur Deduktion stellt die Tatsache dar.2 Reasoning: Methoden zur Inferenz 2. 2.000 Ford des Modell T. nämlich schwarz. Somit sind alle in der Ontologie bekannten Ford Modell T. die über eine hinterlegte Farbeigenschaft verfügen.4. In der Ontologie ist kein Farbwert für den Ford T von Tina hinterlegt. Bei den restlichen 1000 Ford T wurde kein Farbwert hinterlegt. jedoch im Bezug auf die Ana20 .4. Sie hat somit den Charakter einer „Wenn -> Dann“ Schlussfolgerung und besitzt eine gegebene Notwendigkeit.

Bei der Abduktion sind meist mehrere Lösungen möglich. Hieraus kann nun der folgende Analogieschluss gezogen werden: „Ein Bus ist ein Verkehrsmittel“. 2. Eine mögliche abduktive Lösung wäre nun. auf Basis 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“. von dem Gesetz „Alle Ford Modell T sind schwarz“ auf „Karl Müller fährt ein Ford Modell T“ zu schließen. dennoch ist der abduktive Schluss gültig. Als Beispiel kann auch hier die Aussage „Karl Müller fährt ein schwarzes Auto“ angesehen werden. Die Abduktion ist das Schlussverfahren mit dem höchsten Fehlerrisiko. Wird nun nur ein Element aus der Kiste entnommen das nicht blau ist. Beim nichtmonotonen Schließen kann neues Wissen in einer Ontologie den zuvor gezogenen Schluss jedoch negativ beeinflussen. wie gering die Wahrscheinlichkeit eines wahren Schlusses ist. Somit ist es nicht möglich das ein neues Statement eine negative Auswirkung auf einen zuvor gezogenen Schluss hat. Ein solcher Schluss kann z.4 Abduktion Auch die Abduktion ist synthetisch.B.5 Monotones und Nicht-Monotones Schließen Die Unterscheidung von monotonen und nicht-monotonen Schlüssen ist beim Reasoning von elementarer Bedeutung. würde der zuvor induktiv gefasste Schluss nicht mehr zutreffen.2 Reasoning: Methoden zur Inferenz logie von Aussagen. eine große Menge an Wissen in der Ontologie um eine ausreichende Zuverlässigkeit im Wahrheitsgehalt der Schlüsse zu erreichen. Beim monotonen Schließen hat das Hinzufügen von Wissen in einer Ontologie keine verminderten Einfluss auf einen zuvor gezogenen Schluss.4. „Ein Auto ist ein Verkehrsmittel“ und „Ein Bus kann eine Person befördern“. genau wie die Induktion. 2. da von einem Bekannten (nämlich dem Resultat) auf zwei Unbekannte geschlossen wird. wobei einer der Lösungen durch Logik (Abwägung) ein Vorrang gewährt wird. Sie schließt aus einem bekannten Resultat auf einen möglichen Fall und ein mögliches Gesetz. Selbstverständlich benötigt auch dieses Verfahren. Ohne großen Aufwand ist zu erkennen. Ein Beispiel: Geben sind die folgenden Fakten: „Ein Auto kann eine Person befördern“. Eine neue 21 .

rule based reasoning Das regelbasierte Schließen (RBR) basiert auf der Verkettung von Regeln. die zum Eintritt der Konklusion geführt haben zu ermitteln. häufig in Help-Desk Systemen eingesetzt. Eine Regel besteht aus WENN (Prämisse) und DANN (Konklusion).a.2 Reasoning: Methoden zur Inferenz Information (nämlich das nicht blaue Objekt) widerlegt also den zuvor gültigen Schluss. Oft ist es notwendig Vorwärts. 2. Auch sind Anwendungen im Bereich der Beratungssysteme von ECommerce Anwendungen vorgesehen. Die Vorwärtsverkettung (forward chaining) versucht auf Basis von Tatsachen und Regeln eine gültige Konklusion zu finden. Es unterscheidet sich hauptsächlich in der Ausrichtung. Regelbasierte Systeme können datengetrieben (Vorwärtsverkettung) oder zielgetrieben (Rückwärtsverkettung) arbeiten. welches auf bereits gelösten Fällen aufbaut und das Ableiten von Analogien nutzt um neue Fälle zu lösen.6. Die Grundlage des CBR Systems bildet die Falldatenbank. welche in einer Regelbasis gespeichert sind. 2.und Rückwärtsverkettungen zu kombinieren um komplexe Schlussfolgerungen ziehen zu können[17]. Die Rückwärtsverkettung (backward chaining) versucht hingegen auf Basis von Konklusionen und Regeln die möglichen Tatsachen. sondern eher pragmatisch orientiert ist und die Beziehung zwischen Episoden abbildet. da es weniger auf abstraktem Wissen und den strukturellen Ähnlichkeiten aufbaut. Das Verfahren wird u. in welcher sich die Referenzfälle befinden.case based reasoning Das fallbasierte Schließen (CBR) ist ein dem Analogieschluss ähnliches Verfahren. wo man es zur Diagnose.6.1 CBR .und Lösungsunterstützung bei Problemen einsetzt.6 CBR und RBR als Grundlage von Expertensystemen 2.2 RBR . 22 . Diese Referenzfälle können jedoch auch in der Ontologie vorgehalten werden[17].

3 CBR/RBR .6. Ein Beispiel für den Einsatz einer solchen hybriden Technologie in der Praxis demonstriert der Vortrag von Andreas Schönborn (T-Systems) und Peter Kleinhans (iisy AG) „Einsatz eines wissensbasierten Diagnosesystems in der Praxis des technischen Service“[18] .hybrid reasoning Ein moderner Ansatz ist die Kombination von CBR und RBR in so genannten Hybrid-Systemen.2 Reasoning: Methoden zur Inferenz 2. Hierbei agieren beide Reasoner getrennt oder in einer implementationsabhängigen Verkettung. 23 .

Logische Regeln: logische Erweiterung der Wissensbasis. ← M ann(x) ∧ F rau(x) • Definite Klausel: Klausel mit GENAU einem nicht negierten Atom V ater(x) ← M ann(x) ∧ hatKind(x. Sie lassen sich in folgende Gruppen unterteilen:[11] • .B.Prozedurale Regeln: ausführbare Maschinenanweisung (IF x THEN y ELSE z). deklarativ • . können aber auch wahrscheinliche.B. Regeln zur RDF Semantik) Bezeichnungen für „Regeln“ der Prädikatenlogik:[14] • Klausel: Disjunktion von atomaren Aussagen oder negierten atomaren Aussagen.2 Regelsprachen Trotz der Ausdrucksmächtigkeit der Web Ontology Language. y) • Fakt: Klausel aus einem EINZIGEN nicht negierten Atom. ist es teilweise nötig diese mit Hilfe von Regelsprachen zu erweitern um generelle Gesetzmäßigkeiten einfacher ausdrücken zu können (z.B. Erwachsene sind Personen >= 18).und Anfragesprachen 3. häufig Closed World • . operational • . periodische oder regelmäßige Dinge ausdrücken.Ableitungsregeln eines Kalküls (z. F rau(katarina) 3. 24 .3 Regel. Open World. Prolog): Approximation logischer Semantik mit operationalen Aspekten. F rau(x) ∨ M ann(x) ← P erson(x) • Hornklausel: Klausel mit HÖCHSTENS einem nicht negierten Atom.1 Was sind Regeln? Regeln beschreiben Gesetzmäßigkeiten.Logikprogrammierung (z. Richtlinien und Normen.

wie folgt aussehen: 1 2 3 4 5 6 train_connection ( " F r a n k f u r t " . city_connected ( X . der diesen Zusammenhang einmal mit der Formel „Algorithm = Logic + Control“ [5] ausdrückte.und Abfragesprache. wurde 2005 vom W3C mit der Entwicklung eines hierfür geeigneten Formates. Regeln unter Anwendungen zu tauschen (z. " Hanau " ) . In der KI und in der Computerlinguistik ist Prolog auch heute noch weit verbreitet. city_connected ( X .und Anfragesprachen Auch ist es mit Hilfe von Regelsprachen möglich. Y) :− city_connected ( Y . city_connected ( X . Y) .2 Datalog / Prolog Die Sprache Prolog beschreibt logische Zusammenhänge elegant. welche Wissensbasen („Datalog. mit welchen ein schneller Einstieg in die Logikprogrammierung möglich wird. Datalog ist eine logische Regel. verfügt jedoch nicht über den vollen Leistungsumfang.[27] Unabhängig von den Bemühungen des W3C einen Standard zu finden. Z ) .2. Zusätzlich existieren noch prozedurale Komponenten. die zur Programmierung von Algorithmen zwangsläufig notwendig sind. " F r a n k f u r t " ) . Für Prolog stehen zahlreiche leistungsfähige Tools wie zum Beispiel SWI-Prolog (siehe verwendete Software im Anhang 7. Datalog unterscheidet sich in seiner Syntax nur geringfügig von Prolog.[9] 3.1 Regeltausch Um einen standardisierten Regeltausch zwischen den verschiedenen Regelsprachen und Inferenzsystemen zu ermöglichen.2. Einer der Pioniere der Logikprogrammierung ist Robert Kowalski. kompakt und deklarativ. 25 . benutzerfreundliches und auf XML basierendes Regelformat dar. wurde im von der EU geförderten Projekt REWERSE (Working Group I1) bereits das Regelaustauschformat R2ML entwickelt.5) zur Verfügung. 3. " S e l i g e n s t a d t " ) . train_connection ( " Hanau " . ?− city_connected ( " S e l i g e n s t a d t " .B. dem RIF (Rule Interchange Format) begonnen.1. Die Gesamtkomplexität beträgt wie bei OWL Lite EXPTIME. city_connected ( Z . Die R2ML stellt ein verständliches. X) . welches die Möglichkeit einer Zugverbindung zwischen Seligenstadt und Frankfurt evaluiert. Geschäftsregeln). Y) :− train_connection ( X . So könnte ein Beispielprogramm. genau wie Prolog. Im Folgenden werden wichtige Grundideen im Bezug auf Regelsprachen vorgestellt. X) . Programme“) aus Horn-Klauseln ohne Funktionssymbol darstellt. entscheidbar und effizient für große Datenmengen.3 Regel. Y) :− train_connection ( Y . Sie ist.

2. welcher die gefundenen Ressourcen beschreibt.und Anfragesprache SPARQL wurde am 15.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. owl#> 2 SELECT ? class 3 WHERE { 4 ? class r d f : type ex1 : C i t y . ?y ) ∧ hasConnection ( ? y . ?x ) hasConnection ( ? x . Ressourcenbezeichner (URI) und Listen einteilen lassen. DESCRIBE: Liefert einen einzigen RDF Graphen zurück.3. CONSTRUCT: Konstruiert.[24] Trotz großer Unterschiede erinnert die Sprache rein optisch und in Teilen ihrer Syntax an SQL. auf Basis im Anhang befindlichen Ontolgie A. mit Hilfe des bei der Anfrage verwendeten Graph Template. Die Sprache wird von den meisten gängigen Semantic Web Tools unterstützt und verfügt über eine einfache Syntax. mit welcher es möglich war Abfragen 26 . 5 ? class ex1 : hasConnection ex1 : S e l i g e n s t a d t 6} 3. Das zuvor in Prolog formulierte Beispiel würde. ASK: Liefert ein boolsches Ergebnis zurück. ?y ) → hasConnection ( ? y .3 Regel. Es gibt vier unterschiedliche Formen: SELECT: Liefert direkt Variablen oder deren Bindungen zurück. ob eine Anfrage ein Ergebnis liefern würde. Zeiten.3 Anfragesprachen 3. Zeichenketten. ?z ) → hasConnection ( ? x .3 SWRL .01.2 Oracle OWL Prime Bereits im Jahr 2005 führte Oracle in der Version 10gR2 die Unterstützung von RDF in seinem Datenbanksystem ein. Beispiel einer SELECT Anfrage: 1 PREFIX ex1 : < h t t p : / / h_da . Wahrheitswerte. de / ex1 .[22]. durch Ersetzen von Variablen einen neuen Graphen. ?z ) 3.2008 vom W3C als Empfehlung freigegeben.3. Ein Feature der Sprache sind Built-Ins. Mathematik. welche sich in verschiedene Kategorien Vergleich.und Anfragesprachen 3.1 SPARQL Die Protokoll. Die Semantic Web Rule Language wird von vielen gängigen Triple Stores und Reasonern unterstützt. in SWRL wie folgt formuliert: 1 2 hasConnection ( ? x .

SymmetricProperty. OWL Prime unterstützt folgende Konstrukte: • rdfs:subClassOf. Die Sprache ist für große Datenmengen ausgelegt (Unterstützung von mehr als 100 Millionen Tripeln) und wurde als eine Datenbankapplikation implementiert. In der aktuellen Version (11g) ging Oracle noch einen Schritt weiter und kreierte mit OWL Prime eine Anfragesprache. InverseFunctionalProperty • owl:inverseOf.und Anfragesprachen auf RDF Graphen und sogar RDFS Schlussfolgerungen mit benutzerdefinierten Regeln auszuführen. domain. differentFrom • owl:disjointWith.3 Regel. Hieraus resultiert wohl hauptsächlich die gute Performance bei großen Datenmengen. allValuesFrom. sameAs. subPropertyOf. range • owl:TransitiveProperty. FunctionalProperty. equivalentProperty 27 . complementOf • owl:hasValue. someValuesFrom • owl:equivalentClass. die ein Subset von OWL-DL unterstützt.

1 Pellet .4 Tools: Reasonern für das Semantic Web Die einheitliche Wissensrepräsentation im Semantic Web wird durch Technologien wie RDF. welches auf Basis von Regeln arbeitet und SWRL unterstützt. welche sicherstellt dass eine Ontologie keine widersprüchlichen Fakten enthält. 4. Wiederverwendung von Informationen 28 . Er integriert neben bewährten Reasoningverfahren auch einige sehr innovative neue Algorithmen wie zum Beispiel „Incremental Reasoning“1 . Die meisten modernen Reasoner basieren auf Tableau Algorithmen. In den letzten Jahren wurden viele Reasoner für das Semantic Web entwickelt. neues Wissen (welches nicht explizit vorhanden ist). Die Nutzung der Komponente in kostenlosen Open Source Projekten ist gestattet. RDFS und OWL standardisiert und schafft somit die Möglichkeit für den Einsatz von so genannten Reasonern. welche schon 1991 erstmals von Schmidt-Schauß und Smolka im Kontext der Inferenzverfahren eingesetzt wurden[6].Ein Feature ist die integrierte Konsistenzprüfung. aus der Ontologie abzuleiten. Für die Verwendung in kommerziellen oder nicht Open Source Projekten wird eine Lizenz benötigt.Tableau based Pellet ist ein OWL-DL Reasoner für JAVA. 1 Incremental Reasoning: Updates der Wissensbasis werden direkt verarbeitet. Diese arbeiten nach verschiedenen Verfahren (siehe Kapitel 2) und verfolgen das Ziel. Das Reasoning erfolgt mittels eines Tableauverfahrens. Im Rahmen dieser Arbeit werde ich mich auf die nun folgende Auswahl an Reasonern beschränken. der in seiner aktuellen Version bereits OWL2-DL unterstützt.

Jena entstand aus dem Hewlett-Packard Semantic Web Research Programm und wurde als Open Source Software auf SourceForge veröffentlicht. Kaon 2 ist. Karlsruhe 29 . Für die Nutzung der Software im nicht kommerziellen Bildungsbereich steht jedoch eine kostenlose Version des Kaon 2 Standalone Reasoners zur Verfügung.4 RacerPro . 4. Im Gegensatz zu den Tableau-basierten Reasonern arbeitet Kaon 2 nach einem Resolutionsverfahren.Resolutionsverfahren Kaon 2 geht aus dem Kaon (Karlsruhe Ontology) Projekt des FZI2 und des AIFB3 hervor. 4.2 Jena 2 Inference . im Gegensatz zu Kaon. Karlsruhe AIFB: Institut für Angewandte Informatik und Formale Beschreibungsverfahren. es existiert je2 3 FZI: Forschungszentrum für Informatik. Der Reasoner ist jedoch eine vollständige Neuentwicklung des zuvor auf RDFS basierten Systems Kaon und bietet daher keine Kompatibilität mit diesem. Das letzte Release von Kaon 2 wurde jedoch 2008 veröffentlicht. Die im Framework integrierte 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 Tools: Reasonern für das Semantic Web 4. Die kommerzielle Implementation OntoBroker hingegen wird kontinuierlich weiterentwickelt und um neue Standards erweitert. Auf der Projektseite ist eine regelmäßige Weiterentwicklung der Software erkennbar. Hierbei wird mittels Algorithmen die SHIQ(D) Wissensbasis in ein Datalog Programm reduziert. welches Interfaces zur Einbindung verschiedener externer Reasoner zur Verfügung stellt. welche jedoch in keinem Fall als vollwertige Reasoner angesehen werden können. Nach Angaben des Herstellers können so enorme Geschwindigkeitsvorteile gegenüber „herkömmlichen“ Reasonern erreicht werden.Tableau based reasoning RacerPro (Racer = Renamed ABox and Concept Expression Reasoner) ist ein kommerzielles Produkt der Firma Racer Systems GmbH & Co KG. Im Jena Framework sind bereits ein einfacher RDFS und OWL-Lite Reasoner integriert.3 Kaon 2 .Tableau based Jena ist ein Semantic Web Framework. nicht als Open Source Software verfügbar und wird von der Firma ontoprise GmbH als integrierter Bestandteil des Produktes OntoBroker vertrieben.

Die Grundlage eines Prolog Programmes bildet die Datenbasis. Wenn eine Wissensbasis in den Reasoner geladen wird. Er nutzt eine neuartige „ToDo List“ Architektur um performanter mit komplexen Reasoning Aufgaben.Tableau based reasoning FaCT ++ ist ein Open Source Definition Logic Reasoner welcher als eine Plattform zum Experiment mit neuen Tableau Algorithmen und Optimierungstechnologien entwickelt wurde.6 Prolog Prolog wurde Anfang der 70er Jahre vom französischen Informatiker Alain Colmerauer entwickelt und stellt die wichtigste logische Programmiersprache dar. wie z. dass einer Regel ein Name zugewiesen werden kann. Er unterstützt für Regeln den SWRL Standard und das eigene Format nRQL.4 Tools: Reasonern für das Semantic Web doch eine kostenlos zugängliche Version für Studenten und Mitarbeiter von Hochschulen. Die Sprache existierte in den Anfängen in unterschiedlichen Implementierungen und wurde 1995 in der ISO Norm ISO/IEC 13211-1 standardisiert. Prolog basiert auf der Closed World Assumption. Der Reasoner arbeitet nach dem Tableau-Verfahren und stellt neben dem DIG4 Interface noch Interfaces für Java und Lisp zur Verfügung. Reduzierung etc. die Horn Klausen enthält. welche Fakten und Regeln enthält. Anschließend wird die Repräsentation mit Hilfe eines „classifiers“ weiter optimiert (Reihenfolge. Ebenfalls implementiert er die Anfragesprachen SPARQL und OWL-QL. 4. 4. so wird diese in einer Vorverarbeitung in eine interne Repräsentation gewandelt. Sie kann auch im Kon- 4 5 standardisiertes XML Interface zu Description Logic Systemen SNF: simplified normal form (vereinfachte Normalform) 30 . umgehen zu können.B. Somit ist die Verwendung einer Regel zur Definition einer neuen Regel möglich (Referenzierung). Die Racer eigene Sprache nRQL unterstützt die Verwendung von Regeln in einer „Makro ähnlichen Form“. Auflösung vollständig zirkularer Beziehungen). In diesem Schritt werden auch zahlreiche Optimierungen vorgenommen (Reduzierung in SNF5 .5 FaCT ++ . Fact++ bietet unter anderem ein DIG Server und ein Plugin für Protégé an[6]. Das eigentliche Programm ist eine geordnete Liste.). OWL Ontologien. Diese bedeutet.

werden häufig externe Reasoner wie Pellet integriert. einer Interpretation eine nicht leere Menge ergeben. Dies liegt hauptsächlich daran. der jedoch für akademische Zwecke in einer zeit limitierten Version zur Verfügung steht. daher werde ich im Folgenden nur noch auf die Besonderheiten der einzelnen Reasoner eingehen. Jede Klasse muss in min. API. 9 Bestimmen der direkten Typen eines Individuum anhand der Klassenhierarchie 31 . Neben seiner guten Performance bietet der Reasoner eine Möglichkeit der Referenzierung von Regeln (d. DIG) und nimmt SPARQL Anfragen entgegen. So ist diese nur mit den Konstrukten von OWL-Lite ausgestattet und eignet sich eher zum Einstieg in die Thematik Reasoning. einem Open Source Reasoner. 8 Berechnen der kompletten Klassenhierarchie.h. kostenlos eingesetzt werden kann. die Wiederverwendung einer definierten Regel zur Definition einer neuen Regel) an. Beginnen möchte ich mit Pellet. ein 6 7 Prüfung der Ontologie auf widersprüchliche Fakten. Er arbeitet mit einer „ToDo List“ Architektur und wandelt Ontologien beim Import in eine vom Reasoner performant interpretierbare interne Repräsentation. Pellet bietet ebenfalls eine Unterstützung für SWRL und ist über eine integrierte Schnittstelle einfach mit dem Jena Framework zu verbinden. „Classification“8 und „Realization“9 .4 Tools: Reasonern für das Semantic Web text des Semantic Web für Reasoning Aufgaben verwendet werden. Ebenfalls sind Features zum Reparieren und Analysieren von Ontologien integriert. Er verfügt über zahlreiche Schnittstellen (unter anderem: Kommandozeile. „Concept satisfiability“7 . sehr performanter Reasoner ist Fact++. 4. Ein weiterer.7 Vergleich der vorgestellten Reasoner Mit der Popularität der semantischen Dienste wächst auch die Anzahl der Implementierungen an Reasonern. Die bisher vorgestellten Reasoner arbeiten alle auf Basis von Tableauverfahren. Die Firma Racer Systems bietet den kommerziellen Reasoner „Racer Pro“ an. Alle guten DL Reasoner integrieren Strategien für „Consistency checking“6 . an. der unter Einhaltung der AGPL und in nicht kommerziellen Applikationen. Für die externe Kommunikation steht ein DIG Server und ein Plugin für Protégé bereit. Einen anderen Ansatz verfolgt Kaon 2. das für viele Reasoning Aufgaben die Jena 2 Inference Engine einen zu geringen Funktionsumfang abdeckt. durch Einsatz von innovativen Technologien. Jena. Trotz des in Jena bereits integrierten OWL Reasoners. Hierzu gibt es Implementierungen wie die Semantic Web Library für SWI-Prolog oder den in AllegroGraph integrierten Prolog Interpreter AllegroProlog.

ontologiespezifisch abzuwägen sind. einer bewährten Logiksprache. Jeder Reasoner hat spezifische Vor. 32 . welches gut und schnell verarbeitet werden kann.B. Menge. Wichtige Kriterien für die Auswahl eines Reasoners sollten jedoch immer dessen Lizenzierung. Viele dieser Implementierungen (z. AllegroGraph) arbeiten sehr performant und sind ideal für den Einsatz mit großen Wissensrepräsentationen. Eine weitere Möglichkeit des Reasonings ist die Verwendung von Prolog. welche Prolog in Anfragen unterstützen oder sonstige Schnittstellen für Prolog zu Ontologien schaffen. Größe) und die an diese Ontologie gerichteten Anfragen (Art. Prolog bietet zwar keine direkte Unterstützung für semantische Technologien.und Nachteile.bzw. welche projekt. die zugrundeliegende Ontologie (Komplexität. welcher nach dem Resolutionsverfahren arbeitet. Das Verfahren reduziert hierbei die Wissensbasis in ein Datalog Programm. Komplexität) sein.4 Tools: Reasonern für das Semantic Web aus dem Reasoner Kaon hervorgegangener Reasoner. jedoch gibt es zahlreiche Semantic Web Tools.

Zur einfachen Verwaltung kann der TopBraid Composer genutzt werden. nativer Triple Store. MSSQL oder Oracle) zur Speicherung der Daten. sowie ein Interface zum Jena Framework zur Verfügung. Lisp und Python. Grundlegend lassen sich Triple Stores in native und nicht native Systeme unterteilen. Eine dritte Gruppe an Triple Stores bilden die nicht persistenten „in memory“ stores. arbeiten letztere mit einem normalen externen relationalen Datenbanksystem (meist MySQL. 33 . Reasoning in der Praxis nutzbar zu machen. Auch stellt AllegroGraph Schnittstellen zu C#.1 AllegroGraph AllegroGraph ist ein kommerzieller (freie Version für max. der ab Version 3. welche die Triple nur im Arbeitsspeicher halten und beim Benden des Stores endgültig verwerfen.5 Tools: Triple Stores als Persistenz Um mit größeren Datenmengen arbeiten zu können und um Ontologien bzw. Während native Triple Stores die Daten in einer speziellen Triple basierten Datenbank ablegen. der gerade bei große Datenmengen noch sehr performant arbeitet. welches eine Unterstützung für SPARQL.2 das AllegroGraph Plugin direkt integriert hat. Diese Anforderung wird mit Hilfe von Triple Stores umgesetzt. Diese Gruppe wird in dieser Arbeit jedoch nicht betrachtet. Er verfügt über ein Java Interface. RDFS++ und Prolog Reasoning implementiert. Zusätzlich sind unter anderem noch ein Social Network Analyser sowie AGWebView (Access Triple Data via Webbrowser) und Gruff (Grapher based Triple Store Browser) im Lieferumfang enthalten. Er integriert den Reasoner RacerPro der Firma Racer GmbH & Co KG und wird somit um weitere Features wie SWRL und ein DIG Interface bereichert. 50 Millionen Triple verfügbar). 5. bedarf es geeigneten Speichermöglichkeiten.

Das System unterstützt sowohl RDFS als auch OWL-DL. OWL. PHP und WebServices. Oracle 11g 34 .2 Ontobroker 5. Als Reasoner integriert Ontobroker eine Variante des Kaon 2 Reasoners. N-Triples.3 Oracle 11g Das kommerzielle Datenbanksystem Oracle 11g bietet eine native Unterstützung für RDF/RDFS/OWL. Zusätzlich verfügt die Software über Schnittstellen mit welchen Fakten aus externen SQL Datenbanken importiert werden können.0 Die von der Firma Ontoprise GmbH entwickelte kommerzielle Middleware Ontobroker ist ein deduktives Datenbanksystem mit einer Unterstützung für Rule Based Reasoning. Zurzeit steht keine frei zugängliche Testversion des Produktes im Internet zur Verfügung.5 Tools: Triple Stores als Persistenz Abbildung 5. Als Anfragesprachen unterstützt die Software SQL. die in Horn Klauseln abgebildet werden können. Mit der aktuellen Release führt Oracle seine neue Anfragesprache OWL Prime ein. solange stehen nur die Express Version 10gR2 (nur RDF und RDFS++ Reasoning) oder die kommerzielle Versionen von 11g zur Verfügung. RDF. Die Wissensrepräsentation kann sowohl persistent abgelegt. Für den Datenimport stehen Konverter für die folgenden Formate zur Verfügung: FLogic. als auch im Speicher gehalten werden. OXML. Neben einem Java Interface existieren unter anderem Schnittstellen für . 5. die ein Subset von OWL DL abdeckt. der auf einem Resolutionsverfahren basiert. N3. SPARQL und F-Logic.1: Architektur AllegroGraph Quelle: Franz Inc. [10] 5. Ontobroker ist nur kompatibel zu den Teilen von OWL Ontologien.NET. Eine kostenlose Express Edition in der aktuellen Version wird frühestens Ende 2010 verfügbar sein.

Ebenfalls bietet die Komponente Möglichkeiten zur Interaktion mit Web Data Sources (Googlebase. Microsoft . Amazon.4 Virtuoso Virtuoso Universal Server ist ein kommerzieller Hybrid-Datenbankserver. Eine weitere Komponente des Systems ist der Virtual Application Server.NET und C/C++ anbietet. . Unified Storage Engine (USE) und Virtual Application Server (VAS) bilden zusammen die Server Applikation. Wikis. Die Virtual Database Engine beinhaltet alle Schnittstellen welche den Austausch von Daten über zahlreiche Formate (ODBC.) an.. Die Komponenten Virtual Database Engine (VDE).. HTTP / WebDAV und SOAP unterstützt.) und Data Spaces (Webblogs. Virtuoso verfügt über 35 . XML. RDF sowie SQL und Freitext-Daten zu speichern und abzurufen. SPARQL. Für den Zugriff auf den Virtuoso Universal Server werden unter anderem die Protokolle ODBC.2: Architektur Ontobroker Quelle: ontoprise GmbH [12] eignet sich für sehr große Projekte und zeichnet sich durch seine hohe Performance 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. eBay. welcher Schnittstellen zu Java. welche über einige funktionale Einschränkungen verfügt (siehe Anhang). JDBC. JDBC. Die Komponente Unified Storage Engine erlaubt es XML.. der ein RDBMS (relational). Zusätzlich ist der Server in einer Open Source Edition erhältlich. 5.5 Tools: Triple Stores als Persistenz Abbildung 5. . RDF und WebServices) ermöglicht.. einen Triple Store (RDF Graph) und ein Dokumenten Management System (Volltext) integriert.

Abbildung 5. 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. Aus relationalen Datenquellen erzeugte RDF Views werden für das Reasoning nicht berücksichtigt.0.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. Auch ist ein Reasoning nur auf den nativ als RDF gespeicherten Tripeln möglich. kann sich die Datenbank bei größeren Datenbeständen nicht mit nati36 . der jedoch nur Teile der Spezifikation abdeckt. Die nicht nativ arbeitende SDB nutzt als Speicher für den Triple Store ein relationales Datenbanksystem.5 Tools: Triple Stores als Persistenz einen internen RDFS / OWL Reasoner.22) Trotz der auf der Homepage des Projektes erwähnten guten Skalierbarkeit von Jena SDB.3: Architektur Virtuoso Universal Server[16] 5.

3) sind klare Performance Vorteile von Virtuoso gegenüber Jena SDB / TDB erkennbar. Virtuoso ist in einer kommerziellen Version als Universal Server und in einer freien Version als Open Source Edition verfügbar. Backup. In einem von der RWTH Aachen 37 . welche ein sehr ausdrucksstarkes Subset von OWL abdeckt.1.und Entwicklungsprojekte. Auch bietet sich Virtuoso in Applikationen an. Durch die Anbindbarkeit von Virtuoso an Jena sind jedoch auch komplexere Reasoning Vorgänge möglich. Hierbei unterstützt diese eigens von Oracle kreierte Sprache OWL Prime. wie AllegroGraph und Virtuoso.) implizit zur Verfügung stehen.6 Vergleich der vorgestellten Triple Stores Jedes der vorgestellten Triple Store Systeme hat seine spezifischen Vorteile.5 Tools: Triple Stores als Persistenz ven Triple Store Systemen messen[1]. Clustering. nicht transaktionsorientiert und läuft nur auf Einzelsystemen (kein Clustering. da die dort bereits implementierten und bewährten Technologien (Balancing. etc. Bei der Auswahl eines geeigneten Triple Stores für ein Projekt sind meist neben den funktionalen und nicht funktionalen Anforderungen auch die Lizenzierungsmodelle entscheidend. aber auch Einschränkungen. der im Moment leider in keiner Express Edition zur Verfügung steht. Der Triple Store ist vollständig in Java implementiert. die wiederum meist mit einem sehr eingeschränkten finanziellen Rahmen durchgeführt werden. Die Mehrzahl aller aktuell verfügbaren Semantic Web Implementationen sind nach wie vor Forschungs. etc. Der Datenbankserver Oracle 11g. an. In dem von der Freien Universität Berlin veröffentlichtem „Berlin SPARQL Benchmark“ (siehe Tabelle 7. 5. Jedoch entstehen durch die Nutzung eines externen Datenbanksystems auch Vorteile. Hier bieten sich unter Anderem die frei zugänglichen Triple Stores Jena SDB / TDB und Virtuoso an.). Virtuoso verfügt über einen performanten Reasoner. bietet ebenfalls eine Kombination von SQL und RDF Storage. Jena bietet neben den zahlreichen Schnittstellen zu vielen gängigen Reasonern auch noch Schnittstellen zu externen Triple Stores. bei denen auf eine SQL Schnittstelle nicht verzichtet werden kann oder diese von Vorteil ist. Somit kann eine Implementierung später einfacher auf leistungsfähigere Triple Stores ausgelagert werden. Die native TDB arbeitet hingegen auch bei großen Datenbeständen noch sehr performant und ist nicht auf externe Datenbanken angewiesen. Security. der allerdings nicht alle Reasoning-Features abdeckt.

Jena oder AllegroGraph erkennbar. 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. In dem Benchmark der RWTH Aachen werden die Geschwindigkeitsvorteile durch die direkte Ausführung des Reasonings in der Datenbank deutlich (siehe Abbildung 7. Java und Lisp bietet dieser noch die Möglichkeit der Ausführung von Prolog aus Java. Zur Zeit wird die Software nicht in einer frei zugänglichen Testversion angeboten. ist die kommerzielle Middleware Ontobroker. welcher einen auf Kaon 2 basierenden Reasoner integriert.B. Es ist somit abhängig vom Anwendungsfall. Ein weiterer Triple Store.3) zur Ausführungszeit von verschiedenen Anfragen.3).1. Neben Schnittstellen zu C#.5 Tools: Triple Stores als Persistenz durchgeführten Benchmark (siehe Abbildung 7. 38 . beziehen sich jedoch auf extrem große Datenbestände (über 1 Billion Triple) in Kombination mit komplexen Anfragen[4]. sind jedoch keine generellen Vorsprünge von Oracle´s 11g zu Produkten wie z.1 im Anhang herangezogen werden. Von Oracle wurden ebenfalls Untersuchungen zur Performance gegenüber anderen Triple Store Systemen in Kombination mit Reasonern durchgeführt und veröffentlicht. Für einen ersten Überblick über die Details zu den Triple Store Systemen kann die Tabelle 7. Die Software verfügt über Möglichkeiten externe SQL Datenbanken als Datenquellen einzubinden und unterstützt ebenfalls die im Semantic Web gängigen Standards. Über den integrierten RacerPro Reasoner lassen sich auch SWRL Regeln ausführen. welcher Triple Store die sinnvollste Lösung für die Realisierung eines Projektes darstellt. Diese Benchmarks stellen hier klare Vorteile der Datenbank heraus. 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.

Im Rahmen meiner Recherchen. die mit einer Art Innovationssprung vergleichbar ist. Auch wird Semantic Web häufig als das Web 3. eingehen.0 als eine Kombination aus dem Semantic Web und dem Web 2. Doch wo kommt nun das Web 3. die zur Erstellung dieser Arbeit notwendig waren. Die am weitesten verbreitete Definition stellt das Web 3. die das Semantic Web bringt.0 zu einem „Social 39 . Während Letzteres das Ziel der gesteigerten Interaktion.6 Ausblick: Reasoning im Semantic Web Diese Arbeit hat sich bisher mit der technischen und theoretischen Seite des Semantic Web beschäftigt.0 bezeichnet oder gar mit dem Web 2. Die Realität unterscheidet sich jedoch stark von diesen Erwartungen. Nun möchte ich noch auf die praktischen Aspekte und zukünftigen Chancen. Doch warum nimmt niemand von den semantischen Technologien Kenntnis? Der Grund hierfür ist einfach. Auch wird teilweise die Einführung des Semantic Web zu einem bestimmten Termin erwartet. So startete Google 2009 den Dienst „Squared“ und Microsoft beginnt mit der Entwicklung der „Microsoft Semantic Engine“. die es uns ermöglicht das Wissen zu interpretieren und sogar auf nicht vorhandenes Wissen zu schließen.0 ins Spiel? Aufgrund vieler verbreiteter Definitionen des Jargonausdruckes. So vermuten viele vollständig neue Bedienkonzepte und Oberflächen hinter dem Begriff. Anpassungsfähigkeit und Integration von sozialen Aspekten verfolgt. so bereitet das Semantic Web die Informationen in einer Art auf. denn semantische Technologien bleiben im Hintergrund verborgen . wurde ich häufig mit einer sehr weit verbreiteten falschen Erwartungshaltung konfrontiert. ist es schwer eine definierte Antwort auf diese Frage zu finden.0 verwechselt. Viele Nutzer stellen sich unter dem Begriff „Semantic Web“ eine neue Generation des Internets vor. So sind schon heute zahlreiche semantische Implementationen im Web verfügbar und die Anzahl der populären Anwendungen wächst.für den Benutzer nicht als „Semantic Web“ erkennbar.

0. Diese Strategien kombiniert mit denen des Web 2. auf den Einsatz von Reasoning und komplexen Wissensrepräsentationen kann nicht verzichtet werden. das Web 3. Auch wenn die semantischen Dienste noch an ihrem Anfang stehen und noch ein enormer Entwicklungsaufwand betrieben werden muss.6 Ausblick: Reasoning im Semantic Web Semantic Web“ dar. der das Internet durchsucht um sich neues Wissen über ein Themengebiet anzueignen.0 wird sich das Internet also von einem an Informationen ausgerichteten Netzwerk in ein am Wissen ausgerichtetes Netzwerk wandeln müssen. Im Web 3.zumindest scheint dies so. Zum anderen soll jedoch auch die vollständige Integration des Internets in unser Leben Realität werden.auch wenn viele Anwender die Ihnen entstehenden Vorteile nicht als „Semantic Web“ wahrnehmen werden. 40 . nicht explizit vorhandenes Wissen gewinnen.[13] Wo die Reise des Webs auch hingeht. Zusätzlich werden in die Applikationen Reasoning-Strategien integriert die aus dem nun vorhanden Wissen neues. Unter anderem geht man davon aus das hier Agenten das Netz selbstständig durchsuchen und von diesem Wissen lernen . um diese wirklich skalierbar und praxistauglich abbilden zu können.0 diskutiert. Häufig wird daher in der letzen Zeit von der Literatur eher diese Begrifflichkeit genutzt. Nichts ist so kurzlebig wie eine Version oder Spezifikation im Internet . da diese einer eindeutigen Definition zuzuordnen ist. So wird schon jetzt über eine Vision des Web 4.ähnlich wie es ein Mensch. so ist schon heute eines klar: Das Web der Zukunft wird semantische Dienste immer stärker integrieren und die Benutzer werden hiervon profitieren . wenn man die Flut an Versionen und Spezifikationen rund um das Semantic Web betrachtet.0 bilden also das Social Semantic Web bzw. Nils Müller prägt hierfür in seinem visionären Vortrag zur Entwicklung des Web den Begriff des Outernet.

cOS. Adding user definde rules 2. provided by Jena 2 Inference Engine Partial RDFS and OWL-DL Linux.6. Windows 2. FreeBSD Solaris. Solaris. but only terms that can be converted into horn logic RDFS++ some structs: owl:sameAs.1 GPL . but converters from SWRL to jena are available Prolog Supported from Java Applications SPARQL Supported from Java Applications OWL Prime SQL NO NO YES YES NO YES NO YES NO YES NO YES YES YES NO NO NO NO NO YES 41 .0 commercial Ontobroker cOS.1 Tabellen 7.1.free 5. Oracle offers two ways: 1.3 free edition available (Limit: 50. Linux. HP-UX. RDFS++ (RDFS plus some OWL constructs: owl:sameAs. Digital Applications: (RDFS OWL RDF. Solaris. MaRelease 2 free developer license available closed Windows. AIX. and owl:hasValue) Reasoners through Jena interface SWRL Yes (via integrated RacerPro Reasoner) NO NO. Windows 2003.000 Triples) Source Supported Operating Systems closed Windows.7 Anhang 7.1 Triple Stores im Vergleich AllegroGraph Server Edition Version License 3. plus conOWLPrime supports YES. owl:InverseFunctionalProperty) and OWL Prime. ix/OSF1 RDFS / OWL Reasoner Supported va from JaRDF. Linux.x. owl:TransitiveProperty.a very expressiv subset of OWL DL constructs.2 free of charge Oracle 11g Jena SDB Virtuoso Open Source Edition 6.1. HP-UX open all java compatible systems open Windows. If more semantics are requiered. Unclosed Suse Linux 10. is supported. MaAIX. Integrate external owl:inverseOf.

959 29.3. Die dargestellten Werte sind die Anzahl der von allen Clients zusammengestellten und vom SPARQL Endpoint beantworteten Anfragen.665 64 16.424 2. (Sesame ist ein in dieser Arbeit nicht untersuchter Triple Store.387 160 39.0 GNU GPL commercial open source apps is free (AGPL).205 2 1. Linux YES Windows. Der unten dargestellte Ausschnitt aus dem Benchmark simuliert ein „real world“ Szenario.36 17.421 12.28 21. Linux 32bit.3 Triple Store Benchmark Die folgende Tabelle zeigt ein Ergebnis aus dem von der Freien Universität Berlin durchgeführten Benchmark „Berlin SPARQL Benchmark“.4 28.271 555 927 5. Jena Protégé (integrated). Hierbei arbeiteten mehrere Clients gleichzeitig gegen einen SPARQL Endpoint.813 Virtuoso SQL 192.752 17.356 28. Mac OS X 32bit x86 CPU F-Logic RDF(XML) N3 N-Triple RDFS OWL NO YES NO YES YES OWL-DL + inverse functional datatype properties from OWL-Full NO YES YES YES YES OWL-Lite YES YES NO NO YES OWL-DL NO YES NO NO YES OWL-DL NO YES NO NO YES OWL-DL OWL2 SWRL OWL2-DL Supported in direct tableau algorithm NO NO NO YES announced YES OWL2 NO SPARQL Supports SELECT. Virtuoso TS (Triple Store).013 Tabelle B: Datenbasis 25 Millionen Triple[2] Number of Clients Sesame Jena TDB Jena SDB Virtuoso TS Virtuoso RV D2R Server MySQL Virtuoso SQL 1 1.123 12.094 4.295 8.1.47 148. C++ YES YES YES NO - API.647 135.46 9.071 199.517 8. (integrated) Protégé reasoners into Jena 7.96 442.282 357.346 7.339 2.2 free of charge Kaon 2 29.502 274. Für diese Arbeit relevant sind die Ergebnisse von Jena TDB. Jena SDB.14 472.066 2 19.316 8 1. Tabelle A: Datenbasis 1 Million Triple[2] Number of Clients Sesame Jena TDB Jena SDB Virtuoso TS Virtuoso RV D2R Server MySQL 1 18.7 Anhang 7. Manchester OWLAPI (interface).828 235.2008 free of charge for academic usage Racer Pro 2.0 Usage in nonJena 2 Inference 2.552 187 31.453 24.261 146 40.478 29.1.448 32. OPTIONAL OR FILTER) nRQL Plugins NO NO NO YES YES (supported language lisp) DIG (OWLlink) Interface YES NO (supported in older Versions < 2.343 353 968 4. MacOS. Usage in closed or commercial apps requieres license Open Source Supported Operating Systems YES all java compatible systems YES all java compatible systems NO all java compatible systems NO Windows 32bit.3 536 883 5.938 454.901 28.093 85.429 23.06. Virtuoso RV (RDF View von relationalen Datenbanken) sowie die zwei SQL Datenbanken MySQL und Virtuoso SQL.664 23.172 64 1.861 318.2 Reasoner im Vergleich Pellet Version License 2.836 3. YES YES YES - CONSTRUCT.972 140 18. (integrated).491 30.433 32.513 34. but time limited version for academic usage Fact++ 1.204 694 1. Jena Engine for SPARQL provides the interfaces to integrated external (interface). Lisp API DIG.6.6. and ASK (No support for DESCRIBE.146 4 16.61 22.0 (preview) free of charge.748 143 40. Interface Java API.796 4 1.578 69.1.668 2.599 173. RMI Server.483 33.021 9.097 8 18.057 6.563 306.485 513 1.585 42 . D2R Server ist ein Mapper von RDBMS über SQL nach RDF).985 3.45 10.0) Interfaces Command Line Tool.

Class ConsistenExpression Taxonomic Complexity Undecidable Data Complexity Undecidable Query Complexity Undecidable Combined Complexity Undecidable Satisfiability.sandia. but complexity open (NP-Hard) Not Applicable 2NEXPTIME-complete (NEXPTIME perty if proare Subsumption.stanford. Instance Checking Conjunctive Query Answering OWL 2 QL Ontology cy.owl/ directory of Protégé to enable JessTabPlugin) 43 . Instance Checking.swi-prolog. Checking.eclipse. Instance Checking Conjunctive Query Answering Decidability open Decidability open Decidability open Decidability open 7.html http://www.edu/download/registered.com/downloads/clp/ag_survey http://www.jar in /plugins/edu.stanford.org/downloads/ http://www.html http://protege. Class Expression Subsumption.hessen. Class Expression Subsumption.ca.de/deutsch/start/produkte/ontostudio/download-ontostudio/ http://www. Conjunctive Query Answering OWL 2 RL Ontology cy.4 Komplexitätsklassen von OWL2 Language OWL 2 RDF-Based Semantics Reasoning Problems Ontology cy.1.de/netzwerk/faecher/informatik/swiprolog/swiprolog. Class ConsistenExpression PTIME-complete PTIME-complete Not Applicable PTIME-complete NLogSpace-complete In AC0 NP-complete NP-complete Satisfiability. Class ConsistenExpression NLogSpace-complete In AC0 Not Applicable NLogSpace-complete PTIME-complete PTIME-complete NP-complete PSPACE-complete Satisfiability. Class Expression Subsumption.html http://herzberg. Query Satisfiability. Class Expression Subsumption.stanford.5 Verwendete Software Produkt SWI Prolog SWI Prolog Editor Eclipse Classic OntoStudio AllegroGraph TopBraid Composer Protégé Editor 3.ontoprise.org/ http://lakk.franz. Class ConsistenExpression NEXPTIME-complete Decidable.7 Anhang 7. Class ConsistenExpression PTIME-complete PTIME-complete Not Applicable PTIME-complete Decidability open Decidability open Decidability open Decidability open Satisfiability. Class Expression Instance Conjunctive Answering OWL 2 Direct Semantics Ontology cy. but complexity open (NP-Hard Not Applicable NEXPTIME-complete PTIME-complete PTIME-complete NP-complete NP-complete Satisfiability.1: Jess Rule Engine: URL http://www. Class Expression Subsumption.topquadrant. Instance Checking Conjunctive Query Answering OWL 1 DL Ontology cy.edu/download/registered.bildung.1.smi.protegex.4 Protégé Editor 4.4.com/products/TB_download.gov/jess/ (place jess. hierarchies hierarchies bounded) bounded) Instance Checking Conjunctive Query Answering OWL 2 EL Ontology cy. Class ConsistenExpression 2NEXPTIME-complete (NEXPTIME perty if proare Decidable.html http://protege.

1 Abbildung A: Schichtmodell der W3C Technologie Abbildung 7.7 Anhang 7.2 Abbildungen 7.1: Das Schichtmodell der W3C Technologie[23] 44 .2.

3 Abbildung C: Vergleich Triple Stores im Benchmark Abbildung 7.2.2: Die Struktur von OWL2[28] 7.3: Vergleich Triple Stores[1] 45 .7 Anhang 7.2.2 Abbildung B: Die Struktur von OWL 2 Abbildung 7.

owl#hasConnection > < h t t p : / / h−da . de / ex1 . owl#hasConnection > < h t t p : / / h−da . < h t t p : / / h−da . de / ex1 . org / 2 0 0 1 / XMLSchema# s t r i n g > . w3 . de / ex1 . org / 2 0 0 2 / 0 7 / owl# O b j e c t P r o p e r t y > . de / ex1 . de / ex1 . w3 . < h t t p : / / h−da . w3 . de / ex1 . de / ex1 . < h t t p : / / h−da . org / 2 0 0 1 /XMLSchema# s t r i n g > . s t a n f o r d . org / 2 0 0 2 / 0 7 / owl# i m p o r t s > < h t t p : / / s w r l . < h t t p : / / h−da . de / ex1 . owl > < h t t p : / / www. < h t t p : / / h−da . owl#Hanau> < h t t p : / / h−da . owl > < h t t p : / / www. de / ex1 . w3 . org /1999/02/22 − r d f−syntax−ns# type > < h t t p : / / h−da . de / ex1 . de / ex1 . owl# S e l i g e n s t a d t > < h t t p : / / h−da . owl#Hanau> < h t t p : / / h−da . w3 . org / 2 0 0 0 / 0 1 / r d f−schema#domain> < h t t p : / / h−da . org /1999/02/22 − r d f−syntax−ns# type > < h t t p : / / www. owl > < h t t p : / / www. de / ex1 . w3 . de / ex1 . de / ex1 . owl > .3 Beispiel Ontologien 7. de / ex1 . org / 2 0 0 2 / 0 7 / owl# Ontology > . owl# F r a n k f u r t > < h t t p : / / h−da . owl# S e l i g e n s t a d t > . s t a n f o r d . w3 .3. de / ex1 . org /1999/02/22 − r d f−syntax−ns# type > < h t t p : / / www. < h t t p : / / h−da . w3 . owl# C i t y > < h t t p : / / www. < h t t p : / / h−da . owl# C i t y > . w3 . de / ex1 . owl#hasConnection > < h t t p : / / h−da . de / ex1 . < h t t p : / / h−da . < h t t p : / / h−da . owl# F r a n k f u r t > . owl#hasName> " S e l i g e n s t a d t am Main " ^^ < h t t p : / / www. w3 . < h t t p : / / h−da . owl#hasName> < h t t p : / / www. de / ex1 . owl#Hanau> . w3 . w3 . owl#hasName> " Hanau " ^^ < h t t p : / / www. de / ex1 . de / ex1 . de / ex1 . owl# C i t y > . w3 . org / 2 0 0 2 / 0 7 / owl# DatatypeProperty > . w3 . owl# S e l i g e n s t a d t > < h t t p : / / h−da . 46 . org / 2 0 0 2 / 0 7 / owl# i m p o r t s > < h t t p : / / s q w r l .1 Ontologie A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 < h t t p : / / h−da . owl#hasConnection > < h t t p : / / www. de / ex1 . 4 / s q w r l . owl#hasName> < h t t p : / / www. w3 . < h t t p : / / h−da . < h t t p : / / h−da . owl# C i t y > . owl# C i t y > . owl# F r a n k f u r t > < h t t p : / / h−da . owl# F r a n k f u r t > < h t t p : / / www. owl# C i t y > . 3 / s w r l a . owl#hasConnection > < h t t p : / / www. de / ex1 . de / ex1 . < h t t p : / / h−da . owl#Hanau> . de / ex1 . < h t t p : / / h−da . w3 . de / ex1 . de / ex1 . org / 2 0 0 0 / 0 1 / r d f−schema#domain> < h t t p : / / h−da . w3 . de / ex1 . org /1999/02/22 − r d f−syntax−ns# type > < h t t p : / / www. edu / o n t o l o g i e s / b u i l t −i n s / 3 . de / ex1 . owl > . w3 . org /1999/02/22 − r d f−syntax−ns# type > < h t t p : / / www. < h t t p : / / h−da . org / 2 0 0 0 / 0 1 / r d f−schema# Class > . < h t t p : / / h−da .7 Anhang 7. de / ex1 . edu / o n t o l o g i e s / 3 . < h t t p : / / h−da . owl#Hanau> < h t t p : / / www. org /1999/02/22 − r d f−syntax−ns# type > < h t t p : / / h−da . owl#Hanau> < h t t p : / / h−da . owl# S e l i g e n s t a d t > < h t t p : / / www. de / ex1 . org / 2 0 0 1 /XMLSchema# s t r i n g > . owl#hasConnection > < h t t p : / / h−da . de / ex1 . org /1999/02/22 − r d f−syntax−ns# type > < h t t p : / / h−da . de / ex1 . owl#hasName> " F r a n k f u r t am Main " ^^ < h t t p : / / www.

[6] Natarajan Furbach. INTERNET Adresse: www. RDF/N3 Syntax Specification.67 KB. [5] Wolfgang Ertel. Größe: 43.04 MB. 11gR1 OWLPrime. 2010. INTERNET Adresse: www. [7] Golem. 2010.W3C verabschiedet OWL2. Datei: index. 47 . Vieweg+Teubner.org.04. Automated Reasoning. Stand: 16.de. volume A.de.w3. Stand: 22. 2008. Ulrich / Shankar.html.pdf .Literaturverzeichnis [1] Florian Stegmaier & Udo Gröbner & Mario Döller & Harald Kosch & Gero Baese.04.2010.04.html. Datei: Zhe-f2f1. Grundkurs Künstliche Intelligenz . Datei: Notation3.de.21 KB. IT-News: Semantisches Web . Pfad: /2007/OWL/wiki/images/c/cf .25 KB. INTERNET Adresse: www4.rwth-aachen. Springer Berlin.Eine praxisorientierte Einführung.pdf .04. Stand: 16. 2006.2010. Pfad: /DesignIssues. 2009.w3. Datei: 70803. 1 edition.44 KB. Pfad: /Publications/CEUR-WS/Vol-539.04.2010.golem.2010. Pfad: /0910. Größe: 5. 1998. Evaluation of Current RDF Database Solutions. Pfad: /bizer/BerlinSPARQLBenchmark/results. Stand: 03. 2010. INTERNET Adresse: www.2010. Größe: 11. INTERNET Adresse: sunsite. Größe: 410. [4] Alan Zhe Wu Oracle New England Development Center. [3] Tim Berners-Lee. Datei: paper_7.html. Berlin SPARQL Benchmark .org. Stand: 16. [2] Freie Universität Berlin.wiwiss.fu-berlin. Größe: 246.informatik.de.

Wolfgang Hesse.23 KB.ontoprise. 6 edition.Literaturverzeichnis [8] Prof.de.04. INTERNET Adresse: blog. Datei: ag_client-server_arch-new. 2007. Harald Sack. [10] Franz Incorporated. INTERNET Adresse: www.2010. [14] Dr.jpg. Springer Verlag. Datei: sw0809-06.de.de. Datei: Flyer_OntoBroker_en. 2002.de. Stand: 08.25. Bd. Datei: 11-konjunktive-anfragen-regelsprachen_4up-2009. Größe: 289.71 KB. [11] Markus Krötsch.04.pdf . 2009. 2010. [12] ontoprise GmbH.04.2010.2010.26 MB.trendone. Stand: 26. Dr. [9] REWERSE Working Group I1. Stand: 25. Pfad: /agraph/allegrograph. Architektur von AllegroGraph.04.uni-potsdam. R2ML – The REWERSE I1 Rule Markup Language. Pfad: /rewerse-i1/?q=R2ML. Helft 6:. Interview mit Nils Müller .und Regelsprachen. Stand: 06. Informatik Spektrum. INTERNET Adresse: oxygen. 2010. INTERNET Adresse: www. Größe: 14.2010.pdf .tu-cottbus. Pfad: /fileadmin/user_upload/Flyer_EN. Vorlesung Semantic Web.hpi. Größe: 723.04. Stand: 16.semantic-web-grundlagen. INTERNET Adresse: www.com. INTERNET Adresse: www.pdf . Pfad: /w/images/a/a1.de. Konjunktive Anfrage.29 KB.22 KB.pdf . Architektur von OntoBroker . 2006. Stand: 06. Datei: Promedia_Interview_NM_Heft4_2010.2010. Größe: 865. [13] promedia.88 KB. Pfad: /wp-content/uploads/2010/04.franz.2010.04. Größe: 1. volume A. 48 . Größe: 34. Pfad: /fileadmin/hpi/FG_ITS/lecturenotes/Semantic_Web. 2010.informatik.

Datei: varch625.99 KB. Stand: 16. 2004.2010. Stand: 26. 1997. Beweis. Pfad: /TR/rdf-schema. [21] W3C. [22] W3C. Größe: 105. 49 . Stand: 03.2010. Größe: 78. Resource Description Framework (RDF) Model and Syntax. INTERNET Adresse: www.crm-expo.net. Stand: 08. 2005. INTERNET Adresse: semantisches-web. INTERNET Adresse: www.2010.com.openlinksw. [17] Christoph Beierle und Gabriele Kern-Isberner.15 KB.w3. Pfad: /technologien/beweise-vertrauen-digitale-signaturen.org.86 KB. Größe: 6.04. RDF Schema Syntax Specification. SWRL: A Semantic Web Rule Language Combining OWL and RuleML. Architektur von Virtuoso Universal Server . Pfad: /TR/WD-rdf-syntax-971002. [18] Andreas Schönborn und Peter Kleinhans.04. 2004. [19] W3C.org. Pfad: /www6/dokumente/vortraege.04. INTERNET Adresse: www. Methoden wissensbasierter Systeme. RDF/XML Syntax Specification.2010. Pfad: /TR/REC-rdf-syntax. Größe: 79.82 KB. Vertrauen und digitale Signaturen.de.org.w3.pdf .2010.w3. [16] Open Link Software. Größe: 192. Größe: 7.04. Einsatz eines wissensbasierten Diagnosesystems in der Praxis des technischen Service.04.Literaturverzeichnis [15] Holger Sistig. [20] W3C. INTERNET Adresse: www.w3c.04. Stand: 22.2010. INTERNET Adresse: www.34 KB. Pfad: /Submission/SWRL.04. INTERNET Adresse: virtuoso. Vieweg+Teubner. 2010.25 KB. Stand: 07. 2010.com. 2004.jpg. Pfad: /images. 2008.42 MB.2010. Größe: 32. Datei: tsystems. Stand: 03.

04.png. The Hierarchy of Entities in OWL 2.org. Das Schichtmodell der W3C Technologie.54 KB.png. Pfad: /PubPraes/2005_W3C-Tag/images.w3. INTERNET Adresse: www. Größe: 6. Pfad: /Submission/owl11-owl_specification/images/spec.gif .org. Größe: 6. INTERNET Adresse: www. Größe: 100. Datei: C_entities. Pfad: /TR/rdf-sparql-query .w3. The mission of the Rule Interchange Format (RIF) Working Group. [27] W3C.79 KB.w3. Stand: 03. The Hierarchy of Entities in OWL. INTERNET Adresse: www.w3. Stand: 24. [28] W3C.2010. [24] W3C. 2010. 2005.04. Pfad: /2005/rules/wiki/RIF_Working_Group.92 KB.99 KB. Stand: 25.org. 2008.Literaturverzeichnis [23] W3C.org.org. Datei: OWL2-structure-800. The Structure of OWL 2.2010. SPARQL Query Language for RDF .w3c.2010.2010. [26] W3C.04. Stand: 06. INTERNET Adresse: www. [25] W3C. Datei: RecsFigure-Smaller.04. Pfad: /TR/2008/WD-owl2-syntax-20081008. INTERNET Adresse: www.04. 2010.de. Datei: C_entities.2010.gif . Pfad: /TR/2009/WD-owl2-overview-20090327 . 2010.7 KB. Stand: 11. 2010. Größe: 114. 50 .w3. INTERNET Adresse: www. Stand: 24.2010.92 KB.04. Größe: 6. Größe: 352.