diving into dse graph

68
DIVING INTO DSE GRAPH WITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

Upload: dani-traphagen

Post on 16-Apr-2017

271 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

Page 2: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

Page 3: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

Page 4: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

Page 5: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

Page 6: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

Page 7: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

Page 8: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

eats

Page 9: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

eats

Page 10: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

scaredOfeats

Page 11: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

scaredOfeats

Page 12: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

scaredOf

scaredOf

eats

Page 13: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

scaredOf

scaredOf

eats

eats

Page 14: Diving into DSE Graph

DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-

scaredOf

scaredOf

eats

eats

Page 15: Diving into DSE Graph

OMG GRAPHS EXPRESS RELATIONSHIPS IN THE REAL WORLD, SO, LIKE, EVERYTHING IS A GRAPH PROBLEM!

Page 16: Diving into DSE Graph

OMG GRAPHS EXPRESS RELATIONSHIPS IN THE REAL WORLD, SO, LIKE, EVERYTHING IS A GRAPH PROBLEM!

Page 17: Diving into DSE Graph

NO.

Page 18: Diving into DSE Graph

THE WORLD IS NOT YOUR OYSTER

Page 19: Diving into DSE Graph

OK, SO WHEN SHOULD I USE IT?

Page 20: Diving into DSE Graph

OK, SO WHEN SHOULD I USE IT?

Page 21: Diving into DSE Graph

PROPERTY GRAPH

Page 22: Diving into DSE Graph

WHAT’S THAT, DANI, MY NEW FRIEND?

Page 23: Diving into DSE Graph

EXACTLY.

Page 24: Diving into DSE Graph

WAIT, WUT, LOL?

Page 25: Diving into DSE Graph

GRAPH TERMINOLOGY

Page 26: Diving into DSE Graph

PROPERTY GRAPHS

WHAT IS A PROPERTY GRAPH?

▸Directed, binary, attributed multi-graph

▸ Vertices

▸ Edges

▸ Properties

Page 27: Diving into DSE Graph

PROPERTY GRAPHS

VERTICES

▸ Always have unique ID & Label

▸ Can be attached to vertices and edges

▸ Have name, value & so much more

▸ Grossly Simplified Here

Page 28: Diving into DSE Graph

PROPERTY GRAPHS

VERTICES

▸ Always have unique ID & Label

▸ Can be attached to vertices and edges

▸ Have name, value & so much more

▸ Grossly Simplified Here

ME

Page 29: Diving into DSE Graph

PROPERTY GRAPHS

VERTICES

▸ Always have unique ID & Label

▸ Can be attached to vertices and edges

▸ Have name, value & so much more

▸ Grossly Simplified Here

YOUME

Page 30: Diving into DSE Graph

PROPERTY GRAPHS

EDGES

▸ Edges connect vertices with both directionality and label

▸ They connect EXACTLY 2 vertices and they always have direction…

▸ Unlike me in life…

▸ JK, I’m fine, really

HAHA, FRIENDSHIP!

IKR?

YOUME FRIENDS

Page 31: Diving into DSE Graph

PROPERTY GRAPHS

PROPERTIES

▸ Where the Property Graph gets its name

▸ K:V pairs

▸ Associated with any vertex (entity) or edge (relationship) in a property graph

YOUME

LOVES CATS

FRIENDS

Page 32: Diving into DSE Graph

PROPERTY GRAPHS

PROPERTIES

▸ Where the Property Graph gets its name

▸ K:V pairs

▸ Associated with any vertex (entity) or edge (relationship) in a property graph

YOUMEHATES CATS

LOVES CATS

FRIENDS

Page 33: Diving into DSE Graph

PROPERTY GRAPHS

MULTI-PROPERTIES

▸ More than 1 property

YOUME

LOVES CATS

HATES CATS

FRIENDS

Page 34: Diving into DSE Graph

PROPERTY GRAPHS

MULTI-PROPERTIES

▸ More than 1 property

YOUME

LOVES CATS

HATES CATS

LOVES BATMAN

FRIENDS

Page 35: Diving into DSE Graph

PROPERTY GRAPHS

MULTI-PROPERTIES

▸ More than 1 property

YOUME

LOVES CATS

HATES CATS

LOVES BATMAN LOVES BATMAN

FRIENDS

Page 36: Diving into DSE Graph

PROPERTY GRAPHS

META-PROPERTIES

▸ Properties about properties

YOUME

LOVES CATS

HATES CATS

LOVES BATMAN LOVES BATMAN

WATCHES BATMAN ON FRI

WATCHES BATMAN ON FRI

FRIENDS

Page 37: Diving into DSE Graph

PROPERTY GRAPHS

FINAL PROPERTY GRAPH

▸ We’ve built a nice story here

▸ But this is just a subgraph

▸ Our final property graph comprises everything

YOUME

LOVES CATS

HATES CATS

LOVES BATMAN LOVES BATMAN

WATCHES BATMAN ON FRI

WATCHES BATMAN ON FRI

FRIENDS

Page 38: Diving into DSE Graph

PROPERTY GRAPHS

FINAL PROPERTY GRAPH

▸ We’ve built a nice story here

▸ But this is just a subgraph

▸ Our final property graph comprises everything

YOUME

LOVES CATS

HATES CATS

LOVES BATMAN LOVES BATMAN

