neo4j in depth by max de marzi

Upload: ryan-dutt

Post on 01-Mar-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 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