Temporal Graph Analytics with GRADOOP - Temporal Graph Analytics with GRADOOP Christopher Rost and...

download Temporal Graph Analytics with GRADOOP - Temporal Graph Analytics with GRADOOP Christopher Rost and Kevin

of 31

  • date post

    29-Sep-2020
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of Temporal Graph Analytics with GRADOOP - Temporal Graph Analytics with GRADOOP Christopher Rost and...

  • Temporal Graph Analytics with GRADOOP

    Christopher Rost and Kevin Gomez Leipzig University

  • 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

  • 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

    http://www.scads.de/

  • Motivation

  • “Graphs are everywhere”

  • “Graphs are everywhere”

  • “Graphs are everywhere”

    friendO f

    frien dOf

    friendOf

    friendOf friendOf

    friend Of

    friendOf frie

    nd Of

    friendOf

    friendOf

    friendOf

    friendOf

    friendOf

    Anna

    Bob

    Chris

    Sally

    Dutch

    Arthur

    Jack

    Sheldon Raj

    Mike

    James

    John

  • “Graphs are everywhere”

    friendO f

    frien dOf

    friendOf

    friendOf friendOf

    friend Of

    friendOf frie

    nd Of

    friendOf

    friendOf

    friendOf

    friendOf

    friendOf

    Anna

    Bob

    Chris

    Sally

    Dutch

    Arthur

    Jack

    Sheldon Raj

    Mike

    James

    John age:29 sex: f

    yob: 1991

  • “Graphs are everywhere”

    friendO f

    frien dOf

    friendOf

    friendOf friendOf

    friend Of

    friendOf frie

    nd Of

    friendOf

    friendOf

    friendOf

    friendOf

    friendOf

    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.“

  • Architecture

    HDFS / YARN

    Distributed Operator Implementation

    TPGMEPGM

    G raph A nalytical L anguage (GrALa) Java 8 45k LOC ALv 2.0

  • Graphs and collections of graphs

  • Operators Operators

    Unary Binary

    Lo gi

    ca l G

    ra ph

    G ra

    ph C

    ol le

    ct io

    n

    Algorithms

    Frequent Subgraph

  • Temporal extension

  • Temporal extension

  • Temporal extension

  • Temporal extension

  • Time dependent operators Operators

    Unary Binary

    Lo gi

    ca l G

    ra ph

    G ra

    ph C

    ol le

    ct io

    n

    Algorithms

    Frequent Subgraph

  • Time dependent operators Operators

    Unary Binary

    (T em

    p- )L

    og ic

    al G

    ra ph

    (T em

    p- )G

    ra ph

    C ol

    le ct

    io n

    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?

    Use case: spread of airborne pathogens

    Images by Vecteezy.com.

  • timet0 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

  • timet0 t1 t5 ... t10 t15 t20

    Breaking news:

    Employee of oncology infected by VirusX.

    Detected at t20.

  • timet0 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

  • timet0 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));

    TemporalGraph contacts = mySource.getTemporalGraph();

    contacts = contacts.snapshot( new FromTo(t15, t20));

  • timet0 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));

    TemporalGraph contacts = mySource.getTemporalGraph();

    contacts = contacts.snapshot( new FromTo(t15, t20));

  • timet0 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( (v v[‘srv’]),→ v[‘srv’]), [], (e e.getLabel()),→ v[‘srv’]), [new MaxDuration()]);

    TemporalGraph contacts = mySource.getTemporalGraph();

    contacts = contacts.snapshot( new FromTo(t15, t20));

    contacts = contacts.groupBy( (v v[‘srv’]),→ v[‘srv’]), [], (e e.getLabel()),→ v[‘srv’]), [new MaxDuration()]);

  • timet0 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( (v v[‘srv’]),→ v[‘srv’]), [], (e e.getLabel()),→ v[‘srv’]), [new MaxDuration()]);

    TemporalGraph contacts = mySource.getTemporalGraph();

    contacts = contacts.snapshot( new FromTo(t15, t20));

    contacts = contacts.groupBy( (v v[‘srv’]),→ v[‘srv’]), [], (e e.getLabel()),→ v[‘srv’]), [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

  • timet0 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( (v v[‘srv’]),→ v[‘srv’]), [], (e e.getLabel()),→ v[‘srv’]), [new MaxDuration()]);

    TemporalGraph contacts = mySource.getTemporalGraph();

    contacts = contacts.snapshot( new FromTo(t15, t20));

    contacts = contacts.groupBy( (v v[‘srv’]),→ v[‘srv’]), [], (e e.getLabel()),→ v[‘srv’]), [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

  • timet0 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( (v v[‘srv’]),→ v[‘srv’]), [], (e e.getLabel()),→ v[‘srv’]), [new MaxDuration()]);

    TemporalGraph contacts = mySource.getTemporalGraph();

    contacts = contacts.snapshot( new FromTo(t15, t20));

    contacts = contacts.groupBy( (v v[‘srv’]),→ v[‘srv’]), [], (e e.getLabel()),→ v[‘srv’]), [new MaxDuration()]);

  • 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 th