Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank...

27
Anbindung eines Ontologie-basiertes Risikomanagement-systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag von Tilo Dickopp

Transcript of Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank...

Page 1: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

Anbindung eines Ontologie-basiertes Risikomanagement-

systems an eine XML-Datenbank

Datenbankseminaram Lehrstuhl für Praktische Informatik III

Vortrag von Tilo Dickopp

Page 2: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

Agenda

• Überblick „JOntoRisk“-Projekt• Ein XPath-basierter Reasoner • Ausblick

Page 3: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

3 / 27

Einführung

• Entwicklung einer Plattform zur Unterstützung des Risikomanagement-Prozesses: „JOntoRisk“

• Integration bestehender Tools und externer Quellen (z.B. Schadensdatenbanken)

JOntoRisk Einführung

RisikomanagementAnforderungenStandard-APIsNachteileArchitekturOntologieOntology-Views

XPath-Reasoner

Ausblick

Page 4: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

4 / 27

Risikomanagement

• Banken und andere Finanzdienstleister sind gesetzlich gezwungen ihre Risiken zu managen.

• Ein solches Risikomanagement kann in einem Prozess mit drei Phasen verwirklicht werden:

Identifikation

Messen

Steuerung /Maßnahmen

Riskoumgebung

Abgleich

QuantitativesVerstehen

JOntoRiskEinführung

RisikomanagementAnforderungenStandard-APIsNachteileArchitekturOntologieOntology-Views

XPath-Reasoner

Ausblick

Page 5: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

5 / 27

Anforderungen

(1) Jede Phase des Risikomanagement-Prozesses soll durch ein Tool unterstützt werden. Mindestens:

– Self-Assesment während der Identifikation (Textanalyse analog zu Abbot)

– Simulation zum Messen des Risikoausmaßes– Plausibilitätsabglich mit Schadensdatenbanken

(2) Ontologie, die das Unternehmen aus Risikosicht beschreibt, als gemeinsame Datenbasis

(3) Manche der Tools sollen auf mobilen Clients laufen (z.B. währende Besprechung eines Zinsrisikos mit einem Kunden).

(4) …

JOntoRiskEinführungRisikomanagement

AnforderungenStandard-APIsNachteileArchitekturOntologieOntology-Views

XPath-Reasoner

Ausblick

Page 6: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

6 / 27

Architektur mit Standard APIs

Clients

Server /Reasoner

Somit bietet sich folgende Architektur an:

Ontologie

Unter Verwendung von Standard APIs zur Ontologieverarbeitung, wie „Jena“, würde das z.B. heißen:

J2ME(mobiler Client)

J2SE / Jena

Relationale DB

Middleware

JDBC

Ontologie als Jena-Objekte

Ontologie als Jena-Objekte

JOntoRiskEinführungRisikomanagementAnforderungen

Standard-APIsNachteileArchitekturOntologieOntology-Views

XPath-Reasoner

Ausblick

Page 7: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

7 / 27

Nachteile der Architektur mit Standard APIs

• Standardbibliotheken zu groß für mobile Endgeräte (Jena: 2,5mb; obfusicated 1,7mb).

• Bruch in der Darstellungsform: Relationen, Jena-Objekte, IDL/CDR-Darstellung, …

• Ständiges Anlegen von Java-Objekten teuer.• Schwergewichtig. • Kommt nicht ohne dedizierte Server-

komponente. Somit nicht umsetzbar:

JOntoRisk

XML DB

JOntoRiskEinführungRisikomanagementAnforderungenStandard-APIs

NachteileArchitekturOntologieOntology-Views

XPath-Reasoner

Ausblick

Page 8: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

8 / 27

Umgesetzte Architektur

In JOntoRisk verwenden wir deshalb eine davon abweichende Architektur:

JOR-Client

JOR-Server

XML DB

WS / XML-Streams

nativer Treiber (verarbeitet XPath)

Ontologie in OWLReasoning mit XML-Technologien

Ontologie in OWL oder eigene Darstellung

Ontologie in OWL(z.Z. Infonyte)

Können zusammenfallen.

JOntoRiskEinführungRisikomanagementAnforderungenStandard-APIsNachteile

ArchitekturOntologieOntology-Views

XPath-Reasoner

Ausblick

Page 9: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

9 / 27

Ausschnitt aus der Ontologie

Resource

Random

Property

Process

Human

Technology

Integrity

Availability

Security

Correctness

Timeliness

Completeness

InBudget

InTime

InQuality

Project

IT

System

Effect

Payment

Deprication

Missed

Gain

Loss

Activity BusinessLine

Costcauses

exhibits

enables

maps

generates

behaves

influences

formsdepends

JOntoRiskEinführungRisikomanagementAnforderungenStandard-APIsNachteileArchitektur

OntologieOntology-Views

XPath-Reasoner

Ausblick

Page 10: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

10 / 27

Ontology-Views

Ontologie

Client 1

Client 2

Brücke 1

