Loading content…
Loading…
Transcript

Huh?

(serializing graphs)

(graph-theoretic

data structures)

Speaking 'Graph'

Ways to Represent Graphs

Solving Problems

edge/incidence list

adjacency list

adjacency matrix

[(1, 2); (1, 3); (1, 4)]

[1]: 2, 3, 4

[2]: 1, 3

& Modeling things as Graphs

Different Kinds of Graphs

Graph Visualization

euler and the bridges

Google's PageRank

RDF / Triple Store

Labeled Property Graph

path-finding

fraud-detection

Examples

Variables

to consider when creating graph visualizations

  • clusters
  • centrality
  • degrees
  • edge weight

linguistics

maps and the 4-color thorem

Libraries

Layouts

Technical Interests

Non-Tech Interests

Me.

Graphs: Love, Theory, and Data

Stachu Korick

Slides at: https://stachu.net

TODO:

  • What's a graph?
  • Modeling with graphs
  • Graph Visualization
  • Graphs in .NET
  • Graph Databases
  • Graph Processing

Overview:

https://github.com/anvaka

/graph-drawing-libraries

chemistry

  • Math
  • Music
  • Rubik's Cubes
  • Sales/Marketing
  • Philosophy
  • F# & FP
  • Graphs
  • Event Sourcing
  • DDD
  • NN/ML/AI
  • AR/MR/XR

Stachu Korick

hello@stachu.net

site: https://stachu.net

twitter: @stachudotnet

github: @stachudotnet

museum guard problem

data-comprehension

Graphs

Graph Computation

OLAP/OLTP

Not Graphs

Online Analytics Processing

Online Transactional Processing

Options

Basic Stats

Algs.

Graph

Theory

Where to

go now?

Graph

Viz.

  • PageRank
  • Connected Components
  • Triangle Counting
  • Label Propogation
  • SVD++
  • Strongly Connected Components
  • Degree
  • Size
  • Distance and Paths
  • Density
  • Centrality
  • Communities & Clustering

Graph DBs

Graph Compute

hello@stachu.net

site: https://stachu.net

twitter: @stachudotnet

github: @stachudotnet

Graphs in .NET

Playing with Words

Querying neo4j in C#

Graph Databases

(demo)

Problems with 'Relational' Database Engines

Lists are graphs

Trees are graphs

Time is a graph

Your brain is graphs

1 - cognition of our domain model and its relationships

2 - performance, of needed traversals

3 - overhead, in representing the details of relationships

Options

Querying

RDF / Triplestore

Labeled Property Graph

Gremlin

Cypher

(demo cosmosdb)

(demo neo4j)

Kinds

of Graphs

undirected

directed

subgraphs

multigraph

Everything

is a Graph

Ok, but why?

How do we represent these?

Examples, please!

Speak my Language!

What about storage?

Where do Graph Databases Shine?

  • good for unpredictable topology
  • good for dynamic requirements
  • good for relationships have meaning
  • real-time recommendations

Charts

(Different kind of graph)