gut vernetzt: skalierbares graph mining für business intelligence

82
Gut vernetzt: Skalierbares Graph Mining für Business Intelligence André Petermann, Martin Junghanns Universität Leipzig & ScaDS Dreden/Leipzig

Upload: martin-junghanns

Post on 21-Jan-2018

602 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt:

Skalierbares Graph Mining für Business Intelligence

André Petermann, Martin Junghanns

Universität Leipzig & ScaDS Dreden/Leipzig

Page 2: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Graphs are everywhere

GRADOOP

Business Intelligence

Zusammenfassung

Page 3: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 3

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

3

Graphs are everywhere1

1The Neo4j guys

Page 4: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 4

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

4

Graphs are everywhere

𝐺𝑟𝑎𝑝ℎ = (𝐾𝑛𝑜𝑡𝑒𝑛, 𝐾𝑎𝑛𝑡𝑒𝑛)

Page 5: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 5

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

5

Graphs are everywhere

Quelle: https://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919/

Page 6: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 6

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

6

Graphs are everywhere

𝐺𝑟𝑎𝑝ℎ = (𝑁𝑢𝑡𝑧𝑒𝑟, 𝐹𝑟𝑒𝑢𝑛𝑑𝑠𝑐ℎ𝑎𝑓𝑡𝑒𝑛)

Alice

Bob

Eve

Dave

Carol

Mallory

Peggy

Trent

Page 7: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 7

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

7

Graphs are everywhere

Alice

Bob

Eve

Dave

Carol

Mallory

Peggy

Trent

𝐺𝑟𝑎𝑝ℎ = (𝑁𝑢𝑡𝑧𝑒𝑟, 𝐹𝑟𝑒𝑢𝑛𝑑𝑠𝑐ℎ𝑎𝑓𝑡𝑒𝑛)

Page 8: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 8

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

8

Graphs are everywhere

Quelle: https://www.openstreetmap.de/

Page 9: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 9

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

9

Graphs are everywhere

Leipzig

Dresden

Berlin

Hamburg

München

Chemnitz

Nürnberg

Köln

𝐺𝑟𝑎𝑝ℎ = (𝑆𝑡ä𝑑𝑡𝑒, 𝑉𝑒𝑟𝑏𝑖𝑛𝑑𝑢𝑛𝑔𝑒𝑛)

Page 10: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 10

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

10

Graphs are everywhere

Page 11: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 11

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

11

Graphs are everywhere

fakturiert

Mitarbeiter name: Alice

Ticket kosten: 500

Auftrag

Ausgangsrechnung umsatz : 3000

Bestellung

Mitarbeiter name: Eve

Eingangsrechnung kosten : 1500

Zulieferer name: Elbe Blech

𝐺𝑟𝑎𝑝ℎ = (𝐺𝑒𝑠𝑐ℎä𝑓𝑡𝑠𝑜𝑏𝑗𝑒𝑘𝑡𝑒, 𝐾𝑜𝑛𝑡𝑒𝑥𝑡)

Page 12: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 12

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

12

Graphs are everywhere

Wie oft telefonieren Mitarbeiter und Kunden aus verschiedenen Ländern miteinander?

Page 13: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 13

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

13

Graphs are everywhere

Nutzer entspricht

entspricht

freunde

bearbeitetVon

Nutzer

Mitarbeiter

Kontaktperson

Zulieferer

Eingangsrechnung

von

gehörtZu

Welche Betrugsmuster treten in meinen Geschäftsdaten auf?

Page 14: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 14

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

14

Graphs are everywhere

Welche Muster sind charakteristisch für Erfolg und Misserfolg eines Geschäftsprozesses?

Alice Email gesendetVon

Angebot Email zu

Telefonat Angebot Email zu zu

Eve Email gesendetVon

Page 15: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 15

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

15

GRADOOP Graph Analytics with Hadoop

Page 16: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 16

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

Datenvolumen / Berechnungsaufwand

Usabili

ty

Graph Processing Systeme

Graphdatenbanken

Page 17: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 17

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

Ein Open Source Framework für die deklarative Analyse verteilter Graphdaten

Page 18: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 18

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Ausdrucksstarkes Datenmodell (Extended Property Graph Model)

o Analytische Algorithmen und Operatoren

o Deklarative Workflows

o Implementiert auf Big Data Technology

Page 19: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 19

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

HDFS/YARN Cluster

Apache HBase: Distributed Graph Store

Apache Flink: Operator Implementation

Apache Flink: Distributed Operator Execution

