Temporal Graph Analytics with GRADOOP
Christopher Rost and Kevin Gomez Leipzig University
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
Christopher Rost and Kevin Gomez Leipzig University
Kevin, PhD Student Christopher, PhD Student
Database Chair Timo, M.Sc. Student Lucas, B.Sc. Student
CENTER FOR SCALABLE DATA ANALYTICS AND ARTIFICIAL INTELLIGENCE
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
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
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
“A open-source framework and research platform for efficient, distributed and domain independent management and analytics of heterogeneous and temporal graph data.“
HDFS / YARN
Distributed Operator Implementation TPGM EPGM G raph A nalytical L anguage (GrALa)
Java 8 45k LOC ALv 2.0
Operators Unary Binary Logical Graph Graph Collection Algorithms Frequent Subgraph
Operators Unary Binary Logical Graph Graph Collection Algorithms Frequent Subgraph
Operators Unary Binary (Temp-)Logical Graph (Temp-)Graph Collection Algorithms Frequent Subgraph
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?
Images by Vecteezy.com.
time t0 t1 t5 ... t10 t15 t20 TemporalGraph contacts = mySource.getTemporalGraph(); TemporalGraph contacts = mySource.getTemporalGraph();
time Employee [-,-) id: 32432 srv: Oncology Employee [-,-) id: 99934 srv: Oncology contact [ t2 ,t6 ) t0 t1 t5 ... t10 t15 t20
time t0 t1 t5 ... t10 t15 t20 Breaking news: Employee of oncology infected by VirusX. Detected at t20.
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
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));
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));
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()),
TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),
(e e.getLabel()),
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()),
TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),
(e e.getLabel()),
contact maxDur: 40 min contact maxDur: 122 min contact maxDur: 124 min contact maxDur: 146 min contact maxDur: 2 min contact maxDur: 9 min
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()),
TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),
(e e.getLabel()),
contact maxDur: 40 min contact maxDur: 122 min contact maxDur: 124 min contact maxDur: 146 min contact maxDur: 2 min contact maxDur: 9 min
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()),
TemporalGraph contacts = mySource.getTemporalGraph(); contacts = contacts.snapshot( new FromTo(t15, t20)); contacts = contacts.groupBy groupBy( (v v[‘srv’]),
(e e.getLabel()),
– Bitemporal support – Logical graphs and graph collections – Composing operators and algorithms