Neo4j Graph Data Science Library An Overview Max Kieling What is - - PowerPoint PPT Presentation

neo4j graph data science library
SMART_READER_LITE
LIVE PREVIEW

Neo4j Graph Data Science Library An Overview Max Kieling What is - - PowerPoint PPT Presentation

Neo4j Graph Data Science Library An Overview Max Kieling What is the Graph Data Science Library? - Open Source Neo4j Add-On for graph analytics - Provides a set of high performance graph algorithms - Community Detection / Clustering (e.g.


slide-1
SLIDE 1

Neo4j Graph Data Science Library

An Overview

Max Kießling

slide-2
SLIDE 2
  • Open Source Neo4j Add-On for graph analytics
  • Provides a set of high performance graph algorithms
  • Community Detection / Clustering (e.g. Label

Propagation)

  • Similarity Calculation (e.g. NodeSimilarity)
  • Centrality Algorithms (e.g. PageRank)
  • PathFinding (e.g. Dijkstra)
  • Link Prediction (e.g. Adamic Adar)
  • and more
  • APIs for implementing custom algorithms (e.g. Pregel)

2

What is the Graph Data Science Library?

slide-3
SLIDE 3

3

Neo4j GDS - Timeline

Development started as Neo4j Contrib - Graph Algorithms

  • rganized by Neo4j Labs,

developed by AVGL Q1 2017 Q1 2019 Neo4j Product Engineering takes over the project Productization of the library Open Source Preview Release Q1 2020 Q2 2020 Neo4j Graph Data Science Library Release 1.0

slide-4
SLIDE 4

Local Patterns to Global Computation

4

Query (e.g. Cypher/SQL)

Real-time, local decisioning and pattern matching

Graph Algorithms Libraries

Global analysis and iterations You know what you’re looking for and making a decision You’re learning the overall structure of a network, updating data, and predicting

Local Patterns Global Computation

slide-5
SLIDE 5

Workflow

5

RAM RAM Load graph projection into main memory Run algorithm via Cypher procedure Consume result

slide-6
SLIDE 6
  • Parallel Breadth First Search
  • Parallel Depth First Search
  • Shortest Path
  • Minimum Spanning Tree
  • A* Shortest Path
  • Yen’s K Shortest Path
  • K-Spanning Tree (MST)
  • Random Walk

Pathfinding & Search

  • PageRank
  • Personalized PageRank
  • Degree Centrality
  • Closeness Centrality
  • Betweenness Centrality
  • ArticleRank
  • Eigenvector Centrality

Centrality / Importance

  • Label Propagation
  • Louvain
  • Weakly Connected Components
  • Triangle Count
  • Clustering Coefficients
  • Strongly Connected Components
  • Balanced Triad (identification)

Community Detection

  • Node Similarity
  • Euclidean Distance
  • Cosine Similarity
  • Overlap Similarity
  • Pearson Similarity

Similarity Link Prediction

  • Adamic Adar
  • Common Neighbors
  • Preferential Attachment
  • Resource Allocations
  • Same Community
  • Total Neighbors

6

Available Algorithms

slide-7
SLIDE 7

Demo Time!

7

slide-8
SLIDE 8

GDS - Algo Syntax

8 CALL gds.<algo-name>.<mode>( graphName: STRING, configuration: MAP ) Available Modes:

  • write: writes results to the Neo4j database and

returns a summary of the results.

  • stats: runs the algorithm and only reports

statistics.

  • stream: streams results back to the user.

CALL gds.wcc.write( "got-interactions", { writeProperty: "component", consecutiveIds: true } ) YIELDS writeMillis, componentCount CALL gds.wcc.stream( "got-interactions", {} ) YIELDS nodeId, componentId

slide-9
SLIDE 9

Take a look!

9

The Neo4j Graph Data Science Library is Open Source

https://github.com/neo4j/graph-data-science

slide-10
SLIDE 10

Section Slide

10

slide-11
SLIDE 11

Section Slide

11

slide-12
SLIDE 12

Section Slide

12