Extended Property Graph Model (EPGM)

Graph Analytical Language (GrALa)

Page 20: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 20

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

Extended Property Graph Model – EPGM

Page 21: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 21

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Knoten (Vertices)

Page 22: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 22

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Kanten (Edges)

Page 23: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 23

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Identifikatoren

2 1 1 3

Page 24: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 24

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o (Typ) Labels

2 1 1

Auftrag Mitarbeiter

3 Mitarbeiter

Page 25: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 25

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Eigenschaften (Properties)

2 1 1

Auftrag id : SO020 umsatz : 150.00 fakturiert : true

Mitarbeiter name : Alice dob : 1980-01-01

3 Mitarbeiter name : Bob

Page 26: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 26

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Gerichtete Kanten

2 1 1

Auftrag id : SO020 umsatz : 150.00 fakturiert : true

Mitarbeiter name : Alice dob : 1980-01-01

3 Mitarbeiter name : Bob

Page 27: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 27

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Kanten Labels und Properties

2 1 1

Auftrag id : SO020 umsatz : 150.00 fakturiert : true

Mitarbeiter name : Alice dob : 1980-01-01 erstelltVon

date : 2016-10-01

3 Mitarbeiter name : Bob

Page 28: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 28

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Parallele Kanten (Multigraph)

2 3 1 1

2

3

Auftrag id : SO020 umsatz : 150.00 fakturiert : true

Mitarbeiter name : Bob

Mitarbeiter name : Alice dob : 1980-01-01 erstelltVon

date : 2016-10-01

ansprechpartner

bearbeiterIntern

Page 29: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 29

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Schleifen

2 3 1 1

2

3

4

Auftrag id : SO020 umsatz : 150.00 fakturiert : true

Mitarbeiter name : Bob

Mitarbeiter name : Alice dob : 1980-01-01 erstelltVon

date : 2016-10-01

ansprechpartner

bearbeiterIntern

ers

tellt

Von

Page 30: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 30

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Logische (Sub-)Graphen

2 3 1 1

2

3

4

Auftrag id : SO020 umsatz : 150.00 fakturiert : true

Mitarbeiter name : Bob

Mitarbeiter name : Alice dob : 1980-01-01 erstelltVon

date : 2016-10-01

ansprechpartner

bearbeiterIntern

ers

tellt

Von

1

Page 31: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 31

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Graph Labels und Properties

2 3 1 1

2

3

4

Auftrag id : SO020 umsatz : 150.00 fakturiert : true

Mitarbeiter name : Bob

Mitarbeiter name : Alice dob : 1980-01-01 erstelltVon

date : 2016-10-01

ansprechpartner

bearbeiterIntern

ers

tellt

Von

Nachbarschaft von : Bob anzKanten : 2

2

Aktivität 1

Page 32: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 32

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Extended Property Graph Model (EPGM)

2 3 1 1

2

3

4

Auftrag id : SO020 umsatz : 150.00 fakturiert : true

Mitarbeiter name : Bob

Mitarbeiter name : Alice dob : 1980-01-01 erstelltVon

date : 2016-10-01

ansprechpartner

bearbeiterIntern

ers

tellt

Von

Nachbarschaft von : Bob anzKanten : 2

2

Aktivität 1

Page 33: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 33

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

Graph Analytical Language - GrALa

Page 34: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 34

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Domänenspezifische Sprache für das EPGM o Deklarative Operatoren für Logische Graphen und Graphmengen

o Anwendungslogik in benutzerdefinierten Funktionen

o Plugin-Konzept für externe Graphalgorithmen o Aktuell in Java implementiert

GrALa

Page 35: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 35

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

o Variablen

o Zugriff auf Knoten und Kanten

o Symbole

o Zugriff auf ID / Label

o Zugriff auf Properties

o Benutzerdefinierte Funktionen

o Funktionen als Argument

o Verkettung

LogicalGraph graph; GraphCollection coll;

graph.vertices; graph.edges

:id :label

graph[:id]; graph[:label]; vertex[:label]

graph[‘anzKnoten‘]; vertex[‘name‘]

udf = (graph => graph[‘anzKnoten‘] > 42)

graph.foo(udf)

graph.foo(udf).bar(udf)

GrALa - Sprachkonstrukte

Page 36: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 36

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

1 3

4

5 2

3

1 2

1 3

4

5 2

1 2 4

5

Combination

Overlap

Exclusion

3 Binäre Operatoren

