Slide 1

Slide 1 text

GRAPH DATABASES WILL CHANGE YOUR FREAKIN’ LIFE ED FINKLER LEAD DEVELOPER & HEAD OF DEVELOPER CULTURE

Slide 2

Slide 2 text

WHAT IS?

Slide 3

Slide 3 text

I’VE GOT A DOPE VISUALIZATION FOR YOU DOGG This Effin Guy HEY I JUST DOWNLOADED D3.JS

Slide 4

Slide 4 text

NO. INCORRECT.

Slide 5

Slide 5 text

GRAPH THEORY AND MATH AND STUFF

Slide 6

Slide 6 text

I WAS TOLD THERE WOULD BE NO MATH

Slide 7

Slide 7 text

IT’S ABOUT DATA

Slide 8

Slide 8 text

MANY DATA Visualiza!on by Kim Albrecht
 h"p:/ /www.kimalbrecht.com/project/cosmic-web/

Slide 9

Slide 9 text

BUT IGNORE THAT

Slide 10

Slide 10 text

ZOOOOOO000M IN

Slide 11

Slide 11 text

HOW DO WE REPRESENT A THING OR AN ENTITY OR WHATEVER YOU WANT TO CALL IT

Slide 12

Slide 12 text

RELATIONAL DATABASES USE A LEDGER-STYLE STRUCTURE

Slide 13

Slide 13 text

USUALLY A THING IS ONE ROW IN A TABLE

Slide 14

Slide 14 text

YOU USE CONSTRAINTS TO REPRESENT RELATIONSHIPS BETWEEN THINGS

Slide 15

Slide 15 text

THE TABLE STRUCTURE IS GREAT FOR CONSTRAINING INPUT AND LOCKING THINGS DOWN

Slide 16

Slide 16 text

CAN GET COMPLEX AND RIGID WHEN REPRESENTING RELATIONSHIPS

Slide 17

Slide 17 text

LET’S TALK ABOUT [NEO4J] GRAPHS

Slide 18

Slide 18 text

GRAPHS ARE MUCH SIMPLER

Slide 19

Slide 19 text

THINGS ARE NODES OR VERTICES

Slide 20

Slide 20 text

NODES HAVE PROPERTIES { KEYS: “VALUES” }

Slide 21

Slide 21 text

NODES HAVE LABELS TO TELL YOU WHAT TYPE OF THING IT IS

Slide 22

Slide 22 text

n:Person id: 1234 first_name: “Ed” last_name: “Finkler”

Slide 23

Slide 23 text

NODES ARE CONNECTED BY RELATIONSHIPS OR EDGES

Slide 24

Slide 24 text

RELATIONSHIPS HAVE A TYPE AND A DIRECTION AND CAN HAVE PROPERTIES

Slide 25

Slide 25 text

n:Person id: 4321 first_name: “Griffin” last_name: “Finkler” n:Person id: 1234 first_name: “Ed” last_name: “Finkler” r:CHILD_OF created: 2002

Slide 26

Slide 26 text

DOTS AND LINES ALL THE WAY DOWN

Slide 27

Slide 27 text

IT’S SIMPLER

Slide 28

Slide 28 text

IT’S MORE POWERFUL

Slide 29

Slide 29 text

WHEN THE MEANING IS IN THE RELATIONSHIPS

Slide 30

Slide 30 text

SOMETIMES DIRECT RELATIONSHIPS BUT THAT’S NOT HARD TO DO WITH RELATIONAL DBS PERSON A PERSON B

Slide 31

Slide 31 text

SOMETIMES INDIRECT RELATIONSHIPS THIS IS HARDER TO DO TRAVERSE WITH RELATIONAL DATABASES ACTOR A ACTOR B MOVIE A DIRECTOR A MOVIE B ACTOR C

Slide 32

Slide 32 text

SCALING UP INDIRECT RELATIONSHIPS

Slide 33

Slide 33 text

ANSWERING QUESTIONS YOU DIDN’T EXPECT

Slide 34

Slide 34 text

YOU WANT TO KNOW HOW MANY PEOPLE WHO BOUGHT A TOASTER IN KANSAS AND HAVE A CRIMINAL RECORD USED YESTERDAY’S COUPON? NO. GET THE HELL OUT. This Effin Guy ASKING YOUR BACKEND DEV IF YOU CAN GET SOME NEW DATA OUT OF THE DB

Slide 35

Slide 35 text

WITH A GRAPH, YOU COULD ANSWER THAT QUESTION. IF YOU HAVE ALL THAT DATA IN THERE, AND THERE ARE PATHS BETWEEN THEM.

Slide 36

Slide 36 text

YOU CAN ADD MORE RELATIONSHIPS AS NEEDED AND STILL BE PERFORMANT

Slide 37

Slide 37 text

EGOTISTICAL LIVE CODING TIME

Slide 38

Slide 38 text

I’M PROBABLY GONNA FUNK THIS UP

Slide 39

Slide 39 text

CMD+TAB, SON

Slide 40

Slide 40 text

THANK GOD THAT’S OVER

Slide 41

Slide 41 text

GRAPHS AREN’T MAGIC

Slide 42

Slide 42 text

GRAPHS DON’T SOLVE ALL YOUR PROBLEMS

Slide 43

Slide 43 text

IF YOU’RE ASKING QUESTIONS ABOUT THE RELATIONSHIPS, THEY ARE REALLY NICE AND REALLY POWERFUL AND SOMETIMES SEEM LIKE WITCHCRAFT

Slide 44

Slide 44 text

ESPECIALLY IF YOU HAVE MANY DATAS

Slide 45

Slide 45 text

WHAT GREAT DELIGHTS AWAIT YOU DATAS FOR FUN AND EXPLORATION ▸ graphstory.com -> Free Trial (no CC!) -> Sample Data ▸ h!p:/ /neo4j.com/developer/example-data/ ▸ h!ps:/ /github.com/OSMIHelp/osmi-survey-graph

Slide 46

Slide 46 text

@GRAPHSTORYCO • GRAPHSTORY.COM @FUNKATRON QUESTION TIME IS NOW. BE NICE.