Temporal Graph Analytics with GRADOOP Christopher Rost and Kevin - - PowerPoint PPT Presentation

temporal graph analytics with gradoop
SMART_READER_LITE
LIVE PREVIEW

Temporal Graph Analytics with GRADOOP Christopher Rost and Kevin - - PowerPoint PPT Presentation

Temporal Graph Analytics with GRADOOP Christopher Rost and Kevin Gomez Leipzig University About the speakers and the team Kevin, Christopher, Prof. Dr. Erhard Rahm, PhD Student PhD Student Database Chair Timo, Lucas, M.Sc. Student


slide-1
SLIDE 1

Temporal Graph Analytics with GRADOOP

Christopher Rost and Kevin Gomez Leipzig University

slide-2
SLIDE 2

About the speakers and the team

Kevin, PhD Student Christopher, PhD Student

  • Prof. Dr. Erhard Rahm,

Database Chair Timo, M.Sc. Student Lucas, B.Sc. Student

slide-3
SLIDE 3

We’re hiring!

CENTER FOR SCALABLE DATA ANALYTICS AND ARTIFICIAL INTELLIGENCE

  • Visit us at www.scads.de
  • Open positions and projects (Developer and PhD Students)
  • Various topics:
  • Machine Learning (Graph-ML, Privacy)
  • Image Recognition
  • Blockchain (Distributed-Ledger)
  • Graph Analytics
slide-4
SLIDE 4

Motivation

slide-5
SLIDE 5

“Graphs are everywhere”

slide-6
SLIDE 6

“Graphs are everywhere”

slide-7
SLIDE 7

“Graphs are everywhere”

friendOf f r i e n d O f f r i e n d O f friendOf friendOf friendOf friendOf friendOf friendOf friendOf friendOf friendOf f r i e n d O f Anna Bob Chris Sally Dutch Arthur Jack Sheldon Raj Mike James John

slide-8
SLIDE 8

“Graphs are everywhere”

friendOf f r i e n d O f f r i e n d O f friendOf friendOf friendOf friendOf friendOf friendOf friendOf friendOf friendOf f r i e n d O f Anna Bob Chris Sally Dutch Arthur Jack Sheldon Raj Mike James John age:29 sex: f yob: 1991

slide-9
SLIDE 9

“Graphs are everywhere”

friendOf f r i e n d O f f r i e n d O f friendOf friendOf friendOf friendOf friendOf friendOf friendOf friendOf friendOf f r i e n d O f Anna Bob Chris Sally Dutch Arthur Jack Sheldon Raj Mike James John age:29 sex: f yob: 1991 since: 5Y

slide-10
SLIDE 10

“A open-source framework and research platform for efficient, distributed and domain independent management and analytics of heterogeneous and temporal graph data.“

slide-11
SLIDE 11

Architecture

HDFS / YARN

Distributed Operator Implementation TPGM EPGM G raph A nalytical L anguage (GrALa)

Java 8 45k LOC ALv 2.0

slide-12
SLIDE 12

Graphs and collections of graphs

slide-13
SLIDE 13

Operators

Operators Unary Binary Logical Graph Graph Collection Algorithms Frequent Subgraph

slide-14
SLIDE 14

Temporal extension

slide-15
SLIDE 15

Temporal extension

slide-16
SLIDE 16

Temporal extension

slide-17
SLIDE 17

Temporal extension

slide-18
SLIDE 18

Time dependent operators

Operators Unary Binary Logical Graph Graph Collection Algorithms Frequent Subgraph

slide-19
SLIDE 19

Time dependent operators

Operators Unary Binary (Temp-)Logical Graph (Temp-)Graph Collection Algorithms Frequent Subgraph

slide-20
SLIDE 20

Virus X Symptoms: 3rd eye growing Transmission: if contact > 5 min Incubation period: 5 time units Surgery Accident Cardiology Oncology Contact tracking Sensors capturing who is close to whom at what time. {empID1, empID2, t_from, t_to}

In case of an infection, which hospital services are at risk of contracting the virus X?