LogicalGraph graph3 = graph1.combine(graph2) LogicalGraph graph4 = graph1.overlap(graph2) LogicalGraph graph5 = graph1.exclude(graph2)

Page 37: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 37

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

1 3

4

5 2

3

1 3

4

5 2

3 | anzKnoten: 5

UDF

Aggregation

udf = (graph => graph[‘anzKnoten’] = graph.vertices.size()) graph3 = graph3.aggregate(udf)

Page 38: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 38

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

UDF

3 | anzKnoten: 5

name:Alice

f_name:Bob 1 3

4

5 2

3 | Community| anzKnoten: 5

f_name:Alice

f_name:Bob 1 3

4

5 2

Transformation

graph3 = graph3.transform( (graphOld, graphNew => graphNew[:label] = ‘Community’), (vertexOld, vertexNew => vertexNew[‘f_name’] = vertexOld[‘name’] != null ? vertexOld[‘name’] : vertexOld[‘f_name’]), (edgeOld, edgeNew => edgeNew[:label] = edgeOld[:label] == ‘orange’ ? ‘rot’ : edgeOld[:label]))

Page 39: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 39

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

3

1 3

4

5 2

3

4

1 2

3

5

1 2

6

3 5

2 UDF

UDF

UDF

Subgraph

LogicalGraph graph4 = graph3.subgraph( (vertex => vertex[:label] == ‘grün’), (edge => edge[:label] == ‘orange’)) LogicalGraph graph5 = graph3.subgraph((vertex => vertex[:label] == ‘grün’)) LogicalGraph graph6 = graph3.subgraph((edge => edge[:label] == ‘blau’))

Page 40: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 40

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

3

1 3

4

5 2 Pattern

4 5

1 3

4

2

Graph Collection

Pattern Matching

GraphCollection collection = graph3.match(‘(:Grün)-[:orange]->(:Orange)’) // z.B. in Geschäftsdaten GraphCollection collection = graph3.match(‘(:Auftrag)-[:bearbeitetVon]->(:Mitarbeiter)’)

Page 41: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 41

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

Keys

3

1 3

4

5 2

+Aggregate

3

a:23 a:84

a:42

a:12

1 3

4

5 2

a:13

a:21

4

count:2 count:3

max(a):42

max(a):84

max(a):13 max(a):21

6 7

4

6 7

Grouping