Clients haben eine abweichende Sicht auf das Unternehmen. Diese Sichten werden durch sog. Ontology-Views erzeugt:

View 1

Legacy-Tool 1

View 2

View 3

JOntoRiskEinführungRisikomanagementAnforderungenStandard-APIsNachteileArchitekturOntologie

Ontology-Views

XPath-Reasoner

Ausblick

Page 11: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

11 / 27

Ontology-Views

• Als Beispiel einige Definitionen aus dem View für die Simulationskomponente (nach Kühn/Neu) in Description Logic:

Asset System

Riskfactor IT Project

State Property behaves.Random

• In JOntoRisk werden die Views nicht in DL sondern in der OWL formuliert!

JOntoRiskEinführungRisikomanagementAnforderungenStandard-APIsNachteileArchitekturOntologie

Ontology-Views

XPath-Reasoner

Ausblick

Page 12: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

12 / 27

Anforderungen

(1) Der Reasoner muss in der Lage sein, die verwendeten Ontology-Views umzusetzen.

(2) Er soll eine deklarative Anfragesprache zum Zugriff auf das DB-Repository benutzen.

JOntoRisk

XPath-Reasoner Anforderungen

RegelnAblaufBeispielStrukturVorbereitungMerger

Ausblick

Page 13: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

13 / 27

b

Regeln

Der Reasoner benutzt Regeln, wie zum Beispiel:

a) Prämisse: Konjunktiv verknüpfte Formeln.Bezeichnung: Für eine Regel r bezeichnen r1,…,rn die einzelnen Formeln. Bsp.: r2=„oC2“

b) Konsequenz: Schlussfolgerbares Wissen, wenn die Prämisse wahr ist. Bezeichnung: rneu

C1C2 oC2

oC1

a C1C2 R.C3 oC2 C3, oR

oC1

JOntoRisk

XPath-Reasoner Anforderungen

RegelnAblaufBeispielStrukturVorbereitungMerger

Ausblick

Page 14: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

14 / 27

Ablauf

Definition: Eine Substitution einer gegebenen Formel f bezeichnet eine Ersetzung aller in f vorkommenden Variablen durch Ausdrücke, die keine Variablen enthalten.

Ablauf:

Ausgabe = {}FÜR jede Regel r {

FÜR jedes mit {(r1), …, (rn)}OWL-Daten { Ausgabe = Ausgabe {(rneu)}

}}

JOntoRisk

XPath-Reasoner AnforderungenRegeln

AblaufBeispielStrukturVorbereitungMerger

Ausblick

Page 15: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

15 / 27

Beispiel

Anwenden der Regel auf das

vereinfachte OWL-Dokuement:

C1C2 oC2

oC1

…<owl:Class rdf:ID="System"> <rdfs:subClassOf rdf:resource="#Technology"/>…</owl:Class>…<owl:Class rdf:ID="Asset"> <owl:equivalentClass rdf:resource="#System"/>…</owl:Class>…<jor:System rdf:ID="HAL9000">…</jor:System>…

JOntoRisk

XPath-Reasoner AnforderungenRegelnAblauf

BeispielStrukturVorbereitungMerger

Ausblick

Page 16: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

16 / 27

Beispiel

Schritt 1: Suche nach „C1C2“

Werte dazu den folgenden XPath-Ausdruck aus:

//owl:Class[owl:equivalentClass]

…<owl:Class rdf:ID="System"> <rdfs:subClassOf rdf:resource="#Technology"/>…</owl:Class>…<owl:Class rdf:ID="Asset"> <owl:equivalentClass rdf:resource="#System"/>…</owl:Class>…<jor:System rdf:ID="HAL9000">…</jor:System>…

JOntoRisk

XPath-Reasoner AnforderungenRegelnAblauf

BeispielStrukturVorbereitungMerger

Ausblick

Page 17: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

17 / 27

Beispiel

Schritt 2: Binden der Variablen C1 und C2:

…<owl:Class rdf:ID="System"> <rdfs:subClassOf rdf:resource="#Technology"/>…</owl:Class>…<owl:Class rdf:ID="Asset"> <owl:equivalentClass rdf:resource="#System"/>…</owl:Class>…<jor:System rdf:ID="HAL9000">…</jor:System>…

$C1 ./@rdf:ID$C2 .//owl:equivalentClass/@rdf:resource

JOntoRisk

XPath-Reasoner AnforderungenRegelnAblauf

BeispielStrukturVorbereitungMerger

Ausblick

Page 18: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

18 / 27

Beispiel

Schritt 3: Wenn in den Schritten 1 und zwei alle Variablen gebunden wurden, suche nach „ oC2“:

//$C2 wird zu //jor:System

…<owl:Class rdf:ID="System"> <rdfs:subClassOf rdf:resource="#Technology"/>…</owl:Class>…<owl:Class rdf:ID="Asset"> <owl:equivalentClass rdf:resource="#System"/>…</owl:Class>…<jor:System rdf:ID="HAL9000">…</jor:System>…

JOntoRisk

XPath-Reasoner AnforderungenRegelnAblauf

