Upload
dani-traphagen
View
272
Download
0
Embed Size (px)
Citation preview
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
eats
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
eats
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
scaredOfeats
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
scaredOfeats
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
scaredOf
scaredOf
eats
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
scaredOf
scaredOf
eats
eats
DIVING INTO DSE GRAPHWITH DANI TRAPHAGEN, DATASTAX @DTRAPEZOID -FOR ?S-
scaredOf
scaredOf
eats
eats
OMG GRAPHS EXPRESS RELATIONSHIPS IN THE REAL WORLD, SO, LIKE, EVERYTHING IS A GRAPH PROBLEM!
OMG GRAPHS EXPRESS RELATIONSHIPS IN THE REAL WORLD, SO, LIKE, EVERYTHING IS A GRAPH PROBLEM!
NO.
THE WORLD IS NOT YOUR OYSTER
OK, SO WHEN SHOULD I USE IT?
OK, SO WHEN SHOULD I USE IT?
PROPERTY GRAPH
WHAT’S THAT, DANI, MY NEW FRIEND?
EXACTLY.
WAIT, WUT, LOL?
GRAPH TERMINOLOGY
PROPERTY GRAPHS
WHAT IS A PROPERTY GRAPH?
▸Directed, binary, attributed multi-graph
▸ Vertices
▸ Edges
▸ Properties
PROPERTY GRAPHS
VERTICES
▸ Always have unique ID & Label
▸ Can be attached to vertices and edges
▸ Have name, value & so much more
▸ Grossly Simplified Here
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
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
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
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
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
PROPERTY GRAPHS
MULTI-PROPERTIES
▸ More than 1 property
YOUME
LOVES CATS
HATES CATS
FRIENDS
PROPERTY GRAPHS
MULTI-PROPERTIES
▸ More than 1 property
YOUME
LOVES CATS
HATES CATS
LOVES BATMAN
FRIENDS
PROPERTY GRAPHS
MULTI-PROPERTIES
▸ More than 1 property
YOUME
LOVES CATS
HATES CATS
LOVES BATMAN LOVES BATMAN
FRIENDS
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
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
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
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
JUST SHOW ME SOMETHING REAL!
YOU GOT IT:
A REAL FINAL PROPERTY GRAPH
MOVIES, WE LOVE 'EM
THE GREMLIN GRAPH TRAVERSAL LANGUAGE
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
LINEAR MOTIF: TRAVERSAL IS A SEQUENCE OF STEPS
NESTED MOTIF: TRAVERSAL IS A TREE OF STEPS
TRAVERSAL INGREDIENTS
TRAVERSAL INGREDIENTS
TRAVERSAL INGREDIENTS
TRAVERSAL INGREDIENTS
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
HOW DO I GET GREMLIN- DANGEROUS?
HOW DO I GET GREMLIN- DANGEROUS?LEARN TO TRAVERSE LIKE A BOSS
HOW DO I GET GREMLIN- DANGEROUS?LEARN TO TRAVERSE LIKE A BOSS
TYPES OF GRAPH TRAVERSALS
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
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. :’(
SIMPLE TRAVERSALS
THE MOST BASIC GRAPH TRAVERSAL▸Moves traverser through
steps in sequential order
▸Contains no internal, nested traversals
PREREQUISITES: VERTEX STEPS & NAVIGATION
NAVIGATING FROM AN EDGE
SIMPLE TRAVERSAL WITH INFind Johnny Depp’s movies released in 2010 or later:
SIMPLE TRAVERSAL WITH IN AND OUT
Find directors of Johnny Depp’s movies released in 2010 or later:
SIMPLE TRAVERSAL WITH IN AND INE
Find user ratings for Johnny Depp’s movies released in 2010 or later:
PREDICATESRelating objects and values
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
DEMO TIME
THANK YOU, BEAUTIFUL HUMANZ
@DTRAPEZOID