LogicalGraph grouped = graph3.groupBy( [:label], // vertex keys [:label]) // edge keys LogicalGraph grouped = graph3.groupBy([:label], [COUNT()], [:label], [MAX(‘a’)])

Page 42: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 42

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

Operator

1

2

0 2

3

4 1

5 7 8 6

1 | anzKnoten: 5

2 | anzKnoten: 4

0 2

3

4 1

5 7 8 6

Apply (e.g. Aggregation)

collection = collection.apply( (graph => graph.aggregate((g => g[‘anzKnoten’] = g.vertices.size()))));

Page 43: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 43

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

UDF

anzKnoten > 4

1 | anzKnoten: 5

2 | anzKnoten: 4

0 2

3

4 1

5 7 8 6

1 | anzKnoten: 5

0 2

3

4 1

Selection

GraphCollection filtered = collection.select((graph => graph[‘anzKnoten’] > 4))

Page 44: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 46

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung GRADOOP

GraphCollection frequentPatterns = collection.callForCollection(new TransactionalFSM(0.5))

Call (e.g. Frequent Subgraph Mining)

FSM

Schwellwert : 50%

1

0 1 2

3

4

5 6 7

8

9

10

13

14

2

3

11 12

15 16

17 18

19 20

4

5

6

21 23 22

25 26 24

7

8

Page 45: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 47

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

47

Business Intelligence

Page 46: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 48

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

48

Business Intelligence

o Geschäftsdaten als Graph

o Analytische Beispiele:

o Geografische Kundenkontakte

o Nach verdächtigen Mustern suchen

o Analyse von Geschäftsprozessen (Quote-to-Cash)

Page 47: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 49

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

49

Business Intelligence

manuell, teilweise automatisierbar

automatisch Domänenexperte

Metadaten

Metadaten-Graph

Integrierte Graphdaten

Daten

ERP, CRM, ... BizTalk etc. Web

Geschäftsdaten als Graph

Page 48: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 50

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

50

Business Intelligence

CIT ERP

bestätigt

bedient

bedient

fakturiert

fakturiert fakturiert

Angebot

Auftrag Bestellung

Bestellung

Eingangsrechnung

Eingangsrechnung Ausgangsrechnung

Mitarbeiter id: Dave

Ticket id: TI-001 kosten: 500

betrifft

bearbeitetVon

bearbeitetVon

Geschäftsdaten als Graph

Mitarbeiter Mitarbeiter

Mitarbeiter

id: Alice land: UK

id: Bob land: DE

id: Carol land: DE

id: SI-001 umsatz : 5,000

id: PI-002 kosten: 1,500

id: PI-001 kosten: 2,000

id: PO-001 id: SO-001

id: PO-002

id: SQ-001

erstelltVon erstelltVon

bearbeitetVon

erstelltVon

erstelltVon

Page 49: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 51

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

51

Business Intelligence

Beispiel 1 : Geographische Kundenkontakte mit Graph Grouping

Wie oft telefonieren Mitarbeiter und Kunden aus verschiedenen Ländern miteinander?

Page 50: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 52

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

52

Business Intelligence

DataSource dataSource = new HBaseDataSource();

Page 51: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 53

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

53

Business Intelligence

DataSource dataSource = new HBaseDataSource();

LogicalGraph graph = dataSource.toLogicalGraph()

Mitarbeiter name: Alice land : DE

Mitarbeiter name: Bob land : NL

Mitarbeiter name: Carol land : UK

Mitarbeiter name: Dave land : UK

Kunde name: Paul land : DE

Kunde name: Arthur land : UK

Kunde name: Frank land : DE

Angebot id : QTN001

Kunde name: Chuck land : UK

1

Page 52: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 54

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

54

Business Intelligence

DataSource dataSource = new HBaseDataSource();

LogicalGraph graph = dataSource.toLogicalGraph()

.subgraph(v => v[:label] == ‘Mitarbeiter‘ || v[:label] == ‘Kunde‘)

Mitarbeiter name: Alice land : DE

Mitarbeiter name: Bob land : NL

Mitarbeiter name: Carol land : UK

Mitarbeiter name: Dave land : UK

Kunde name: Paul land : DE

Kunde name: Arthur land : UK

Kunde name: Frank land : DE

Angebot id : QTN001

Kunde name: Chuck land : UK

1

Page 53: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 55

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

55

Business Intelligence

DataSource dataSource = new HBaseDataSource();

LogicalGraph graph = dataSource.toLogicalGraph()

.subgraph(v => v[:label] == ‘Mitarbeiter‘ || v[:label] == ‘Kunde‘)

Mitarbeiter name: Alice land : DE

Mitarbeiter name: Bob land : NL

Mitarbeiter name: Carol land : UK

Mitarbeiter name: Dave land : UK

Kunde name: Paul land : DE

Kunde name: Arthur land : UK

Kunde name: Frank land : DE

Kunde name: Chuck land : UK

2

1

Page 54: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 56

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

56

Business Intelligence

DataSource dataSource = new HBaseDataSource();

LogicalGraph graph = dataSource.toLogicalGraph()

.subgraph(v => v[:label] == ‘Mitarbeiter‘ || v[:label] == ‘Kunde‘)

.groupBy( [:label, ‘land‘], [COUNT()], [:label], [COUNT()]);

Mitarbeiter name: Alice land : DE

Mitarbeiter name: Bob land : NL

Mitarbeiter name: Carol land : UK

Mitarbeiter name: Dave land : UK

Kunde name: Paul land : DE

Kunde name: Arthur land : UK

Kunde name: Frank land : DE

Kunde name: Chuck land : UK

2

1

Page 55: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 57

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

57

Business Intelligence

DataSource dataSource = new HBaseDataSource();

LogicalGraph graph = dataSource.toLogicalGraph()

.subgraph(v => v[:label] == ‘Mitarbeiter‘ || v[:label] == ‘Kunde‘)

.groupBy( [:label, ‘land‘], [COUNT()], [:label], [COUNT()]);

Mitarbeiter land : DE count : 1

Mitarbeiter land : NL count : 1

Mitarbeiter land : UK count : 2

Kunde land : UK count : 2

Kunde land : DE count : 2

anruf count : 1

3

anruf count : 1

anruf count : 1

anruf count : 1

anruf count : 2

anruf count : 1

2

Page 56: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 58

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

58

Business Intelligence

DataSource dataSource = new HBaseDataSource();

LogicalGraph graph = dataSource.toLogicalGraph()

.subgraph(v => v[:label] == ‘Mitarbeiter‘ || v[:label] == ‘Kunde‘)

.groupBy( [:label, ‘land‘], [COUNT()], [:label], [COUNT()]);

graph.writeTo(new JSONDataSink(‘hdfs:///result‘)

Mitarbeiter land : DE count : 1

Mitarbeiter land : NL count : 1

Mitarbeiter land : UK count : 2

Kunde land : UK count : 2

Kunde land : DE count : 2

anruf count : 1

3

anruf count : 1

anruf count : 1

anruf count : 1

anruf count : 2

anruf count : 1

2

Page 57: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 59

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

59

Business Intelligence

Wie oft telefonieren Mitarbeiter und Kunden aus verschiedenen Ländern miteinander?

Page 58: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 60

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

60

Business Intelligence

Beispiel 2: Nach verdächtigen Mustern suchen mit Pattern Matching

Page 59: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 61

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

61

Business Intelligence

LogicalGraph graph = dataSource.toLogicalGraph();

entspricht

Kontaktperson

Mitarbeiter

Geschäftsdaten

Nutzer

1

freunde

Soziales Netzwerk

Page 60: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 62

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

62

Business Intelligence

LogicalGraph graph = dataSource.toLogicalGraph();

Nutzer entspricht

entspricht

bearbeitetVon

Nutzer

Mitarbeiter

Kontaktperson Zulieferer

Eingangsrechnung

von

gehörtZu

freunde

Page 61: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 63

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

63

Business Intelligence

LogicalGraph graph = dataSource.toLogicalGraph();

GraphCollection coll = graph.match(

(e:Mitarbeiter)<-[:bearbeitetVon]-(:Eingangsrechnung)-[:von]->(:Zulieferer)<-[:gehörtZu]-(c:Kontaktperson)

(c)-[:entspricht]->(:Nutzer)-[:freunde]->(:Nutzer)<-[:entspricht]-(e))

e

c

Nutzer entspricht

entspricht

bearbeitetVon

Nutzer

Mitarbeiter

Kontaktperson Zulieferer

Eingangsrechnung

von

gehörtZu

freunde

Page 62: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 64

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

64

Business Intelligence

LogicalGraph graph = dataSource.toLogicalGraph();

GraphCollection coll = graph.match(

(e:Mitarbeiter)<-[:bearbeitetVon]-(:Eingangsrechnung)-[:von]->(:Zulieferer)<-[:gehörtZu]-(c:Kontaktperson)

(c)-[:entspricht]->(:Nutzer)-[:freunde]->(:Nutzer)<-[:entspricht]-(e))

2

e

c

Nutzer name: Alice

entspricht

entspricht

bearbeitetVon

Nutzer name: Bob

Mitarbeiter name: Alice Smith

Kontaktperson name: Bob Miller

Zulieferer name: Elbe Blech

Eingangsrechnung umsatz : 1337

von

gehörtZu

3

4

freunde

Page 63: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 65

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

65

Business Intelligence

LogicalGraph graph = dataSource.toLogicalGraph();

GraphCollection coll = graph.match(

(e:Mitarbeiter)<-[:bearbeitetVon]-(:Eingangsrechnung)-[:von]->(:Zulieferer)<-[:gehörtZu]-(c:Kontaktperson)

(c)-[:entspricht]->(:Nutzer)-[:freunde]->(:Nutzer)<-[:entspricht]-(e))

.apply(g => g.subgraph(e => e[:label] == ‘freunde‘));

2

e

c

Nutzer name: Alice

entspricht

entspricht

bearbeitetVon

Nutzer name: Bob

Mitarbeiter name: Alice Smith

Kontaktperson name: Bob Miller

Zulieferer name: Elbe Blech

Eingangsrechnung umsatz : 1337

von

gehörtZu

3

4

freunde

Page 64: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 66

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

66

Business Intelligence

LogicalGraph graph = dataSource.toLogicalGraph();

GraphCollection coll = graph.match(

(e:Mitarbeiter)<-[:bearbeitetVon]-(:Eingangsrechnung)-[:von]->(:Zulieferer)<-[:gehörtZu]-(c:Kontaktperson)

(c)-[:entspricht]->(:Nutzer)-[:freunde]->(:Nutzer)<-[:entspricht]-(e))

.apply(g => g.subgraph(e => e[:label] == ‘freunde‘));

5 Nutzer name: Alice

Nutzer name: Bob

6

7 …

freunde

Page 65: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 67

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

67

Business Intelligence

LogicalGraph graph = dataSource.toLogicalGraph();

GraphCollection coll = graph.match(

(e:Mitarbeiter)<-[:bearbeitetVon]-(:Eingangsrechnung)-[:von]->(:Zulieferer)<-[:gehörtZu]-(c:Kontaktperson)

(c)-[:entspricht]->(:Nutzer)-[:freunde]->(:Nutzer)<-[:entspricht]-(e))

.apply(g => g.subgraph(e => e[:label] == ‘freunde‘));

Table result = collection.edges()

5 Nutzer name: Alice

Nutzer name: Bob

6

7 …

SOURCE EDGE TARGET

Alice freunde Bob

Alice freunde Bob

Eve freunde Frank

Alice freunde Bob

freunde

Page 66: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 68

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

68

Business Intelligence

LogicalGraph graph = dataSource.toLogicalGraph();

GraphCollection coll = graph.match(

(e:Mitarbeiter)<-[:bearbeitetVon]-(:Eingangsrechnung)-[:von]->(:Zulieferer)<-[:gehörtZu]-(c:Kontaktperson)

(c)-[:entspricht]->(:Nutzer)-[:freunde]->(:Nutzer)<-[:entspricht]-(e))

.apply(g => g.subgraph(e => e[:label] == ‘freunde‘));

Table result = collection.edges()

.groupBy(SOURCE, TARGET).count();

5 Nutzer name: Alice

Nutzer name: Bob

6

7 …

SRC TRGT CNT

Alice Bob 3

Eve Frank 1

SOURCE EDGE TARGET

Alice freunde Bob

Alice freunde Bob

Eve freunde Frank

Alice freunde Bob

freunde

Page 67: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 69

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

69

Business Intelligence

Beispiel 3: Quote-to-Cash Analyse von Geschäftsprozessen

Page 68: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 70

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

70

Business Intelligence

Quote-to-Cash

Kampagne thema: Äpfel Telefonat

Sachkonto name: umsatz

Sachkonto name: kosten Buchung

betrag: -200

Zahlung

Zahlung

Zahlung

Buchung betrag: 100

Buchung betrag: 100

Buchung betrag: 100

Kunde name: ACME

Ausgangsrechnung betrag: 300

Mitarbeiter name: Alice

Visit

Mitarbeiter name: Bob

Angebot

Produkt name: Apfel

anz : 100 preis: 1.50

Produkt name: Birne

anz : 200 preis: 1.00

Auftrag

Mitarbeiter name: Carol

anz : 300 preis: 1.00

Zulieferer name: East Fruits

Mitarbeiter name: Dave

Bestellung

anz : 100 | preis: 0.50

Bestellung

Zulieferer name: West Fruits anz : 200 | preis: 1.00

Buchung betrag: -200

Buchung betrag: -50

Page 69: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 71

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

71

Business Intelligence

Kampagne thema: Äpfel Telefonat

Sachkonto name: umsatz

Sachkonto name: kosten

Buchung betrag: 100

Buchung betrag: -100

Telefonat

Telefonat

Telefonat

Telefonat

Buchung betrag: 500

Buchung betrag: 400

Buchung betrag: 300

Buchung betrag: 200

Buchung betrag: -200

Buchung betrag: -300

Buchung betrag: -400 Buchung

betrag: -500

Quote-to-Cash

Page 70: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 72

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

72

Business Intelligence

0: LogicalGraph iig = dataSource.getLogicalGraph();

1: GraphCollection btgs = iig.callForCollection(new BusinessTransactionGraphs())

Integrierte Graphdaten

iig

btgs

Geschäftsfälle als Graphmenge

1

Quote-to-Cash

Page 71: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 73

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

73

Business Intelligence

CIT ERP

Auftrag id: SO-001

bestätigt

Bestellung

Bestellung

Ausgangsrechnung

id: SI-001 umsatz : 5,000

id: PO-001

id: PO-002

bedient

bedient

fakturiert

Angebot id: SQ-001

Mitarbeiter

Mitarbeiter id: Dave

Mitarbeiter

Mitarbeiter

id: Alice land: UK

id: Bob land: DE

id: Carol land: DE

bearbeitetVon

bearbeitetVon

erstelltVon erstelltVon

bearbeitetVon

erstelltVon

erstelltVon

Eingangsrechnung

Eingangsrechnung id: PI-002 kosten: 1,500

id: PI-001 kosten: 2,000

fakturiert

fakturiert

betrifft Ticket id: TI-001 kosten: 500

Quote-to-Cash

Page 72: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 74

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

74

Business Intelligence

0: LogicalGraph iig = dataSource.getLogicalGraph();

1: GraphCollection btgs = iig.callForCollection(new BusinessTransactionGraphs())

2: .apply(g => g.aggregate([SUM(‘umsatz’), SUM(‘kosten’)], [])

Integrierte Graphdaten

iig

btgs

Geschäftsfälle als Graphmenge

2

btgs

3000,2000

4000,3500

2000,2000

1000,1500

7500,6500

1000,3500

500, 500

Geschäftsfälle mit Umsatz und Ausgaben

1

Quote-to-Cash

Page 73: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 75

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

75

Business Intelligence

id: PI-001 kosten: 2,000

id: PI-002 kosten: 1,500 id: SI-001

umsatz : 5,000

Ticket id: TI-001 kosten: 500

CIT ERP

bestätigt

bedient

bedient

fakturiert

fakturiert

fakturiert

Angebot

Auftrag Bestellung

Bestellung

Ausgangssrechnung

Eingangsrechnung

Eingangsrechnung Mitarbeiter id: Dave

betrifft

bearbeitetVon

bearbeitetVon

Mitarbeiter Mitarbeiter

Mitarbeiter

id: Alice land: UK

id: Bob land: DE

id: Carol land: DE

id: PO-001 id: SO-001

id: PO-002

id: SQ-001

erstelltVon erstelltVon

bearbeitetVon

erstelltVon

erstelltVon

sum(umsatz) : 5,000 | sum(kosten): 4,000 Quote-to-Cash

Page 74: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 76

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

76

Business Intelligence

0: LogicalGraph iig = dataSource.getLogicalGraph();

1: GraphCollection btgs = iig.callForCollection(new BusinessTransactionGraphs())

2: .apply(g => g.aggregate([SUM(‘umsatz’), SUM(‘kosten’)], [])

3: .transform(categorizeGraphHead, changeVertexLabels);

Integrierte Graphdaten

iig

btgs

Geschäftsfälle als Graphmenge

btgs

3000,2000

4000,3500

2000,2000

1000,1500

7500,6500

1000,3500

500, 500

Geschäftsfälle mit Umsatz und Ausgaben

1 2

btgs

Kategorisierte Geschäftsfälle

3

Quote-to-Cash

Page 75: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 77

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

77

Business Intelligence

id: PI-001 kosten: 2,000

id: PI-002 kosten: 1,500

id: SI-001 umsatz : 5,000

Ticket id: TI-001 kosten: 500

CIT ERP

bestätigt

bedient

bedient

fakturiert

fakturiert

fakturiert

Angebot

Auftrag Bestellung

Bestellung

Eingangsrechnung

Eingangsrechnung

Eingangsrechnung

Mitarbeiter id: Dave

betrifft

bearbeitetVon

bearbeitetVon

Mitarbeiter Mitarbeiter

Mitarbeiter

id: Alice land: UK

id: Bob land: DE

id: Carol land: DE

id: PO-001 id: SO-001

id: PO-002

id: SQ-001

erstelltVon erstelltVon

bearbeitetVon

erstelltVon

erstelltVon

Quote-to-Cash sum(umsatz) : 5,000 | sum(kosten): 4,000

categorizeGraphHead = (Graph in, Graph out => out[‘category‘] = (in[‘sum(umsatz)‘] - in[‘sum(kosten)‘] > 0 ? ‘gewinn‘ : ‘verlust‘) ) changeVertexLabels = (Vertex in, Vertex out => out[:label] = (in[‘superClass‘] == ‘MasterData‘ ? in[‘id‘] : in[:label]) )

category: ‘gewinn‘

Page 76: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 78

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

78

Business Intelligence

Ticket

CIT ERP

bestätigt

bedient

bedient

fakturiert

fakturiert

fakturiert

Angebot

Auftrag Bestellung

Bestellung

Ausgangsrechnung

Eingangsrechnung

Eingangsrechnung

Mitarbeiter id: Dave

betrifft

bearbeitetVon

bearbeitetVon

Mitarbeiter Mitarbeiter

Mitarbeiter

id: Alice land: UK

id: Bob land: DE

id: Carol land: DE

erstelltVon erstelltVon

bearbeitetVon

erstelltVon

erstelltVon

Quote-to-Cash category: ‘gewinn‘

Alice

Bob

Carol

Dave

id: PI-001 kosten: 2,000

id: PI-002 kosten: 1,500 id: SI-001

umsatz : 5,000

id: PO-001 id: SO-001

id: PO-002

id: SQ-001

id: TI-001 kosten: 500

Page 77: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 79

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

79

Business Intelligence

0: LogicalGraph iig = dataSource.getLogicalGraph();

1: GraphCollection btgs = iig.callForCollection(new BusinessTransactionGraphs())

2: .apply(g => g.aggregate([SUM(‘umsatz’), SUM(‘kosten’)], [])

3: .transform(categorizeGraphHead, changeVertexLabels);

4: GraphCollection patterns = btgs.callForCollection(new CategoryCharacteristicSubgraphs(0.8, 2.0)

Integrierte Graphdaten

iig

btgs

Geschäftsfälle als Graphmenge

btgs

3000,2000

4000,3500

2000,2000

1000,1500

7500,6500

1000,3500

500, 500

Geschäftsfälle mit Umsatz und Ausgaben

btgs

Kategorisierte Geschäftsfälle

1 2 3

patterns

Charakteristische Graphmuster

4

Quote-to-Cash

Page 78: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 80

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

80

Business Intelligence

0: LogicalGraph iig = dataSource.getLogicalGraph();

1: GraphCollection btgs = iig.callForCollection(new BusinessTransactionGraphs())

2: .apply(g => g.aggregate([SUM(‘umsatz’), SUM(‘kosten’)], [])

3: .transform(categorizeGraphHead, changeVertexLabels);

4: GraphCollection patterns = btgs.callForCollection(new CategoryCharacteristicSubgraphs(0.8, 2.0)

Integrierte Graphdaten

iig

btgs

Geschäftsfälle als Graphmenge

btgs

3000,2000

4000,3500

2000,2000

1000,1500

7500,6500

1000,3500

500, 500

Geschäftsfälle mit Umsatz und Ausgaben

btgs

Kategorisierte Geschäftsfälle

1 2 3

patterns

Charakteristische Graphmuster

4

Alice Email

1 | category : ‘gewinn‘

Angebot Email Telefonat

2 | category : ‘gewinn‘

Angebot Alice Email Telefonat Bob

3 | category : ‘gewinn‘

Angebot Email Eve

4 | category : ‘verlust‘

Page 79: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 81

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

81

Business Intelligence

o Eingabe: KPI und Kategorisierung

o Muster werden automatisch gefunden

o Keine Vermutung notwendig (z.B. überprüfe E-Mails)

o Muster können weiter verwendet werden (Filtern, Anzeigen,...)

Angebot

Alice

Email Telefonat

Bob

Quote-to-Cash

Page 80: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 82

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

82

Zusammenfassung

Page 81: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Gut vernetzt: Skalierbares Graph Mining für Business Intelligence 83

Graphs are everywhere GRADOOP Business Intelligence Zusammenfassung

83

Zusammenfassung

o Open Source Framework

o Deklarative Graphanalyse

o Ausdrucksstarkes und flexibles Datenmodell

o Erweiterung von BI durch neuartige Netzwerkanalysen

o Big Data ready

Page 82: Gut vernetzt: Skalierbares Graph Mining für Business Intelligence

Junghanns, M.; Petermann, A.

Verteilte Graphanalyse mit Gradoop JavaSPEKTRUM 05/2016

Petermann, A.; Junghanns, M.

Scalable Business Intelligence with Graph Collections it - Information Technology, Special Issue: Big Data Analytics (2016)

Junghanns, M.; Petermann, A.; Teichmann, N.; Gomez, K.; Rahm, E.

Analyzing Extended Property Graphs with Apache Flink International Workshop on Network Data Analytics @ SIGMOD (2016)

Petermann, A.; Junghanns, M.; Kemper, S.; Gomez, K.; Teichmann, N.; Rahm, E.

Graph Mining for Complex Data Analytics Demonstration @ IEEE International Conference on Data Mining (2016)

Petermann, A.; Junghanns, M.; Müller, R.; Rahm, E.

Graph-based Data Integration and Business Intelligence with BIIIG Demonstration @ International Conference on Very Large Databases (2014)

GRADOOP @ inovex Meetup München 06/2016 http://www.slideshare.net/s1ck/distributed-graph-analytics-with-gradoop

GRADOOP @ Flink & Neo4j Meetup Berlin 03/2016 http://www.slideshare.net/s1ck/gradoop-scalable-graph-analytics-with-apache-flink-flink-neo4j-meetup-berlin

GRADOOP @ FlinkForward 2015 http://www.slideshare.net/FlinkForward/martin-junghans-gradoop-scalable-graph-analytics-with-apache-flink

Ausgewählte Artikel und Vorträge

www.gradoop.com