WATCHES BATMAN ON FRI

WATCHES BATMAN ON FRI

LOVES JOHNNY

DEPP

FRIENDS

Page 39: Diving into DSE Graph

PROPERTY GRAPHS

FINAL PROPERTY GRAPH

▸ We’ve built a nice story here

▸ But this is just a subgraph

▸ Our final property graph comprises everything

YOUME

LOVES CATS

HATES CATS

LOVES BATMAN LOVES BATMAN

WATCHES BATMAN ON FRI

WATCHES BATMAN ON FRI

HATES JOHNNY DEPP

LOVES JOHNNY

DEPP

FRIENDS

Page 40: Diving into DSE Graph

JUST SHOW ME SOMETHING REAL!

Page 41: Diving into DSE Graph

YOU GOT IT:

A REAL FINAL PROPERTY GRAPH

Page 42: Diving into DSE Graph

MOVIES, WE LOVE 'EM

Page 43: Diving into DSE Graph

THE GREMLIN GRAPH TRAVERSAL LANGUAGE

Page 44: Diving into DSE Graph

THE GREMLIN GRAPH TRAVERSAL LANGUAGE

WHAT’S THIS GREMLIN NOW?

▸ Gremlin is defined by Apache TinkerPop

▸ Expressive language to define traversals

▸ Yo, what good is a graph db if we can’t traverse it?

▸ Functional language with a fluent syntax

▸ Bindings in Groovy, Java8, Scala, Closure, and more

Page 45: Diving into DSE Graph

LINEAR MOTIF: TRAVERSAL IS A SEQUENCE OF STEPS

Page 46: Diving into DSE Graph

NESTED MOTIF: TRAVERSAL IS A TREE OF STEPS

Page 47: Diving into DSE Graph

TRAVERSAL INGREDIENTS

Page 48: Diving into DSE Graph

TRAVERSAL INGREDIENTS

Page 49: Diving into DSE Graph

TRAVERSAL INGREDIENTS

Page 50: Diving into DSE Graph

TRAVERSAL INGREDIENTS

Page 51: Diving into DSE Graph

BECOMING PROFICIENT IN GREMLIN

GRAPH TRAVERSAL STEP EVALUATION

▸ Lazy evaluation

▸ Everything is lazily evaluated

▸ All but barrier steps

▸ Barrier steps

▸ Collecting barrier steps: aggregate, barrier, order, sample

▸ Reducing barrier steps: count, fold, max, min, sum

▸ Supplying barrier step: cap

Page 52: Diving into DSE Graph

HOW DO I GET GREMLIN- DANGEROUS?

Page 53: Diving into DSE Graph

HOW DO I GET GREMLIN- DANGEROUS?LEARN TO TRAVERSE LIKE A BOSS

Page 54: Diving into DSE Graph

HOW DO I GET GREMLIN- DANGEROUS?LEARN TO TRAVERSE LIKE A BOSS

Page 55: Diving into DSE Graph

TYPES OF GRAPH TRAVERSALS

Page 56: Diving into DSE Graph

TRAVERSAL TYPES

SO MANY TRAVERSALS!

▸ Simple Traversal

▸ Branching Traversal

▸ Recursive Traversal

▸ Path Traversal

▸ Projecting Traversal

▸ Declarative Traversal

▸ Subgraph Traversal

▸ Statistical Traversal

▸ Ordering Traversal

▸ Mutating Traversal

▸ Domain Specific Traversal

Page 57: Diving into DSE Graph

TRAVERSAL TYPES

LET’S JUST TALK ABOUT 1 TYPE OF GRAPH TRAVERSAL*

▸Simple*WISH WE HAD TIME TO ADDRESS RECURSIVE & STATISTICAL TOO BUT THAT WON’T LIKELY HAPPEN, I HAVE DEMOS ON THEM, IF WE DO. WE JUST GOTTA PICK OUR POISONS WITH LIMITED TIME. :’(

Page 58: Diving into DSE Graph

SIMPLE TRAVERSALS

Page 59: Diving into DSE Graph

THE MOST BASIC GRAPH TRAVERSAL▸Moves traverser through

steps in sequential order

▸Contains no internal, nested traversals

Page 60: Diving into DSE Graph

PREREQUISITES: VERTEX STEPS & NAVIGATION

Page 61: Diving into DSE Graph

NAVIGATING FROM AN EDGE

Page 62: Diving into DSE Graph

SIMPLE TRAVERSAL WITH INFind Johnny Depp’s movies released in 2010 or later:

Page 63: Diving into DSE Graph

SIMPLE TRAVERSAL WITH IN AND OUT

Find directors of Johnny Depp’s movies released in 2010 or later:

Page 64: Diving into DSE Graph

SIMPLE TRAVERSAL WITH IN AND INE

Find user ratings for Johnny Depp’s movies released in 2010 or later:

Page 65: Diving into DSE Graph

PREDICATESRelating objects and values

Page 66: Diving into DSE Graph

SIMPLE TRAVERSAL WITH IN, INE, AND OUTVFind ages of users who left 7 or 8 star ratings for Johnny Depp’s movies released in 2010 or later

Page 67: Diving into DSE Graph

DEMO TIME

Page 68: Diving into DSE Graph

THANK YOU, BEAUTIFUL HUMANZ

@DTRAPEZOID