Use case: spread of airborne pathogens

Images by Vecteezy.com.

slide-21
SLIDE 21

time t0 t1 t5 ... t10 t15 t20 TemporalGraph contacts = mySource.getTemporalGraph(); TemporalGraph contacts = mySource.getTemporalGraph();

slide-22
SLIDE 22

time Employee [-,-) id: 32432 srv: Oncology Employee [-,-) id: 99934 srv: Oncology contact [ t2 ,t6 ) t0 t1 t5 ... t10 t15 t20

slide-23
SLIDE 23

time t0 t1 t5 ... t10 t15 t20 Breaking news: Employee of oncology infected by VirusX. Detected at t20.

slide-24
SLIDE 24

time t0 t1 t5 ... t10 t15 t20 Breaking news: Employee of oncology infected by VirusX. Detected at t20. Virus X Symptoms: 3rd eye growing Transmission: if contact > 5 min Incubation period: 5 time units

slide-25
SLIDE 25

time t0 t1 t5 ... t10 t15 t20 Virus X Symptoms: 3rd eye growing Transmission: if contact > 5 min Incubation period: 5 time units TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot snapshot( new FromTo(t15, t20)); TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot snapshot( new FromTo(t15, t20));

slide-26
SLIDE 26

time t0 t1 t5 ... t10 t15 t20 Virus X Symptoms: 3rd eye growing Transmission: if contact > 5 min Incubation period: 5 time units TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot snapshot( new FromTo(t15, t20)); TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot snapshot( new FromTo(t15, t20));

slide-27
SLIDE 27

time t0 t1 t5 ... t10 t15 t20 Virus X Symptoms: 3rd eye growing Transmission: if contact > 5 min Incubation period: 5 time units TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),

  • [],

(e e.getLabel()),

  • [new MaxDuration()]);

TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),

  • [],

(e e.getLabel()),

  • [new MaxDuration()]);
slide-28
SLIDE 28

time t0 t1 t5 ... t10 t15 t20 Virus X Symptoms: 3rd eye growing Transmission: if contact > 5 min Incubation period: 5 time units TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),

  • [],

(e e.getLabel()),

  • [new MaxDuration()]);

TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),

  • [],

(e e.getLabel()),

  • [new MaxDuration()]);

contact maxDur: 40 min contact maxDur: 122 min contact maxDur: 124 min contact maxDur: 146 min contact maxDur: 2 min contact maxDur: 9 min

slide-29
SLIDE 29

time t0 t1 t5 ... t10 t15 t20 Virus X Symptoms: 3rd eye growing Transmission: if contact > 5 min Incubation period: 5 time units TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),

  • [],

(e e.getLabel()),

  • [new MaxDuration()]);

TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),

  • [],

(e e.getLabel()),

  • [new MaxDuration()]);

contact maxDur: 40 min contact maxDur: 122 min contact maxDur: 124 min contact maxDur: 146 min contact maxDur: 2 min contact maxDur: 9 min

slide-30
SLIDE 30

time t0 t1 t5 ... t10 t15 t20

contact maxDur: 40 min contact maxDur: 122 min contact maxDur: 124 min contact maxDur: 146 min contact maxDur: 2 min contact maxDur: 9 min

Breaking news: Employees of oncology and surgery quarantined because of VirusX. TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),

  • [],

(e e.getLabel()),

  • [new MaxDuration()]);

TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),

  • [],

(e e.getLabel()),

  • [new MaxDuration()]);
slide-31
SLIDE 31

Conclusion

  • Distributed graph analysis system
  • Temporal property graph model

– Bitemporal support – Logical graphs and graph collections – Composing operators and algorithms

  • Declarative workflow creation
  • Visit Gradoop: http://gradoop.com
  • Read our Wiki: https://github.com/dbs-leipzig/gradoop/wiki
  • Start: https://github.com/dbs-leipzig/gradoop/wiki/Getting-started
  • Try the examples: https://github.com/dbs-leipzig/gradoop/wiki/Examples