Post on 01-Mar-2018
7/25/2019 Neo4j in Depth by Max De Marzi
1/88
!"#$% '( )"*+,
-./ )" -.01'
7/25/2019 Neo4j in Depth by Max De Marzi
2/88
23#4+ -"
-./ )" -.01'" #$%&' ()$*+ ,-.)-$$/
01 2*%.3 455637789:+$89/;)?)55$/3 @89:+$89/;)
,89)* 8$3 89:+$89/;)@.89)*
7/25/2019 Neo4j in Depth by Max De Marzi
3/88
56)78
7/25/2019 Neo4j in Depth by Max De Marzi
4/88
90#*"0+: ;0.*, ).+. -#
7/25/2019 Neo4j in Depth by Max De Marzi
5/88
>,.+ :#4 .=0".
7/25/2019 Neo4j in Depth by Max De Marzi
6/88
7/25/2019 Neo4j in Depth by Max De Marzi
7/88
5," 90#3="A
all JOINs are executed everytimeyou query
(traverse) the relationship
executing a JOIN means to searchfor a key ianother table
with Indices executing a JOIN means to look B-Tree Index: O(log(n))
more entries => more lookups => slower JO
7/25/2019 Neo4j in Depth by Max De Marzi
8/88
People ConferencesAttend
143 Max
326Big
DataT
echCo
n
725NoS
QLNow
981 ChariotDat
aIO143 9
81
143 725
143 326
7/25/2019 Neo4j in Depth by Max De Marzi
9/88
Max
BigDa
taTech
Con
NoSQL
Now
ChariotData
IO
143
326
725
981
143 9
81
143 725
143 326
7/25/2019 Neo4j in Depth by Max De Marzi
10/88
uid:MDM
name:Max
uid:BDTCwhere:Burlinggame
uid: NSN
where:San Francis
uid: CDIOwhere: Philadelphia
Nodes
Relationships
member
member
member
A Property Graph
7/25/2019 Neo4j in Depth by Max De Marzi
11/88
!"#$% B"C0"+ B.4C"
Pointers instead of lo Fixed sized records f
Do all your Joining
Spin spin spin througstructure
7/25/2019 Neo4j in Depth by Max De Marzi
12/88
7/25/2019 Neo4j in Depth by Max De Marzi
13/88
!#BI6 ).+.3.D"D :$#;%G.(
7/25/2019 Neo4j in Depth by Max De Marzi
14/88
7".=H5'A" I4"0: 9"0J#0A.(C"!"#$%#&'()" &+,- .%/0 ,-"'01 23-. ,)'/"
T%--$=5$+-$GG 9-+ P);$ %H U959 P$5
V$G6%-G$>)8$
W 5% X 4%6GW 5% Y +$./$$G>4%CG9-+G %H =%--$=5)%-G
>$-G 5% 4C-+/$+G %H 4%6G>4%CG9-+G %H +$./$$G2)**)%-G %H =%--$=5)%-G
V$*95)%-9* 9-+K54$/ #%PSRU959D9G$G
#$%&'
!"#$% 'DKLLL/ J.D+"4"0+)", &-% &3//3,")%
7/25/2019 Neo4j in Depth by Max De Marzi
15/88
7"HMA.N'(" O#40 ).+. .D . ;0.*,
#$%&' )G 9- )#%)+/+-,)D3+"() 3+"/.("%"E",) 5495 $-9D*$G 1%C 5%3
-#
7/25/2019 Neo4j in Depth by Max De Marzi
16/88
!"#$% QP"0P'"@
90#
7/25/2019 Neo4j in Depth by Max De Marzi
17/88
XWWW XWWY XWWe XWWf XW__ XW_Y XW_&
!"#$%8 5," ;0.*, ).+.3.D" 6".
7/25/2019 Neo4j in Depth by Max De Marzi
18/88
h(%//$G5$/ $G5)895$G 5495 $F)+ GHI $1 )#%)+/+-,), ?
./964 +959D9G$G D1 XW_ei
!"#$% 6"."- ?/%)> $%# 7'-'8'," ='('@"&"(- A1,-"&,B CD9E
C:
7/25/2019 Neo4j in Depth by Max De Marzi
19/88
R4'=
7/25/2019 Neo4j in Depth by Max De Marzi
20/88
!"#$% [ \": 90#
7/25/2019 Neo4j in Depth by Max De Marzi
21/88
TZV
UVL[,P
-98$3 hU9-iD%/-3 091 XfI _feW
5?)55$/3 h@+9-i
G)-=$3J9- _WI XW__
D8
90#*"0+: ;0.*, -#
7/25/2019 Neo4j in Depth by Max De Marzi
22/88
50'*=" B+#0"a7)S -#
7/25/2019 Neo4j in Depth by Max De Marzi
23/88
90#*"0+: ;0.*, ).+. -#
7/25/2019 Neo4j in Depth by Max De Marzi
24/88
7)S ).+. -#
7/25/2019 Neo4j in Depth by Max De Marzi
25/88
90#*"0+: ;0.*, ZD 50'*=" B+#0"
Q/%6$/51 A/964 )G 9 8%/$ .$-$/)= =9G$ %H 54$ >/)6*$ P5%/$
R9=N %H 6/%6$/5)$G %- /$*95)%-G4)6G H%/ >/)6*$ P5%/$G /$+C=$ p=%86*)=95$r 54$)/ $:6/$GG)F$ 6%?$/
7/25/2019 Neo4j in Depth by Max De Marzi
26/88
I4"0: 6.(N4.N"D
A/964 U959D9G$G3
T164$/ " +$=*9/95)F$I 6955$/-895=4)-.I $9G1 5% C-+$/G59-+
A/$8*)- " )86$/95)F$I G5$6+/)F$-I 8954 )-G6)/$+
#95)F$ ZQLG pJ9F9I V,P>r
>/)6*$ P5%/$G3
PQZVSR pG59-+9/+r QVKRKA p%/ 6/%*%.
*9-.C9.$Gr
7/25/2019 Neo4j in Depth by Max De Marzi
27/88
;"("0.= bD" E.D"D
A/964 U959D9G$G3
R%=9* SC$/)$G p9-=4%/ %- 9-%+$ %/ G$5 %H -%+$G 54$-5/9F$/G$r
V$9*5)8$ psXW8Gr /$MC)/$8$-5G
T%86*$:I +$$6 5/9F$/G9*G
(*$:)D*$ ./964 8%+$*G
>/)6*$ P5%/$G3
A*%D9* SC$/)$G pH)-*9/.$ F%*C8$ %H )-H
2/%?G)-. T%-5$-5
L-H$/$-=$ U)G=%F$/
7/25/2019 Neo4j in Depth by Max De Marzi
28/88
G#@
7/25/2019 Neo4j in Depth by Max De Marzi
29/88
G#@
7/25/2019 Neo4j in Depth by Max De Marzi
30/88
G#@
7/25/2019 Neo4j in Depth by Max De Marzi
31/88
G#@
7/25/2019 Neo4j in Depth by Max De Marzi
32/88
G#@
7/25/2019 Neo4j in Depth by Max De Marzi
33/88
G#@
7/25/2019 Neo4j in Depth by Max De Marzi
34/88
G#@
7/25/2019 Neo4j in Depth by Max De Marzi
35/88
G#@
7/25/2019 Neo4j in Depth by Max De Marzi
36/88
;0.*, ).+.3.D"D .==#@ -#
7/25/2019 Neo4j in Depth by Max De Marzi
37/88
d.P. EQ7Y 29M
)'0"C+ .CC"DD +# !#
7/25/2019 Neo4j in Depth by Max De Marzi
38/88
d.P. E#0" 29M
P5$6 D1 P5$6 H/%8 ;0.*,).+.3.D"B"0P'C"
P59/5 9 +0.(D.C+'#( p/$9+G 9-+ ?/)5$Gr H)-+#%+$pR9D$*I Q/%6$/51I [9*C$r
H)-+#%+$GpR9D$*I Q/%6$/51I [9*C$r
H)-+#%+$GpR9D$*r
.$5#%+$21L+pR%-.r
.$5V$*95)%-G4)6GpU)/$=5)%-I >16$r
.$5Q/%6$/51pQ/%6$/51I p%65)%-9*r U$H9C*5 [9*C$r
Y = _ + +, J ' < J `
7/25/2019 Neo4j in Depth by Max De Marzi
39/88
Y/.A*=" _N"+ +," J0'"(
7/25/2019 Neo4j in Depth by Max De Marzi
40/88
50.P"0D.= 29M
)"DC0'3" 50.P"0D.=D
50.P"0D.= 29M
7/25/2019 Neo4j in Depth by Max De Marzi
41/88
50.P"0D.= 29M
P59/5 ?)54 54$ P)86*$ U$H9C*5G p%/+$/I /$*95)%-G4
+$654I C-)MC$-$GGI $5=rTCG5%8 ,:69-+$/G
]4$/$ G4%C*+ L .% -$:5
TCG5%8 ,F9*C95%/G
L^F$ .%-$ 54$/$O G4%C*+ L 9==$65 54)G 6954j
50.P"0D.= 29M Y/.A*="
7/25/2019 Neo4j in Depth by Max De Marzi
42/88
50.P"0D.= 29M Y/.A*="
7/25/2019 Neo4j in Depth by Max De Marzi
43/88
E:*,"0 I4"0: 6.(N4.N"
2BEMM 20+ 9.++"0( -.+C,'(N
E:*,"08 9#@"0J4= .(< Y/*0"DD'P" I4"0: 6.(N4.N"
7/25/2019 Neo4j in Depth by Max De Marzi
44/88
E:*,"08 9#@"0J4= .(< Y/*0"DD'P" I4"0: 6.(N4.N"
0Z>TBp3Q$/G%- t -98$3hU9-iu r "v3RK[,Pw"x p3Q$/G%- t -9
RK[,P
).( 2((
R9D$* Q/%6$/51 R9D$* Q
#%+$ #%
Y/*0"DD E#A*="/ I4"0'"D Y.D'=: @'+, E:*,"0
7/25/2019 Neo4j in Depth by Max De Marzi
45/88
!"#$% '!"##$%&'()*)+,-./0012
4#5!$%&'()*)+,-.80012%(%)*) !"##0=>?: @ AB"C= D":E*)#+*,#5!0=>?:"--5!"9FG=>!"#$%49:;"9 =< 7 < +'
http://m.name/7/25/2019 Neo4j in Depth by Max De Marzi
46/88
G"==# >#0=< 7"C#AA"(
7/25/2019 Neo4j in Depth by Max De Marzi
47/88
G"==# >#0=< 7"C#AA"(
7/25/2019 Neo4j in Depth by Max De Marzi
48/88
E:*,"0 I4"0:8 -#P'" 7"C#AA"(
7/25/2019 Neo4j in Depth by Max De Marzi
49/88
E:*,"0 I4"0:8 -#P'" 7"C#AA"(,Uw" pr "v/X3VZ>,Uw"x
]B,V, /_%1 P5%/1 .)F$- 4).4 /95)-.G
D1 6$%6*$ ?4% *)N$+ >%1 P5%/1
-#P'" ).+. -#
7/25/2019 Neo4j in Depth by Max De Marzi
50/88
E:*,"0 I4"0:8 ?H!! 7"C#AA"(
7/25/2019 Neo4j in Depth by Max De Marzi
51/88
E:*,"0 I4"0:8 ? !! 7"C#AA"(
7/25/2019 Neo4j in Depth by Max De Marzi
52/88
!"#$% M(+"0J.C"
B"0P"0e B"0P'C"e 6'30.0:
G'N, B*""< S0.4< H KLLL 7aB
7/25/2019 Neo4j in Depth by Max De Marzi
53/88
N * a
455637789:+$89/;) =%87XW_&7WX7_X7%-*)-$"6918$-5"/)GN"89-9.$8$-5
G'N, B*""< S0.4< H fLLL 7aB
http://maxdemarzi.com/2014/02/12/online-payment-risk-management-with-neo4j/7/25/2019 Neo4j in Depth by Max De Marzi
54/88
N * a
455637789:+$89/;) =%87XW_&7WX7Xe7-$%&'"95"*C+)=/%CG"G6$$
G'N, B*""< S0.4< H TfLLL 7aB
http://maxdemarzi.com/2014/02/27/neo4j-at-ludicrous-speed/7/25/2019 Neo4j in Depth by Max De Marzi
55/88
N * a
455637789:+$89/;) =%87XW_&7WY7_W7)5G"%F$/"fWWW"-$%&'"%-"?$DG
http://maxdemarzi.com/2014/03/10/its-over-9000-neo4j-on-websockets/7/25/2019 Neo4j in Depth by Max De Marzi
56/88
!"#$%
2
7/25/2019 Neo4j in Depth by Max De Marzi
57/88
20C,'+"C+40" Q*+'A'1"< J#0 B*""< g 2P.'=.3'='+: .+ BC.="
9"0J#0A.(C" R"("J'+D8
)"*D%-') $/)+"%-$#,?=%-G)G5$-5 /$G6%-G$ 5)8
!"2.) ,."+(-#3 G6/$9+G=*CG5$/ H%/ F$/1 *9/.$ ./9
E=4D+"0'(N S".+40"D8
09G5$/"G*9F$ /$6*)=95)%- ?)54
'",%)+ +)D)*)2%-$# 9-+1"-*$F)+ ,9=4 )-G59-=$ 49G )5G %?- *$2"* 2"2.)
B%/);%-59* G=9*)-. E +)G9G5$/ /$=%F$/1
6#.< R.=.(C"0
!"#$%!"#$%!"#$%
;"++'(N ).+. '(+# !"#$%
7/25/2019 Neo4j in Depth by Max De Marzi
58/88
E:*,"0HR.D"< ]6Q2) EBZ^ E.*.3'='+:
>/9-G9=5)%-9* pZTLUr ?/)5$G
L-)5)9* 9-+ )-=/$8$-59* *%9+G %H C6 5%_W 8)**)%- -%+$G 9-+ /$*95)%-G4)6G
E#AA.(
7/25/2019 Neo4j in Depth by Max De Marzi
59/88
U9
U959 P5%/9.$ 9-+2CG)-$GG VC*$G ,:$=C5)%-
U959 0)-)-.9-+ Z../$.95)%-
2**='C.+'#(
;0.*, ).+.3.D" E=4D+"0
#$%&' #$%&' #$%&'
Z+ B%=Z-9*1G)G
,>R
R4=? 2(.=:+'CM(J0.D+04C+40"
A/964 T%86C5$ ,-.)-$
B9+%%6 ,U] O
).+.BC'"(+'D+
Y(< bD"0
Z.=4" J0#A 7"=.+'#(D,'*D [ E#AA#( bD" E.D"D
7/25/2019 Neo4j in Depth by Max De Marzi
60/88
M(+"0(.= 2**='C.+'#(D
09G5$/ U959 09-9.$8$-5#$5?%/N 9-+ L>
K6$/95)%-G
(/9C+ U$5$=5)%-
E4D+#A"0HS.C'(N 2**=
V$9*"5)8$ V$=%88$-+A/964"D9G$+ P$9/
L+$-5)51 9-+Z==$GG 09-9.$8$
Q*"( E#0*#0.+"D
7/25/2019 Neo4j in Depth by Max De Marzi
61/88
* *
bD"D !"#$%
Q*"( E#0*#0.+"D
7/25/2019 Neo4j in Depth by Max De Marzi
62/88
* *
Q*"( E#0*#0.+"D
7/25/2019 Neo4j in Depth by Max De Marzi
63/88
* *
bD"D !"#$%
4556G377GN)**G8955$/
7/25/2019 Neo4j in Depth by Max De Marzi
64/88
http://maxdemarzi.com/2012/10/18/m
th h t /
>,.+ .0" +," 5#* KL d#3D J#0 A" 5495 9/$ )- 54$ G98$ *%=95)%- L^8 )-
http://maxdemarzi.com/2012/10/18/matches-are-the-new-hotness/7/25/2019 Neo4j in Depth by Max De Marzi
65/88
5495 9/$ )- 54$ G98$ *%=95)%- L 8 )-
H%/ ?4)=4 L 49F$ 54$ -$=$GG9/1 MC9*)H)=95)%-G
9.0+'.= B43N0.*, B".0C,
7/25/2019 Neo4j in Depth by Max De Marzi
66/88
7/25/2019 Neo4j in Depth by Max De Marzi
67/88
7/25/2019 Neo4j in Depth by Max De Marzi
68/88
7"C#AA"(< 6#P"
< = , ,
7/25/2019 Neo4j in Depth by Max De Marzi
69/88
S'(< :#40 D#4=A.+" '( +," N0.*,
Z/$ 54$1 $-$/.$5)=j
U% 54$1 *)N$ +%.Gj B9F$ 9 .%%+ G$-G$ %H 4C8%/j
#$95 9-+ 5)+1I DC5 -%5 =/9;1 9D%C5 )5j
>,.+ .0" +," 5#* KL 9#+"(+'.= -.+"D J#0 A"
5495 9/$ )- 54$ G98$ *%=95)%- 9/$ G$:C9**1 =%8695)D*$
49F$ 5/9)5G L ?9-5
?9-5 5/9)5G L 49F$
6#P" 7"C#AA"(
7/25/2019 Neo4j in Depth by Max De Marzi
70/88
5@# 9.0+: 9.0+'.= B43N0.*, B".0C,
7/25/2019 Neo4j in Depth by Max De Marzi
71/88
http://maxdemarzi.com/2013/04/19/match-making-w
7".=H5'A" 7"C#AA"(
7/25/2019 Neo4j in Depth by Max De Marzi
72/88
B#C'.=7"C#AA"(.=A.0+ 2oPL#,PP TZP,
7/25/2019 Neo4j in Depth by Max De Marzi
73/88
]%/*+^G
D
]%/*+^G
6/)F
P("
$"=%889-9.$
(%
2$-5%
#$$+$+ %-*)-$ =CG5%8$/ /$=%88$-+95)%-G 5%
N$$6 69=$ ?)54 =%86$5)5)%-
U959 =%--$=5)%-G 6/%F)+$+ 6/$+)=5)F$ =%-5$:5I DC5
?$/$ -%5 )- 9 CG9D*$ H%/895
P%*C5)%- 49+ 5% G$/F$ 89-1 8)**)%-G %H =CG5%8$/G
9-+ 6/%+C=5G ?4)*$ 89)-59)-)-. GC6$/)%/
G=9*9D)*)51 9-+ 6$/H%/89-=$
>.=A.0+ PKRo>LK#
7/25/2019 Neo4j in Depth by Max De Marzi
74/88
2/)-.G =CG5%8$/GI 6/$H$/$-=$GI 6C/=49G$GI
6/%+C=5G 9-+ *%=95)%-G )-5% 9 ./964 8%+$*
oG$G =%--$=5)%-G 5% 89N$ 6/%+C=5/$=%88$-+95)%-G
P%*C5)%- +$6*%1$+ 9=/%GG ]9*09/5
+)F)G)%-G 9-+ ?$DG)5$G
;=#3.= E#40'"0 2oPL#,PP TZP,
7/25/2019 Neo4j in Depth by Max De Marzi
75/88
]%/*+
&bWI
~aa D
#
2XT 9-+
G1G5$8
R$.9=1GC66%/5$
-%/ 54
#$$+$+ 5% /$6*9=$ 9.)-. 2X2 9-+ 2XT 69/=$* /%C5)-.
G1G5$8 ?4%G$ /$MC)/$8$-5G )-=*C+$3
X&:e 9F9)*9D)*)51
Q$9N *%9+G %H a0 69/=$*G 6$/ +91I Yg 6$/ G$=%-+
PC66%/5 H%/ =%86*$: 9-+ +)F$/G$ G%H5?9/$ G59=N
Q/$+)=59D*$ 6$/H%/89-=$ ?)54 *)-$9/ G=9*9D)*)51
U9)*1 =49-.$G 5% *%.)G5)=G -$5?%/NG
V%C5$ H/%8 9-1 6%)-5 5% 9-1 6%)-5
P)-.*$ 6%)-5 %H 5/C54 H%/ $-5)/$ -$5?%/N
;=#3.= E#40'"0 PKRo>LK#
7/25/2019 Neo4j in Depth by Max De Marzi
76/88
#$%&' 6/%F)+$G 54$ )+$9* +%89)- H)5 G)-=$
9 *%.)G5)=G -$5?%/N )G 9 ./964
B).4 9F9)*9D)*)51 9-+ 6$/H%/89-=$ F)9 #$%&'=*CG5$/)-.
A/$95*1 G)86*)H)$+ T164$/ MC$/)$G H%/ /%C5)-.
F$/GCG /$*95)%-9* PSR MC$/)$G
(*$:)D*$ +959 8%+$* 5495 /$H*$=5G 54$ /$9**%.)G5)=G ?%/*+ H9/ D$55$/ 549- /$*95)%-9*
,9G1"5%"./9G6 ?4)5$D%9/+"H/)$-+*1 8%+$*
"R.: 2oPL#,PP TZP,
7/25/2019 Neo4j in Depth by Max De Marzi
77/88
T/$
(C**HC-=5)%-9
9-
L-5$./9F$-+
#$$+$+ 9- %HH$/)-. 5% =%86$5$ ?)54
Z89;%- Q/)8$
,-9D*$ =CG5%8$/"G$*$=5$+ +$*)F$/1 )-G)+$fW 8)-C5$G
T9*=C*95$ D$G5 /%C5$ %65)%- )- /$9*"5)8$
P=9*$ 5% $-9D*$ 9 F9/)$51 %H G$/F)=$G
KHH$/ 8%/$ 6/$+)=59D*$ +$*)F$/1 5)8$G
"R.: !#@ PKRo>LK#
7/25/2019 Neo4j in Depth by Max De Marzi
78/88
Z=MC)/$+ og"D9G$+ P4C5*< 9 *$9+$/
)- G98$"+91 +$*)F$/1
oG$+ #$%&' 5% =/$95$ $291 #%?
_WWW 5)8$G H9G5$/ 549- 54$ 6/)%/
01PSR"D9G$+ G%*C5)%-
(9G5$/ 5)8$"5%"89/N$5
L86/%F$+ =%+$ MC9*)51 ?)54_W 5% _WW 5)8$G *$GG MC$/1 =%+$
E=.DDA.+"D 2oPL#,PP TZP,
7/25/2019 Neo4j in Depth by Max De Marzi
79/88
K-*
=%--$=
G=4%%*I
)- o
(
0$8%/
U$F$*%6 -$? G%=)9* -$5?%/N)-. =969D)*)5)$G 5%
8%-$5);$ 1$9/D%%N"/$*95$+ %HH$/)-.G
P4%? 9** 54$ 6$%6*$ L N-%? )- 9 1$9/D%%N
P4%? 1$9/D%%NG 81 H/)$-+G 966$9/ )- 8%G5 %H5$-
P4%? G$=5)%-G %H 9 1$9/D%%N 5495 81 H/)$-+G
966$9/ 8%G5 )-
P4%? 8$ %54$/ G=4%%*G 81 H/)$-+G 955$-+$+
E=.DDA.+"D PKRo>LK#
7/25/2019 Neo4j in Depth by Max De Marzi
80/88
#$%&' 6/%F)+$G 9 /%DCG5 9-+ G=9*9D*$ ./964
+959D9G$ G%*C5)%-
Y")-G59-=$ =*CG5$/ ?)54 =9=4$ G49/+)-. 9-++)G9G5$/"/$=%F$/1
_b8G /$G6%-G$ 5)8$ H%/ 5%6 & MC$/)$G
_WW0 -%+$G 9-+ qWW0 /$*95)%-G4)6G )-
)-)5)9* ./964)-=*C+)-. 6$%6*$I )89.$GIG=4%%*GI 1$9/D%%NG 9-+ 69.$G
Q/%'$=5$+ 5% ./%? 5% _2 -%+$G 9-+ q2
/$*95)%-G4)6G
!.+'#(.= ;"#N0.*,'C 2oPL#,PP TZP,
7/25/2019 Neo4j in Depth by Max De Marzi
81/88
#%-"6$+C=9
H%
T%F9/=49$%*$-F)/%-
=
J%C/-/9+)%I >*)F$ $F$
=%-
L86/%F$ 6%%/ 6$/H%/89-=$ %H Q%G5./$PSR 966
L-=/$9G$ CG$/ $-.9.$8$-5 D1 *)-N)-. 5% _WW` 1$9/G
%H 8C*5)8$+)9 =%-5$-5
L86/%F$ 59/.$5)-. D1 C-+$/G59-+ GCDG=/)D$/G^
)-5$/$G5G D$55$/
V$=%88$-+ =%-5$-5 9-+ G$/F)=$G 5% CG$/G D9G$+
%- 54$)/ )-5$/$G5G
!.+'#(.= ;"#N0.*,'C PKRo>LK#
7/25/2019 Neo4j in Depth by Max De Marzi
82/88
,-9D*$+ =%86*$: /$9*"5)8$ 9-9*15)=G 9=/%GG
$).45 8)**)%- CG$/G 9-+ 9 =$-5C/1 %H =%-5$-5
U$*)F$/$+ /%DCG5 6$/H%/89-=$ D1 $*)8)-95)-.5/)6*$"-$G5$+ PSR '%)-G
T/%GG"/$H$/G CG$/G 98%-. =%-5$-5I *)F$ $F$-5GI
5/9F$*I .%%+G 9-+ =9CG$G
#$%&' G%*C5)%- 8C=4 *$GG =C8D$/G%8$9-+ $9G)$/ 5% 89)-59)- 549- 6/$F)%CG
PSR G1G5$8
E40.D*.( 2oPL#,PP TZP,
7/25/2019 Neo4j in Depth by Max De Marzi
83/88
R$989-9.$8
9
09-9.$&qWW` 4
T%--$=5
F)9 ?$89-9.
(%C-#$?5%
L86/%F$ 6%%/ 6$/H%/89-=$ %H K/9=*$ G%*C5)%-
PC66%/5 8%/$ =%86*$:)51 )-=*C+)-. ./9-C*9/I
/%*$"D9G$+ 9==$GG =%-5/%*
P95)GH1 =%86*$: A/964 P$9/=4 MC$/)$G D1 +)G=49/.$
-C/G$G 9-+ )-59N$ =%%/+)-95%/G
Y3(0 ' ,>3//"0 (+#,3(@ $')3/3-1 23-.3( ( &3/", %$ '
@3R"( /%)'-3%(B 8"/%(@3(@ -% ."'/-. )'#" @#%+6Z[\B %$$"#3(@ ,6""). -."#'61 '(0 )'#03') )'#"B
'(0 %6-3%('//1 ;-'/3'( /'(@+'@" ,"#R3)",
E40.D*.( PKRo>LK#
0 5 H 5 * 5) H + +
7/25/2019 Neo4j in Depth by Max De Marzi
84/88
\0$5 H9G5I /$9*"5)8$ 6$/H%/89-=$ +$89-+G
\PC66%/5$+ MC$/)$G G69- 8C*5)6*$ 4)$/9/=4)$G
)-=*C+)-. 6/%F)+$/ 9-+ $86*%1$$"6$/8)GG)%-G./964G
\L86/%F$+ +959 8%+$* 5% 49-+*$ 9++)-. 8%/$
+)8$-G)%-G 5% 54$ +959 GC=4 9G )-GC/9-=$
-$5?%/NGI G$/F)=$ 9/$9G 9-+ =9/$ %/.9-);95)%-G
\A/$95*1 G)86*)H)$+ MC$/)$GI G)86*)H1)-.
8C*5)"69.$ PSR G595$8$-5G )-5% %-$
#$%&' HC-=5)%-
S'J+:5,0"" 2oPL#,PP TZP,
7/25/2019 Neo4j in Depth by Max De Marzi
85/88
09
%-$ %
)- Z66*$
8)*
29G$+
\Z++ G%=)9* =969D)*)5)$G 5% +).)59*"696$/ 966
\PC66%/5 G%=)9* =%**9D%/95)%- 9=/%GG 8)**)%-G %HCG$/G )- -$? =3S966
\,-9D*$ G$98*$GG )-5$/9=5)%- D$5?$$- G%=)9*9-+ =%-5$-5"9GG$5 -$5?%/NG
\,-GC/$ -$? 966G 9/$ /%DCG5I G=9*9D*$ 9-+ H9G5
S'J+:5,0"" PKRo>LK#
# &' + + * )+ * H ) * N
7/25/2019 Neo4j in Depth by Max De Marzi
86/88
#$%&' +959 8%+$* )+$9* H%/ G%=)9* -$5?%/NI =%-5$-5
89-9.$8$-5 9-+ 9==$GG =%-5/%*
oG$/G =/$95$I 6CD*)G4 9-+ G49/$ +$G).-G G)86*1
,9G1 5% +$F$*%6 9-+ $F%*F$ #$%&'"D9G$+ 966
L-5$./95$G ?$** ?)54 ()H51>4/$$ ,TX 9/=4)5$=5C/$
B"" +," !"#$% D#=4+'#( '( .C+'#(I"--3(@ -." ?%&6'(1 OW3-"#'//1Q %( ' 5#'6. 7'-'8',"45563779G$$8N
7/25/2019 Neo4j in Depth by Max De Marzi
87/88
'SC$/1 L-F$-5%/ B$/%
7/25/2019 Neo4j in Depth by Max De Marzi
88/88
KL9