BeispielStrukturVorbereitungMerger

Ausblick

Page 19: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

19 / 27

Beispiel

Schritt 4: Binden der Variablen o:

…<owl:Class rdf:ID="System"> <rdfs:subClassOf rdf:resource="#Technology"/>…</owl:Class>…<owl:Class rdf:ID="Asset"> <owl:equivalentClass rdf:resource="#System"/>…</owl:Class>…<jor:System rdf:ID="HAL9000">…</jor:System>…

$O .

JOntoRisk

XPath-Reasoner AnforderungenRegelnAblauf

BeispielStrukturVorbereitungMerger

Ausblick

Page 20: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

20 / 27

$O$C2

Beispiel

Schritt 5: Erzeugen der Ausgabe mittels eines Templates:

<{$C1} rdf:ID="{$O/@rdf:ID}"> {$O/*}</{$C1}>

<jor:Asset rdf:ID="HAL9000"> …</ jor:Asset>

…<owl:Class rdf:ID="Asset"> <owl:equivalentClass rdf:resource="#System"/>…</owl:Class>…<jor:System rdf:ID="HAL9000">…</jor:System>…

$C1

JOntoRisk

XPath-Reasoner AnforderungenRegelnAblauf

BeispielStrukturVorbereitungMerger

Ausblick

Page 21: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

21 / 27

Struktur des Reasoners

originalOntologie

gefolgertesWissen

Merger

Regeln

Reasoning-Kern

Vorbereitung

JOntoRisk

XPath-Reasoner AnforderungenRegelnAblaufBeispiel

StrukturVorbereitungMerger

Ausblick

Page 22: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

22 / 27

Vorbereitung

• Einschränkungen des Reasoners:– nur online– kein rekursives Anwenden von Regelnentworfen für Anfragen der Art: „Gib mir alle

Individuen der Klasse X.“

• Wenn zusätzlich keine Änderungen am Schema erlaubt sind, kann die Laufzeit optimiert werden:– Pruning der Regelmenge– Cachen der Werte von Variablen in

Formeln, die sich auf das Schema beziehen

JOntoRisk

XPath-Reasoner AnforderungenRegelnAblaufBeispielStruktur

VorbereitungMerger

Ausblick

Page 23: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

23 / 27

Merger

<jor:System rdf:ID="HAL9000"> <jor:Completeness rdf:resource="#i1"/> </jor:System>…<jor:Asset rdf:ID="HAL9000"> <jor:Formula>NormalDist(0,1)<jor:Formula></jor:Asset>

<jor:Asset rdf:ID="HAL9000"> <jor:Completeness rdf:resource="#i1"/> </jor:Asset>

<jor:Asset rdf:ID="HAL9000"> <jor:Completeness rdf:resource="#i1"/> <jor:Formula>NormalDist(0,1)<jor:Formula></jor:Asset>

Reasoner

Merger

JOntoRisk

XPath-Reasoner AnforderungenRegelnAblaufBeispielStrukturVorbereitung

Merger

Ausblick

Page 24: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

24 / 27

Ideen für Erweiterungen

(1) Gefolgertes Wissen speichern (+ truth maintenance).

(2) Transitiv folgerbares Wissen.(3) Regeln nicht mehr von Hand implementieren,

sondern in deklarativer Sprache definieren (angelehnt an OWL abstract Syntax).

(4) Anfrageschnittstelle generalisieren (zum Beispiel OWL-QL).

(5) Regeln in XQuery umsetzen.

Für JOntoRisk wird vermutlich nur noch Idee (3) umgesetzt.

JOntoRisk

XPath-Reasoner

Ausblick Ideen

XQuery

Page 25: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

25 / 27

XQuerydeclare namespace rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"declare namespace owl="http://www.w3.org/2002/07/owl#"declare namespace jor="http://www.jontorisk.org/jontorisk.owl";

for $R1 in //owl:Class[owl:equivalentClass]let $C1 := $R1/@rdf:IDlet $C2 := fn:concat('jor:', fn:substring-after($R1//owl:equivalentClass/@rdf:resource, '#'))for $R2 in //*[name()=$C2]let $O := $R2return element{$C1}{attribute rdf:ID {$O/@rdf:ID}, $O/*}

JOntoRisk

XPath-Reasoner

AusblickIdeen

XQuery

Page 26: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

26 / 27

XQuerydeclare namespace rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";declare namespace owl="http://www.w3.org/2002/07/owl#";declare namespace jor="http://www.jontorisk.org/jontorisk.owl";

for $R1 in //owl:Class[owl:equivalentClass]let $C1 := $R1/@rdf:IDlet $C2 := fn:concat('jor:', fn:substring-after(

$R1//owl:equivalentClass/@rdf:resource, '#'))for $R2 in //*[name()=$C2]let $O := $R2return element{$C1}{attribute rdf:ID {$O/@rdf:ID}, $O/*}

JOntoRisk

XPath-Reasoner

AusblickIdeen

XQuery

Page 27: Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.

Ende