Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Initiation à Neo4j

Initiation à Neo4j - Benoît Simard
GraphDay Paris

  • Login to see the comments

  • Be the first to like this

Initiation à Neo4j

  1. 1. Neo4j Intro Training Benoit Simard benoit. simaLd@neo: erJ1nQlogy Lom | @neo4j 9-db ’ . 0 O . C ‘ t . 7 $ ’ . . ' . derivative of "Node. Garden, Gallery of Computatro y Jared flbell / CC BY 0 O 0 0 Q - 0 . . Qx . a Q
  2. 2. Introduction aux Graphes 3’ . 2 /150 e '1 neold
  3. 3. Avant tout, un message a caractere informatif 3’ . 37150 e '1 neold
  4. 4. Ce sont des graphiques Z°'“bi° P35‘i"“°5 % of Peop| eWho Hate Michael Jackson by Date Dancing With Michael Jackson Eating Brains June 26.2009 4/150 All Rights Reserved 2015 | Neo Technology, Inc.
  5. 5. Ce ne sont pas des graphes Zombie Pastimes % of People Who Hatwichael Jackson by Date 0 Dancing With Michael ]a'. |- = ',n Eating Brains jun: 25. 2009 June 26.2009 5/150 © All Rights Reserved 2015 | Neo Technology, Inc.
  6. 6. Leonhard Euler 1707-1783 Mathématicien Suisse 3’ . o r 150 e V neollj @ All Rights Reserved 2015 | Neo Technology, Inc.
  7. 7. 7 ponts de Kénigsberg _.4c - 34.111./ .‘. l.’: 'l’r; "f’. ' _»~ II- J — . e . . _ : ;. ; '.’; l': ‘-'1.'7‘L'1:, ’_-. .'1‘ 7 Kénigsberg (Prussia) — 1736 - 7 Bridges, one Q’; neoéj / C150 rci All Rights Reserved 2015 | Neo Technology, Inc.
  8. 8. 7 ponts de Kénigsberg — | ’approche . o - - . H ‘ - " 0 I §"f; [ (DI -u -. 4 ' w -1 A‘ v '7 . . -Ms’, ---’; ~.‘, ‘.. }’ ’. ‘ _—; -)5,: Il, '.II. '!’/ I,’ . ~ "- in . .un. .I. .‘ LI 4 r . s X reviving; ,1,’ Mn‘ 15' «:5 V: .3‘, L’ Ly‘ / '_Q/ 7, 5 ‘£1: , ' 1 . , ; .. _;; ; 45., ~ » A , > , ' I 2, . -'-; :.~-A . n‘x: z11ris. -;sr: ' ¢' ,4_____ {'--r-: .-: : Identifier Ies parties —> Les ponts et Ies territoi res gt, neo2,j B3150 ICU All Rights Reserved 2015 | Neo Technology, Inc.
  9. 9. 7 ponts de Kénigsberg - Le modele A , ,1 V :74 1 1. 2 ; .vnn'»c__ '9-= .Ig3.: . ",4!" ‘U7 ' . - —— D A <—-, —*--c, , SCI’ fl'E—l IIIIIHIIZEIIII3, 9 ‘-17 I -I V C’est un graph avec des noeuds et des relations 9/150 ’ neollj
  10. 10. 7 ponts de Kénigsberg — Solution Recherche de chemin —> II n’y a pas de route rt: 3 r: ~u neollj
  11. 11. A propos des données ? 3* . 11/150 €V neolll
  12. 12. Alice & Bob <9 $13» <23’ <90’ Q09 go title: "Graph Databases" _ if Q neo2,j
  13. 13. Ajout de détails name: Alice age:34 oi, neon] tit| e:”"1C§raph A , .1_I- - . -- II Data base SII
  14. 14. Les graphes dans Ie monde réel 3* . 14 7150 7 V neolll
  15. 15. Tables Customers Accounts 2‘ . 15.1150 e V neolll rcfr All Rights Reserved 2015 | Neo Technology, Inc.
  16. 16. Une table I‘. Customers Accounts 2‘ . 163150 e V neolll rcfr All Rights Reserved 2015 | Neo Technology, Inc.
  17. 17. Et une autre R. Customers Accounts 2‘ . 1/3150 e V neolll rcfr All Rights Reserved 2015 | Neo Technology, Inc.
  18. 18. Une table de liaison I‘. Customers Customer_Accounts Accounts 2‘ . la 3 150 e V neold Ki All Rights Reserved 2015 | Neo Technoiogy, Inc.
  19. 19. Une jointure I‘. . / / ‘ / 3, Customers Customer_Accounts Accounts 2‘ . 19 3 150 e V neold Ki All Rights Reserved 2015 | Neo Technoiogy, Inc.
  20. 20. Voici Ies données utiles 20 / 150 All Rights Reserved 2015 | Neo Technology, Inc.
  21. 21. C’est un graph ! © All Rights Reserved 2015 | Neo Technology, Inc. 21i'150 cf, neoz. j
  22. 22. Des noeuds name Alice © All Rights Reserved 2015 | Neo Technology, Inc. 22/150 balz 5632 T bal: $212 Y,
  23. 23. Des relations Nodes *'’”‘T‘ o‘’‘ “S owns or-int» rm. Relationships :3 3 1:0 neoéj {I All Rights Reserved 2015 | Neo Technology, Inc.
  24. 24. Noeuds, relations et labels Nodes rd Account Account bal: 5632 Labels Relationships 24 / 150 D All Rights Reserved 2015 | Neo Technology, Inc.
  25. 25. La modélisation en graphe 3’ . 25 /150 €V neold
  26. 26. Tout commence par un tableau blanc _}/ x, / ms, <> ’. /Rilkéw or _7_Ll. x"5 I «Sp r- V A, K 1 . L‘ , L/ ‘ ‘I c. J V, «‘»«M: L;x: .r, » 3* . 26/150 e '1 neold © All Rights Reserved 2015 | Neo Technology, Inc.
  27. 27. Au propre FRIEND_0F COMMENTED cf, neoqj ID All Rights Reserved 2015 | Neo Technology, Inc.
  28. 28. C’est un graphe ! FRIEND_OF COMMENTED cf, neoqj ID All Rights Reserved 2015 | Neo Technology, Inc.
  29. 29. The Movie Graph ‘ F r a“ / ‘C’ 4 who " L5” ” , ~ fl , .2’ c . C: e[ S / V | __L‘, 55 f‘ 4* . , , l J‘ c‘, 1b g - . kl ( V ( LA A, ‘ , _7 ‘ ‘0( . I as ’ Y)i{c. ~.eC _‘ , f—'r€c796’ L_ cxficx ‘xx, A<_1« O~_. /_t/ / ‘ 3* . l'l€O 29/150 €V ['1 © All Rights Reserved 2015 | Neo Technology, Inc.
  30. 30. Méme information, mais plus lisible Hugo Weaving ACTED_IN ACTED_IN ACTED_IN . The Matrix Cloud Atlas _ DIRECTED DIRECTED Lana Wachowski cf, neoL. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  31. 31. La modélisation incrémentale 3* . 31,~'15o ev neollj
  32. 32. Le modele de graphe 'simp| e' Hugo Weaving ACTED_IN ACTED_IN ACTED_IN . The Matrix Cloud Atlas . V DIRECTED DIRECTED Lana Wachowski cf, neoI. j iii All Rights Reserved 2015 | Neo Technology, Inc.
  33. 33. Apres ajout de propriétés et de labels @ _ name: Hugo Weaving nationality: Australia won: MTV Movie Award name: Tom Hanks nationality: USA won: Oscar, Emmy ACTED IN role: Bi1I-Smoke ACTED_IN role: Agent Smith ACTED IN role: Zazhry title: Cloud Atlas genre: drama, sci-fi title: The Matrix genre: sci-fi DIRECTED a name: Lana Wachowski nationality: USA won: Razzie, Hugo DIRECTED 33150 g neollj iii All Rights Reserved 2015 | Neo Technology, Inc.
  34. 34. Un tour d’horizon de lIeo4j 3* . 34 I 150 e ‘:7 neollj
  35. 35. eo4j Browser — trouver de | ’aide 'hclD Help Virrii is :4 I v~ii= .'« ‘Olav Intro Introduction r, ;»; ‘iiiiiis'a«ic~, I «iii ixt-, ii: Bii, iiI. s-. ~i All Rights Reserved 2015 | Neo Technology, Inc. Neo-1] Browser is a command sneii Use the ediior Dar up above ~ to enter cypner queries or Client—5ide com command will produce an 'liame" like this one in the result stream Use the zhelp command to learn about other topics New Io Neodfl Try one oi the guides to learn the basics Usaie: :rielv <top| c> Topicl: 1) help ryririor o rivlp rormands o hfllp lmys Guides: o play imo o Olav Qranhs o Dlay (vpher soiiiueanm o Dluv movies Neodi Mm Llll Neo4i Browser is a command driven ciieni. like a weocased shell enviionmenl ii IS perlecl ior running ad-hoc grapn queries. with ]U5l enoiign aoiiiiy to proioiype a Neo4i—Dased application . Developer locused. for writing and running graph queries with rm-»-N 35/150 21,45? Click H“ 5,, fl“, iiiuf
  36. 36. Neo4j Browser — requéte et visualisation 36/150 All Rights R eeee ved 2015 | Neo Technology, Inc.
  37. 37. eo4j Browser — impoter Ies jeux de onnées d’exemple may i'ioves J Mini-app: The Movie Graph r’«r'ri"ii‘I‘Ii1l'<i"iIi: (‘(lIfi'7't"i DI’-'llI' ’rlr>Inl -‘i(lI’il -~-. l‘(lI‘ii' I"i"IlIiIil' CREAYE llhefllatrlxmovle (t1tle: 'The Matr1x', reeaserl: l999, tag1ne: ‘>lel(oiiie to the Real Hnrfl')) CREATE lkeanu-Fersan (iiai-e: 'i<eariu Reeves‘. born: l964H CREATE (cause Person (naiIe: ‘Carrle—Anne Moss’, uimi: i9s7)i CREATE lLauren(e: PersniI (iia : 'Laur: n(: FiSl1burlI€'r izoi-ri:19s1)i CREATE lHugn: PEFSon (7|Hl! I'NlqD Heav1ng', narii:19so)i CREATE (Aiiciyiinivsrson (iiar-e Aiidy waciiousitr, bor CREATE [LHrliH: PQrsl7n (ime uiia Hi(huIlS| (1', bar CREATE UaelS: Person (nane: 'Joel Sllver‘, izornusszn caeu: (Keanui-I-A(r: n_m {roes: I 'Neo‘l)]->lThd1atr1x). (came)-I: Acr: n_m (roles: I'Tr1nl(y'H]->(Thet‘| atr| x)i ll. auren(e)- : ACTED_! N (roles: I‘Morpheus'l)I->(rtieMatrlxI, miigo)-I: AcrEo_m trotesiiuigeiix 5lIll7|'l)]->(Thd4a! V)xl. iAiidyiiIi-I: nIizEc1EnI-srriiaaacrsiri. lLarIaH)‘l 1itEc1:nl~>('riietatnx). (. loel.5)—l: PRDDl(EDl->(Tlid1atr1xl CREATE (Evul: Person Inaiii2:"Emu Eifmii . bnm:197n)) 37/150 All Rights Reserved 2015 | Neo Technology, Inc.
  38. 38. Neo4j Data browser — afficher plus de données MATCH (ii) RETURN ii LIMIT we ' Look a Folder r another lolder sryiing I Graph Style Sheet iii All Rights Reserved 2015 | Neo Technology, Inc.
  39. 39. Intro a Cypher © All Rights Reserved 2015 | Neo Technology, Inc. 39/150 cf, neoz. j
  40. 40. Cypher est le langage de requéte de Neo4j 0 Language déclarative de Pattern-Matching o SQL-like syntax o Fait pour les graphs 3* . -'10 150 e '7 neollj
  41. 41. Tout est question de pattern ! e o/ —§o cl 1 I 150 Q neollj
  42. 42. Tout est question de pattern I 3* . -'12 I 150 e ‘:7 neollj
  43. 43. Tout est question de pattern I 9.’, neooj
  44. 44. Tout est question de pattern I cf, neoI. j
  45. 45. Tout est question de pattern I cf, neoI. j
  46. 46. Comment ? 3’ . I13 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  47. 47. Deux noeuds, une relation 3* . -'14 I 150 e ‘:7 neollj
  48. 48. Deux noeuds, une relation Le graphe @—*® la)-->(b) cf, neoL. j
  49. 49. Deux noeuds, une relation MATCH (a)--(b) RETURN a, b 3’ . -'15 I 150 e V neollj © All Rights R eeee ved 2015 | Neo Technology, Inc.
  50. 50. Deux noeuds, une relation MATCH (a)--(b) RETURN a, b Le pattern @—>O .2‘ - lb 3 13.} e V neoél
  51. 51. Le graphe cf, neooj
  52. 52. Deux noeuds, une relation 3* . I17 I 150 e ‘:7 neollj
  53. 53. Deux noeuds, une relation @—*O cf, neooj
  54. 54. Deux noeuds, une relation cf, neooj
  55. 55. Deux noeuds, une relation MATCH (a)——>() RETURN a. name @~O 12;, ‘ l; ~._i IQ All Rights Reserved 2015 | Neo Technology, Inc.
  56. 56. Deux noeuds, une relation 3* . 49 I 150 e ‘:7 neollj
  57. 57. Deux noeuds, une relation @+>O 49 / 150
  58. 58. Deux noeuds, une relation 634:0 la)-[F]->() cf, neooj
  59. 59. Deux noeuds, une relation MATCH (a)—[r]—>() RETURN a. name, type(r) @%O 31; 3 l‘; ._l IQ All Rights Reserved 2015 | Neo Technology, Inc.
  60. 60. Deux noeuds, une relation 3* . 51 I150 €V neollj
  61. 61. Deux noeuds, une relation @—*O cf, neooj
  62. 62. Deux noeuds, une relation OPTIONAL MATCH (a)—[r]—>() RETURN a. name, type(r) 3 1 3 1’: i:. i neollj ID All Rights Reserved 2015 | Neo Technology, Inc.
  63. 63. Deux noeuds, une relation 3* . 52 I150 e ‘:7 neollj
  64. 64. Deux noeuds, une relation 6) ACTED IN @ 52 I150 Q neollj
  65. 65. Deux noeuds, une relation @ ACTED IN @ (a)-[: ACTED_IN]->(m) MATCH (a)-[: ACTED_IN]->(m) RETURN a. name, m. title cf, neoL. j
  66. 66. Deux noeuds, une relation @ ACTED IN @ (a)-[: ACTED_IN]->(m) MATCH (a)-[: ACTED_IN]->(m) RETURN a. name, m. title Retourner Ies propriétés des roles MATCH (a)-[r: ACTED_IN]—>(m) RETURN a. name, r. roles, m. tit1e .3‘ - 31 . hr “@041 ID All Rights Reserved 2015 | Neo Technology, Inc.
  67. 67. Paths 3’ . 53I150 €V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  68. 68. Paths @—*@—*© 3,‘, 3 l; x_i IQ All Rights Reserved 2015 | Neo Technology, Inc.
  69. 69. Paths @—*@—*G) (a) - - >(b) - - >(C) 3,‘, 3 l; x_i
  70. 70. Paths 3’ . 54 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  71. 71. Paths @—>®<—® oneori I9 All Rights Reserved 2015 | Neo Technology, Inc
  72. 72. Paths @—>@<— la) - - >(b)< - - (C) 19 All Rights Reserved 2015 | Neo Technology, Inc.
  73. 73. Paths 3’ . 55 I150 €V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  74. 74. Paths MATCH (a)-I: ACTED_IN]~>(m)<—[: DIRECTEDl-(d) RETURN a. name, m. title, d. name .2‘ - 35 3 1;~. .i 6 5' neoilj IQ All Rights Reserved 2015 | Neo Technology, Inc.
  75. 75. Movies Query 3’ . 56 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  76. 76. Movies Query MATCH (a)-[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name, m. title, d. name; 3’ . 56 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  77. 77. Movies Query MATCH (a)-[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name, m. title, d. name; a. name m. titIe d. name "Keanu Reeves" “The Matrix" "Andy Wachowski" "Keanu Reeves" "The Matrix Reloaded” "Andy Wachowski” "Noah Wy| e" "A Few Good Men” "Rob Reiner" "Tom Hanks” "Cloud Atlas" "Andy Wachowski" © All Rights Reserved 2015 | Neo Technology, Inc. 56/150 cf, neooj
  78. 78. Movies Query avec des alias 3’ . 57 I150 €V neollj
  79. 79. Movies Query avec des alias MATCH (a)-[: ACTED_IN]->(m)<—[: DIRECTED]-(d) RETURN a. name AS actor, m. title AS movie, d. name AS director; 3’ . 57 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  80. 80. Movies Query avec des alias MATCH (a)-[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name AS actor, m. title AS movie, d. name AS director; actor movie director "Keanu Reeves" "The Matrix" "Andy Wachowski" "Keanu Reeves" "The Matrix Reloaded" "Andy Wachowski" "Noah Wy| e" "A Few Good Men" "Rob Reiner" "Tom Hanks” "Cloud Atlas" "Andy Wachowski" 3’ . 57 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  81. 81. Paths 3’ . 58 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  82. 82. cf, neoL. j
  83. 83. MATCH (a)-[: ACTED_IN]->(m), (m)<-[: DIRECTED]-(d) RETURN a. name, m. title, d. name .3‘ - . iv “@041 IQ All Rights Reserved 2015 | Neo Technology, Inc.
  84. 84. MATCH (a)-[: ACTED_IN]->(m). (d)-[: DIRECTED]~>(m) RETURN a. name, m. title, d. name 3&3 Q l; ~., i IQ All Rights Reserved 2015 | Neo Technology, Inc.
  85. 85. Paths 3’ . 60 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  86. 86. Paths @4cK/ NA <S><: > 0*‘ Ay e‘; neoL. j
  87. 87. Paths MATCH p= (a)-[: ACTED_IN]->(m)<-[: DIRECTED]-(d) RETURN p ‘3i’, ‘, 3 l‘; ..l IQ All Rights Reserved 2015 | Neo Technology, Inc.
  88. 88. Paths 3’ . 61150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  89. 89. Paths MATCH p= (a)—[: ACTED_IN]->(m)<—[: DIRECTED]-(d) RETURN nodes(p) .2‘ - 51 3 1;~. .i 6 5' neoilj IQ All Rights Reserved 2015 | Neo Technology, Inc.
  90. 90. MATCH p1=(a)—[: ACTED(IN]~>(m). p2=(d)-[: DIRECTED]->(m) RETURN pl, p2 . 3‘ ' m3hI ¢v”e°4 IQ All Rights Reserved 2015 | Neo Technology, Inc.
  91. 91. Aggregation MATCH (a)-[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name, m. title, d. name; a. name m. titIe d. name "Keanu Reeves” “The Matrix" “Andy Wachowski” "Keanu Reeves" "The Matrix Reloaded” "Andy Wachowski" "Noah Wy| e", “A Few Good Men" "Rob Reiner" "Tom Hanks”, "Cloud Atlas" © All Rights Reserved 2015 | Neo Technology, Inc. 63 I 150 cf, neoI. j
  92. 92. Les fonctions d’aggregation o count(x) — Le nombre d’occurence o min(x) - La valeur minimum 0 max(x) - La valeur maximum 0 avg(x) - La moyenne o sum(x) - La somme o co| lect(x) - Aggregre Ies données dans un tableau 3* . 64 I 150 e '7 neollj
  93. 93. Aggrégation MATCH (a)—[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name, d. name, count(*); 3’ . 65 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  94. 94. Aggrégation MATCH (a)-[: ACTED_IN]->(m)<-[: DIRECTED]-(d) RETURN a. name, d. name, count(*); a. name d. name count(*) "Aaron Sorkin" “Rob Reiner" 2 "Keanu Reeves" "Andy Wachowski" 3 "Hugo Weaving" "Tom Tykwer” 1 3’ . 65 I 150 e *1 neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  95. 95. Aggrégation MATCH (a)—[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name, d. name, count(m); 3’ . 66 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  96. 96. Aggrégation MATCH (a)-[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name, d. name, count(m); a. name d. name count(m) "Aaron Sorkin" “Rob Reiner" 2 "Keanu Reeves" "Andy Wachowski" 3 "Hugo Weaving" "Tom Tykwer” 1 3* . 66 I 150 e *1 neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  97. 97. As MATCH (a)-[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name AS actor, d. name AS director, count(m) AS count; 3* . 67 I 150 e *1 neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  98. 98. As MATCH (a)-[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name AS actor, d. name AS director, count(m) AS count; actor director count "Aaron Sorkin" "Rob Reiner" 2 "Keanu Reeves" "Andy Wachowski" 3 "Hugo Weaving" "Tom Tykwer" 1 3* . 67 I 150 e *1 neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  99. 99. Lab cf, neoI. j 19 All Rights Reserved 2015 | Neo Technology, Inc.
  100. 100. Lab Quel producteur a aussi joué dans un film ? MATCH (a)—[: ACTED_IN]—>(m)<-[: DIRECTED]—(a) RETURN a. name, m. tit1e; cf, neoI. j 19 All Rights Reserved 2015 | Neo Technology, Inc.
  101. 101. Relation unique dans un path MATCH (a)-[: ACTED_IN]->(m)<-[: ACTED_IN]-(a) RETURN a. name, m. title 3’ . 69 I 150 e V neollj © All Rights R eeee ved 2015 | Neo Technology, Inc.
  102. 102. Sort et limit MATCH (a)-[: ACTED_IN]->(m)<-[: DIRECTED]-(d) RETURN a. name, d. name, count(*) AS count ORDER BY count DESC LIMIT 5 3’ . 70 I 150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  103. 103. Aggregation MATCH (a)—[: ACTED_IN]~>(m)<—[: DIRECTED]-(d) RETURN a. name, d. name, collect(m. title) 3’ . 71I150 e V neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  104. 104. Aggregation MATCH (a)—[: ACTED_IN]—>(m)<—[: DIRECTED]—(d) RETURN a. name, d. name, col1ect(m. title) ‘“<§EZ<2Z‘ Axggggégill, /’ / l 3‘ 150 iii All Rights Reserved 2015 | Neo Technology, Inc.
  105. 105. Faut Commencer quelque part 3* . 72 I 150 e V neollj
  106. 106. Trouver tous les noeuds MATCH (n) RETURN n 73/150 © All Rights Reserved 2015 Neo Technology, Inc.
  107. 107. Trouver un noeud MATCH (n) WHERE n. name= "Tom Hanks" RETURN n o WHERE - filtre Ies resultats o n. name = "Tom Hanks" - le 'nom' doit exister et avoir une valeur cf, neooj 7-Il I 150 @ All Rights Reserved 2015 | Neo Technology, Inc.
  108. 108. cf, neooj
  109. 109. Trouver un noeud avec un label MATCH (tom: Person) WHERE tom. name= "Tom Hanks" RETURN tom o : Person - Matches seulement Ies noeuds avec Ie label 'Person' 3’ . 76150 e V neollj @ All Rights Reserved 2015 | Neo Technology, Inc.
  110. 110. cf, neooj
  111. 111. Commencer avec un noeud possédant unlabel MATCH (tom: Person)—[: ACTED_IN]—>(movie: Movie) WHERE tom. name= "Tom Hanks" RETURN movie. tit1e (Movies featuring Tom Hanks) 3’ . 78 150 e V neollj ICU All Rights Reserved 2015 | Neo Technology, Inc.
  112. 112. ./ El , ‘ l5U
  113. 113. Commencer avec un noeud possédant unlabel MATCH (tom: Person)—[: ACTED_IN]—>(movie: Movie), (direCtor: Person)-[: DIRECTED]->(movie: Movie) WHERE tom. name= "Tom Hanks“ RETURN director. name (Directors who worked with Tom Hanks) 3’ . 803150 e V neollj ICU All Rights Reserved 2015 | Neo Technology, Inc.
  114. 114. Le Graphe (1)50/_E / OZJ /0 Tom Hanks Movies Directors Q neoI. j
  115. 115. Commencer avec un noeud possédant unlabel MATCH (tom: Person)—[: ACTED_IN]->()<-[: DIRECTED]-(director) WHERE tom. name= "Tom Hanks" RETURN DISTINCT director. name (Directors who worked with Tom Hanks) 3’ . 823150 e V neollj ICU All Rights Reserved 2015 | Neo Technology, Inc.
  116. 116. Création d’un index spécifique basé sur Ies labels CREATE INDEX ON : Person(name) CREATE INDEX ON : Movie(title) 3’ . 83/150 e V neold
  117. 117. Création d’indexes o Ies noeuds 'Person', indéxé par leur 'name' 0 Ies noeuds 'Movie', indéxé par leur 'tit| e' ct‘; neoqj ‘Er All Rights Reserved 2015 | Neo Technology, Inc.
  118. 118. Les labels sur pattern "anchors" MATCH (tom: Person)—[: ACTED_IN]->(movie), (kevin: Person)-[: ACTED_IN]->(movie) WHERE tom. name= "Tom Hanks” AND kevin. name= "Kevin Bacon“ RETURN movie. tit1e (Movies featuring both Tom Hanks and Kevin Bacon) 3* . as J 150 e '7 neolij ‘C1 All Rights Reserved 2015 | Neo Technology, Inc.
  119. 119. Conditions MATCH (tom: Person)-[: ACTED_IN]->(movie: Movie) WHERE tom. name= "Tom Hanks” AND movie. re1eased < 1992 RETURN movie. tit1e (Movies in which Tom Hanks acted, that were released before 1992) 3’ . 863150 e V neold ICU All Rights Reserved 2015 | Neo Technology, Inc.
  120. 120. Le Graphe Tom Hanks Movies
  121. 121. Conditions sur les propriétés MATCH (actor: Person)-[r: ACTED_IN]->(movie) WHERE actor. name= ”Keanu Reeves” AND “Neo” IN (r. ro1es) RETURN movie. title (Movies in which Keanu Reeves played Neo) 3’ . 88150 e '7 neold @ All Rights Reserved 2015 | Neo Technology, Inc.
  122. 122. Conditions sur les propriétés MATCH (actor: Person)-[r: ACTED_IN]->(movie) WHERE actor. name= ”Keanu Reeves” AND ANY( x IN r. roIes WHERE x = ”Neo”) RETURN movie. title (Movies in which Keanu Reeves played Neo) 3’ . 89150 e '7 neold @ All Rights Reserved 2015 | Neo Technology, Inc.
  123. 123. Conditions avec comparaison MATCH (tom: Person)—[: ACTED_IN]->(movie), (a: Person)-[: ACTED_IN]->(movie) WHERE tom. name= "Tom Hanks” AND a. born < tom. born RETURN DISTINCT a. name (Actors who worked with Tom and are older than he was) 3’ . 90150 e '7 neold @ All Rights Reserved 2015 | Neo Technology, Inc.
  124. 124. Conditions avec comparaison MATCH (tom: Person)—[: ACTED_IN]->(movie), (a: Person)-[: ACTED_IN]->(movie) WHERE tom. name= "Tom Hanks” AND a. born < tom. born RETURN DISTINCT a. name, (tom. born — a. born) AS diff (Actors who worked with Tom and are older than he was) 3’ . 91 , ~ 150 e '7 neolij @ All Rights Reserved 2015 | Neo Technology, Inc.
  125. 125. Conditions sur des patterns MATCH (gene: Person)-[: ACTED_IN]->(movie), (n)-[: ACTED_IN]->(movie) WHERE gene. name= "Gene Hackman" RETURN DISTINCT n. name (Actors who worked with Gene Hackman) 3’ . 92.150 e V neold ICU All Rights Reserved 2015 | Neo Technology, Inc.
  126. 126. Conditions sur des patterns MATCH (gene: Person)-[: ACTED_IN]->(movie), (n)-[: ACTED_IN]->(movie) WHERE gene. name= "Gene Hackman" AND (n)-[: DIRECTED]->() RETURN DISTINCT n. name (Actors who worked with Gene and were directors) 3’ . 93150 e '7 neolij @ All Rights Reserved 2015 | Neo Technology, Inc.
  127. 127. Conditions sur des patterns MATCH (keanu: Person)-[: ACTED_IN]—>(movie), (n)—[: ACTED_IN]->(movie), (hugo: Person) WHERE keanu. name= "Keanu Reeves” AND hugo. name= ”Hugo Weaving” AND NOT (hugo)-[: ACTED_IN]->(movie) RETURN DISTINCT n. name (Actors who worked with Keanu, but not when he was also working with Hugo) 3’ . 94150 e V neold ICU All Rights Reserved 2015 | Neo Technology, Inc.
  128. 128. Wildcard matching sur les propriétés MATCH (matrix: Movie)<-[r: ACTED_IN]—(a) WHERE matrix. tit1e= ”The Matrix” AND a. name = ~ ”. *EmiI. *“ RETURN a 3’ . 95 /150 e V neold © All Rights Reserved 2015 | Neo Technology, Inc.
  129. 129. Lab cf, neoz. j © All Rights Reserved 2015 | Neo Technology, Inc.
  130. 130. Lab Who are the five busiest actors? MATCH (a: Person)-[: ACTED_IN]->() RETURN a. name, count(*) AS count ORDER BY count DESC LIMIT 5 cf, neoz. j © All Rights Reserved 2015 | Neo Technology, Inc.
  131. 131. Advancedlab © All Rights Reserved 2015 | Neo Technology, Inc. 97/150
  132. 132. Advancedlab Recommend 3 actors that Keanu Reeves should work with (but hasn't). MATCH (keanu: Person)-[: ACTED_IN]->()<-[: ACTED_IN]-(c), (c)-[: ACTED_IN]—>()<-[: ACTED_IN]-(coc) WHERE keanu. name= “Keav- New/9» AND coc <> keanu AND NOT((keanu)—[: ACTED_IN]->()<-[: ACTED_IN]-(coc)) RETURN coc. name, count(coc) ORDER BY count(coc) DESC LIMIT 3 Q"; neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  133. 133. Mise a jour du graphe avec Cypher 3* . 98 I 150 e V neold
  134. 134. La création de noeuds CREATE (p: Person {name ”Me”}) MATCH (p: Person) WHERE p. name= "Me“ RETURN p 3* . 99 I 150 e V neold © All Rights Reserved 2015 | Neo Technology, Inc.
  135. 135. Lab cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  136. 136. Lab Ajout du film "Mystic River” réalisé en 1993 CREATE (m: Movie {titIe: 'WIza: Rzxe , re1eased:1993}) cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  137. 137. Ajout de propriétés MATCH (movie Movie) WHERE movie. tit1e= “Mystic River“ / /add the property SET movie. tag1ine = “We bury our sins here, Dave. We wash them cle RETURN movie 3* . 101 150 e V neold © All Rights Reserved 2015 | Neo Technology, Inc.
  138. 138. Modification des propriétés MATCH (movie Movie) WHERE movie. tit1e= “Mystic River“ / /set the property SET movie. re1eased = 2003 RETURN movie 3’ . 102 I 150 e V neold © All Rights Reserved 2015 | Neo Technology, Inc.
  139. 139. Ajout de relations MATCH (movie Movie), (kevin: Person) WHERE movie. tit1e= “Mystic River“ AND kevin. name= "Kevin Bacon“ / /create the relationship MERGE (kevin)-[: ACTED_IN {roIes: [”Sean”]}]—>(movie) MATCH (kevin)-[: ACTED_IN]->(movie) WHERE kevin. name= "Kevin Bacon“ RETURN movie. title cf, neoz. j 103/150 © All Rights Reserved 2015 | Neo Technology, Inc.
  140. 140. Lab cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  141. 141. Lab Modifier le role de Kevin Bacon dans le film Mystic River de "Sean" a "Sean Devine" MATCH (kevin: Person)-[r: ACTED_IN]->(movie: Movie) WHERE movie. tit1e= “Wvs LI Rive AND kevin. name= “Key; u Ba<uI SET r. ro1es = [‘5eaI CEMLJE ] RETURN r. ro1es cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  142. 142. Lab cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  143. 143. Lab Approche alternative : garder les autres roles MATCH (kevin: Person)-[r: ACTED_IN]—>(movie: Movie) WHERE movie. tit1e= “Wvs 1: R19: AND kevin. name= “Keu; ; Eawci SET r. roIes = fi1ter(x in r. roles | x <> aear ) + ['ueaw Qeu: "e : RETURN r. ro1es cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  144. 144. Match ou Create : MERGE MERGE (p: Person {name: ”CIint Eastwood"}) RETURN p Garantie la creation unique 3* . 106150 e V neolij @ All Rights Reserved 2015 | Neo Technology, Inc.
  145. 145. Match ou Create : MERGE MERGE (p: Person {name: ”CIint Eastwood"}) ON CREATE SET p. created ON MATCH SET p. accessed RETURN p timestamp() coa1esce(p. accessed,0)+1 0 ON CREATE SET - exécuter lors de la creation o ON MATCH SET - exécuter lors du match @ All Rights Reserved 2015 | Neo Technology, Inc. 107 , ' 150 cf, neoz. j
  146. 146. Lab cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  147. 147. Lab Ajout de Clint Eastwood comme 'director' de Mystic River On vérifie que Clint Eastwood existe avant tout MERGE (p: Person {name: ‘ : .I, v"‘ }) ON CREATE SET p. born = 1930 MATCH (movie: Movie), (c1int: Person) WHERE movie. tit1e= ”I’» : 1Ie AND cIint. name= ' 1 _; r.W1. MERGE (Clint)-[: DIRECTED]->(movie) ct‘; neoz. j I: I All Rights Reserved 2015 | Neo Technology, Inc.
  148. 148. Lab cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  149. 149. Lab Lister tous les personnage du film "The Matrix" MATCH (matrix: Movie)<-[r: ACTED_IN]—(actor) WHERE matrix. titIe= “‘*e MaIc-I RETURN r. ro1es, actor. name cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  150. 150. Suppression de noeuds MATCH (emiI: Person) WHERE emi1.name= ”EmiI Eifrem" DELETE emil "Le noeud possede toujours des relations" 3’ . 110150 e V neold @ All Rights Reserved 2015 | Neo Technology, Inc.
  151. 151. Suppresion des relations MATCH (emiI: Person)-[r]-() WHERE emi1.name= “EmiI Eifrem" DELETE r 3* . 111I1s0 €V neold © All Rights Reserved 2015 | Neo Technology, Inc.
  152. 152. Suppression du noeud et des relations MATCH (emiI: Person) WHERE emiI. name= "Emi1 Eifrem" OPTIONAL MATCH (emil)-[r]-() DELETE emil, r 112/150 ’ neom © All Rights Reserved 2015 | Neo Technology, Inc.
  153. 153. Suppression de tous les noeuds et des relations Juste pour information . . a ne pas faire. MATCH (n) OPTIONAL MATCH (n)-[r]->() DELETE n, I“ (suppresion de tout le contenu en base de données) 3* . 113,I150 eV neold
  154. 154. Lab cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  155. 155. Lab Ajouter la relation KNOWS entre tous les acteurs du méme film MATCH (a: Person)-[: ACTED_IN]->()<-[: ACTED_IN]-(b: Person) MERGE (a)—[: KNOWS]-(b): Q7; neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  156. 156. Plus Cypher! © All Rights Reserved 2015 | Neo Technology, Inc. 115 l715O cf, neoz. j
  157. 157. Matching multiple de relation MATCH (a) - I : ACTED_IN| :DIRECTED] ->( )<— [ : ACTED_IN| :DIRECTED] - (b) MERGE (a) - [ : KNOWS] - (b) (Création de la relation KNOWS entre les acteurs et producteurs qui ont travaillé ensemble) 3* . 116150 e V neold @ All Rights Reserved 2015 | Neo Technology, Inc.
  158. 158. Variable length paths 3’ . 117 I150 €V neold © All Rights Reserved 2015 | Neo Technology, Inc.
  159. 159. Variable length paths The pa : :>@ 63-» —->@ @—*O-*0->® Ia)-[*1--3]->(b) :7”; neoqj
  160. 160. Les amis des amis MATCH (keanu: Person)—[: KNOWS*2]-(fof) WHERE keanu. name= "Keanu Reeves” RETURN DISTINCT fof. name 3’ . 118150 e V neold @ All Rights Reserved 2015 | Neo Technology, Inc.
  161. 161. Lab cf, neoz. j ID All Rights Reserved 2015 | Neo Technology, Inc.
  162. 162. Lab Retourner Ies amis des amis de Keanu Reeves (de niveau 2) MATCH (keanu: Person)-[: KNOwS*2]-(fof) WHERE keanu. name= “‘ . »-. ,e, AND keanu <> fof AND NOT (keanu)-[: KNOWS]-(fof) RETURN DISTINCT fof. name cf, neoqj ‘Er All Rights Reserved 2015 | Neo Technology, Inc.
  163. 163. Bacon Number! MATCH p= shortestPath( (char1ize: Person)—[: KNOWS*]—(bacon: Person) ) WHERE char1ize. name= ”Char1ize Theron” AND bacon. name= "Kevin Bacon“ RETURN 1ength(re1s(p)) 3* . 120/150 e *1 neold © All Rights Reserved 2015 | Neo Technology, Inc.
  164. 164. Lab cf, neoz. j © All Rights Reserved 2015 | Neo Technology, Inc.
  165. 165. Lab Retourner Ies noms des gens qui mettent en relation Charlize et Kevin. MATCH p= shortestPath((char1ize: Person)-[: KNOWS*]-(bacon: Person)) WHERE char1ize. name= “i 4 : ;: c u AND bacon. name= “<», ; : ar-i RETURN [n in nodes(p) | n. name] AS names; cf, neoz. j I9 All Rights Reserved 2015 | Neo Technology, Inc.
  166. 166. © All Case Studies Rights Reserved 2015 | Neo Technology, Inc. 122/150
  167. 167. ll. ’ I I H I P = . " H DRW TRADING GROUP 0 N L I N E G All Rights Reserved 2015 Neo Technology, Inc. Customers I21’ | °2'. ';e's% moziua| viodeo‘| r(te: enor | 9 | fif§f_¢§; ‘-=3ff Lufthansa > accenture IIIII Pitney Bowes / fl '"'°12.*: .a. o| /11?» | teachscape " and more. a. neoL. j 123/150
  168. 168. Cisco Industry: Contrnunicutions . I‘I. I'I. Usecasckccnrnmendanorrs San lose. CA C I S C O Cisco. com I Gscocorn serves customer and business customers with Support Services I Needed real-time recornmendacionmo encourage use of online knowledge base I Gsco had been successfully using Neo4j for its internal master data imnagement solution. I Identified a strong fit (or online recommendations I all center volumes needed to be lowered by improving die efficacy of online I Cases. solutions. articles. etc. continuously scraped ior cross-relerence iinks. a:id self service represented in Neo4j I Leverage large amounts of knowledge stored in service uses. so| ulJ'ons. I Real-dme reading recornmendalions via Neo4j articles forums. etc. I Neo4j Eriterprise with HA cluster I Problem resolution times. as well as support costs. needed to be lowered I The result: customers obtain help faster. with decreased reliance on customer support 3* . 124150 e *1 neollj 161 All Rights Reserved 2015 | Neo Technology, Inc.
  169. 169. Cisco Industry: Curimunicutions . I N I 3 I ' I . Usecase: M¢merDataMonugemcnt Sanjasc. CA c'5c° Cisco HMP Ml Global 1W0. $443 In annual tales. perlortnant way One of the world's largest communications equipment manuhcturers Needed a system that could accommodate its master data hierarchies in I HMP is a Master Data Management system at whose heart is Neo4i. Dal: access services avallable 24x7 to wplicatlons companywide - Sales compensation system had become unable to meet Ono’: needs ' Existing Oracle RAC system had reached its limit: - lnsufficient llexbiluy for handling complex organizational hierarchies and '"iPPl"8’ - "Real-time" queries were taking > I minute! 0 Business-criu'cal “Pl" system needs to be continually avai| al: |e. with zem dwmtine ‘C1 All Rights Reserved 2015 | Neo Technology, Inc. 125 J 150 Cisco created a new systenuthe Hierarchy Management Platform (HMP) Alows Gsco to manage master data centnIy. and centralize data access and business mles Neo4j provided "Minunes to Milliseconds" perlormance aver Oracle RM2. serving Imster data in real time The graph database model potwided exactly the flatibility needed to support Cisco‘: business rules HMP so successful that it has expanded to hclude product hierarchy cf, neoqj
  170. 170. Accentu re Industry: Logistics Use case: fired Routing > accenture 0 One of the world's largest logimlcs carriers ' Projected to outgrow cwacity of old system 0 New partel routing system - Single source cl truth for entire network 0 BIC A BIB parcel tracking * ‘V. I Real-time routing: up to SM parcels per day I"! 14x7 availability. year round Neo4j provides the ideal domain fit: Peak loads ol 7.500s‘ parcels per second ' a logistics network is a graph Complex and diverse software stack Need predictable performance It linear scalability Daily changes to logistics network: route from any polnnto any point Extreme availability I performance with Neo4j clustering Hugely sirn plifved queries. vs. relational ior complex routing Flexible data model can reflect real-world data variance much better than relational "Whiteboard friendly" model easy to understand cf, neoz. j 120“ l5O it] All Rights Reserved 2015 | Neo Technology, Inc.
  171. 171. Adobe ' ' Industry: WebIl5V A Use case: Content Management Sotialkcccst Control I ‘ . l Sanjosc. CA Adobe Adobe User-Content-Access Graph I One of the ten largest software companies globally ' 543* in revenue. Over H.000 employees. I Launched Creative Cloud in IOII. allowing its Creative Suite users to collaborate via the Cloud I Adobe needed a hiyily robust and available. 14x7 distributed global system. I Selected Neo4j to meet very aggressive project dead| ines. The flexibility ol the graph supporting collaboration for users of its highest revenue product line mode| .and perfonriance. were the two major selection factors. I Storing creative artifacts in the cloud meant managing access rights for I Esily evolve the system to meet tomorrow's needs (eventually) fTIllll0IS of users. groups, collections. and pieces of content I Extremely high availability and transactional performance requirements. 24x7 with no I Complex access control rules controlling who was connected to whom. and downtime. who could see or edit what. proved a signficant technuzl challenge I Neo4j allows consistently fast response times with complex queries. even as the system grows I First (and possibly still only) database cluster to run across threeAmazon EC2 regions: U5, Europe. Asia cf, neoqj iéi All Rights Reserved 2015 | Neo Technology, Inc.
  172. 172. Glassdoor industry: Online job Search use case: Social! Rcmmmerrdofiom D 9l°5"°°'~°°"‘ Sausaliro. ca GlassDoor 0 Online jobs and career community. providing anonymlred Inside Inlormazion to iol: seekers - Wanted to leverage known fact that most jobs are found through personal I Fim-ro-rmrlcet wilt: a produa that in users find fob: rhroudi their network ol proiesxional connections Fuebook friends - Needed no reiy on an existing source cl social network data. Facebookwas - job recommendadons served real-time from Neo4j the ideal choice. - Individual Facebook graphs irnporeed real-time into Neo4j 0 End users needed to get instant gratification - Aining to have the best job search service. in a very comperitive marker Glassdoor now score: > 50% of the entire Faceboolr social graph Neo4j cluster has grown seamlessly. Willi new instances being brouyr: online as graph size and load have increased 3* . 128 J 150 e *1 neolll ‘C1 All Rights Reserved 2015 | Neo Technology, Inc.
  173. 173. 4 ’ lndusrryc Web! l$V. Corrirnurlicorions ‘ 1 Use case: Network Management ' Global (U. S.. France) . . Hewlett Packard World's largest provider of IT infrastructure. software A services 0 HFs Unified Correlation Analyzer (UCA) application is a Icy application inside HP: O$SAssurance portfolio - Carrier-class resource I service rnanagernenv. problem determination. root cause In service Impact analysis - Helps communications operalzon manage large. complex and fast changing networks 0 Use network topology Iniorrnation to identify root problems causes on the network 0 Simplify alarm handling by human operator: I Automate handling of certain types of alarms Help operators respond rapidy no network issues - filterlgrowleliminate redundant Network Management System alarms by event correlation Accelerated product development time Btlremely fast querying of network topology Graph representation a perfect domain fit 24x7 carriengrade reliability with Neo4j HA clustering Met objective in under 6 months 3* . 129 J 150 e *1 neolll ‘C1 All Rights Reserved 2015 | Neo Technology, Inc.
  174. 174. Junisphere industry: WebIISV. Carnrnunicatiorrs 3 Use case: Data Center Management ‘ , Zurich. Switterland junisphere I junisphercfifi is a Zurich-based IT solutions provider I Founded in 100i . Profnabie. Seiffunded. I Software ll. services. I Ntwel approach to infrastructure monitoring: Starts with the end user. mapped to business processes and services. and dependuit infrastructure I "Business Service Management" requires mapping of complex graph. cavering business processes-> business services--> IT infrastructure I Embed capabilityof storing and retrieving this information into OEM applcation I Re-architecting outdated CH application based on relational daI: baae. w‘nh java it] All Rights Reserved 2015 | Neo Technology, Inc. 1303150 aim-nu-coy 3.». .. pm. .. us- Ivbrvti . ... .. . ... ~--. .. in: IV oowzo Monlvtnoai mu. uuwmm ~ , i._. .,. .. Business oRea| ity I Actively sought out alava-based solution that could store data as a graph I Domain model is reflected directly in the database: I ‘No time lost in translation“ I “Our business and enterprise consultants now speak the same | anguage. and can model the domain with the database on a Izl ratio” I Spring Data Neo4j strong fit forjavs architecture cf, neoqj
  175. 175. Maaii g Industry Cornmunicationt — U1 : Sod l. M brie mo C. ‘I H: n:: :ang a 0 r l . Maaii 0 Hong Kong based telephony inlrastmasure provider (aka M800 aka Pop Media) 0 Exclusive China Mobile partner for international toll-lree services. SMS Hub & other offerings 0 20l2 Red HerringTop lw Global Vlfinner - Quick transactional performance lor key operations: ' friend suggestions ("Iriend of friend”) - updating contacts. blocking calls. etc - etc. - High availability telephony app uses Neo4j clustering - Strong architecture fit: Scala wINeo4j embedded - launched a new mobile communication app "Maaii" allowing consumers In communicate by voice 8. text (Similar to Une. Viber. Rebte| .VoxO1L. .) - Needed to more In relate devices. users. and contact: 0 Import phone nurnben lrvom users’ address books. Rapidly serve up contact: lrorn central database to the mobile app - Currently around 3M users wI200M nodes in the graph cf, neoqj P. LA] >— 3150 mi All Rights Reserved 2015 | Neo Technology, Inc.
  176. 176. Seven Bridges Genomics Industry: Life Sciences use case: ConlerItMumgernenl Cambridge. Massachusetts Sevenfiridges Genomics I Bioinlormatics company offering gene sequencing ‘as a service‘ (over die web) 0 Provider of genomic information services I Needed a new platform to support snorage l retrieval of sequenced genomes in the cloud - I Neo4j is used to store metadata about each sequenced genome (including a - Domain fit pointer to the sequenced genome itseif. which is a binary file stored on ° Domain naturally lends itself to a gaph representation. Amazon 53). and to support search and otherforms of information processing I Graph model determined to be a perfect fit against the genomic data. I Agility 4!. Performance 0 graph database was chosen because“Our tpeciflc domain maps naturally onto 0 Saved dine with Neo4j as compared to the aiternatives. graph paradigm". ' Oueries"practialIy write themselves. “ a Solution Completenets I “Neo4i is incompanbly better than other graph databases” 3* . 1323150 QV neollj ‘C1 All Rights Reserved 2015 | Neo Technology, Inc.
  177. 177. Industry Cornrnunirations Use case: Network Munagernall Paris. France SFR I Second largest communications company in France I Part o4Vniendl Group. partnering with Vodafone I Infrastructure maintenance took one full week to plan. because of the need to model network Impacts I Needed rapid. automated "what W‘ analysis to ensure resilience during Flexible network inventory management system. to support modeling, aggregation Ii troubleshooting I Single source of truth (Neo4j) representing the entire network unplanned network outages I Dynamic system loads data from 30* system. and allows new applications to access I Identify waknesses in the network to uncover the need for additional network data redundancy I Modeling efforts greatly reduced because oldie near l: l mapping between the real I Network information spread acros > 30 systemzwith filly changes to worid and the raph network infrasn-ucnire I Business needs sometimes changed very rapidly I Flexble schana hihly adaptable to cltnnglng business requiranems 133/150 ’ neollj © All Rights Reserved 2015 | Neo Technology, Inc.
  178. 178. Teachscape Industry: Education use case: ResourceAuthorI‘zao‘on LAwess Carnrul l" '< l‘'-‘ ’l" San Francisco. CA Teachscape - Teachscape. Inodevelope online learning tools Ior K-I1 ueachen. school principals and other insr. ruct: '-onal leaders. 0 Teachscape evaluaned rehclonal as an optiomconsldering MySQL and Oracle. - Neo4j was selected because the graph data model provides a more natural lit for managing organtionsl hierarchy and access to assets - Neo4j was selected to be at the heart ola new architecture. ' The user management system centered around Neo4j. wil| be used to support single sign-on. user management. contract management. and end-user access to their subscription entitlements . Duncan -:4 ted-mien fl: - mp: dwnirn model where the reiauo-mp: are rurndy nun. Sconavy lxuan Indoded awpon aw vansu-oorta. Iv°I| |P"| lovers use mu unolomenad lueene -mu-1 nuqmm . Spend nu nu-any - 1». flnnesl mum an bar‘ as: In aw (sample: walks aalcllly and efficbustly. mt was a ma. » new in he um-on to me Need‘. . End‘ of Use - aceornrvmaane die-was access lor ran. grown and urwraereul olhne not warm. as new is ad rm .4». (nnrn: lnlllbllq A pang-wunu vnvt Nu-A1 elulhrwj mp, mpwoa mun, UL rdanoml for cu-gun mm. Rouble In: modd can reflect real vrwlfl um -vlsnu mud: mm nun rdauarul -wnngaum timely’ mod! easy ua undwswd 3* . 134150 e *1 neollj ‘C1 All Rights Reserved 2015 | Neo Technology, Inc.
  179. 179. Deutsche Telekom Industry Cornrnunicatiens Use case: Social gaming T Franldurt. Germany Deutsche Telecom _ _ _ _ Interactive Television Programming - Europe's largest communications company ' Provider of mobile & land telephone lines to consumeis and businesses. as well as internet services. television. and other services }236D00 50} ?58bn. € The Fanoraltel application alows lans to have an Interactive experience while Interactive. social olferlng gives fans a vray to experience the game more closely watching sport: ' Increased customer stickiness ior DeutscheTele| ¢am - Fans can vote ior referee decisions and interact with other lans watching the - A completely new channel for reaching customers with information. promotions. and game ads Highly connected dataset with real-time updates Queries need to be served real-time on rapidly changing data One technical challenge Is to handle the very high spikes ol activity during Popular times Clear competitive advantage cf, neoz, j l35,‘lbO ‘C1 All Rights Reserved 2015 | Neo Technology, Inc.
  180. 180. Telenor Industry: Carrvnunications A use case: Resource Authorization A. Access Control telenor Oslo. Norway o Tel eno r usLa_Acc§s - Iorh largesflelco provider in the world. leading in the Nordic: W"-°' ' Online sell-serve system where large business admins manage employee subscriptions and phns - Mission—cr1'tica| system whose availability and responsiveness is critical to c°, ..“o‘_, _[, _,_, ,, customer satisfaction Degrading relational performance. User login taking minutes while system retrieved access rights Moved authorisation funttlonalhy lrorn Sybase to Neo4j Modeling the resource graph in Neo4j was stnfihtiorward. as the domain is Milions of plans. customers. admins. grows. inherently a gnph Highly Interconnected data set wlmassive ]o| ns Able to retire the batch process. and move to real-tirne responses: measured in Nightly batch workaround solved the performance problem. but meant data milliseconds was no longer current Users able to see fresh data. not yesterdafs snapshot ° Primary system was Sybase. Batch pre-compute workaround pro| ected to Customer retention risks fully mitigated reach 9 hours by ZOI4: longer than the nightly batch window 3* . 1363150 e *1 neolll ‘C1 All Rights Reserved 2015 | Neo Technology, Inc.
  181. 181. Viadeo Industry: Professional Socid Network Use case: Social. Recornrnendrnions Viodeo Silicon Valley A France Viadeo viodeo 0 World's second-largest prolessional network (alter Linlredln) u. 0 SOM members. 30l(+ new members daily. - Over 400 stall with ollices in II countries - Business inperative lor real-tine recornmendationsrto attract new users and retain existing ones - Key dilierenoator: show members how they are connected to any other Neo4j solution implemented In 8 weeks with 3 part-tlme programmers Able to move lrom batch to real-time: improved responsiveness with up-to-date data. Viadeo (at the time) had 8M members and 35M relau'onsh'ps. member - Neo4j cluster now sits at the heart of Vladeo‘s professional network. connecting 50M 0 Real-time traversal: oi social graph not leasible with MySQL duster. Batch + professionals precompute meant stale data. 0 Process taking longer]: longer: > I week! 3* . 13/3150 £9 neolll ICU All Rights Reserved 2015 | Neo Technology, Inc.
  182. 182. Learn More about Using | Ieo4j 3* . 138/150 e ‘:7 neolll
  183. 183. Graph Academy htl: p'. //gra. phacademy. com 0 Online Courses 0 Classroom Training like this one o On Site Brown-Bag Lunches (Lunch & Learn) 0 Webinars 0 Graph Days (free) 0 Graph Connect Conferences 139/150 ’ neollj
  184. 184. Neo4jBooks 0 Graph Databases 0 O’Reil| y: I. Robinson, J. Webber, E. Eifrem 0 Learning Neo4j o Packt: Rik van Bruggen o Neo4j in Action 0 Manning: Partner, Watts, et. a| 0 Practical Neo4j cf, neoz. j rved201E(>)| Na)ATeRI<! ToS§c. S: Greg J°’d3fi/ we
  185. 185. Talk to us! 0 Have an interesting project, use—case? 0 We can help you promote it with articles, talks, webinars o Wrote a tool, library, connector? 0 We love to make it known in our community 0 Have questions about licensing & pricing? o Reach out with your questions, we help you clarify 0 Want to work on Neoglj? gneoqj © All Rights Reserved 2015 | Neo Technology, Inc mu. .: '1:. __. .._. .. ---| _-| -- _-| ---- -_-_-| _
  186. 186. Business & Production Offers 0 Neo4j Enterprise (faster, scalable, supported) 0 Service & Support (24/7 and other SLAs) o Workshops, On—Site Training, Proof of Concept 0 Dedicated Consulting 0 Huge Partner Network 0 We don't bite, ping your local rep for a relaxed chat 3* . l-123150 e '7 neollj
  187. 187. Get Involved in the lIeo4j Community 3* . 143/150 e V neold
  188. 188. GraphGists: Share your Graph 0 Have a great idea / use—case for Neo4j? 0 Model it as a GraphGist 0 Submit it to our GraphGist Portal 0 Share on Twitter and elsewhere 0 Participate in our regular challenges! 3’ . 1-14 x 150 e V neollj
  189. 189. ileo4j Developer Pages Developer Section on neo4j. com/ developer. Covers: 0 Intro to Graphs, RDBMS to Graphs 0 Data Import & Data Modeling 0 Language Guides & Drivers 0 Visualization o Neo4j Ecosystem 3’ . 1.15 x150 E '7 neold
  190. 190. Ask Questions Get Helpful Answers stack overflow Gimub Issues Neo4j Google Group Meetups I User Groups 9 <@ * Share your experiences and expertise Neodj meetups are worldwide. Make a Find answers or reach to fellow Encountered an issue wim Neo4j? with fellow graphistas. connection or start a new group. developers with questions. submit it here, Join now_ Join a Meemp _ Ask Neo4j questions 2 146/150 9 neollj All Rights Reserved 2015 | Neo Technology, Inc.
  191. 191. Ask Questions Get Helpful Answers stack over-flow GItI, IuI, Issues Neo4j Google Group Meetups / User Groups e‘ Sh y experiences and expertise Neodg meetups are worldwide. Make a Find answers or reach to fellow Encounrgred an issue wirh Neo4j? with fellow graphistas. connection or start a new group. developers with questions. Submit it here, Iain "OI" Iain a Meetup , Ask Neo4j questions it Quick Links 0 http; //stackoverflow. com/ questions/ tagged/ neo4 o http; //github. com/ neo4j/ neo4j/ issues o httpL/ /groupsgooglecom/ group/ neo4j o httpd/ neo4Lmeetup.1eom1 9“e04«J
  192. 192. The Graphistas Map Graphistas World Map ~17? I‘ 0~ Add yourelf to the graphistas world map and let it become a smaller place. Add yourself no Add yourself to our growing worldwide map of Graphistas. .neoz. j - . 147/150 I
  193. 193. Thank You Benoit Simard benoit. simacd@neotecl1nology com | @neo4j
  194. 194. (graphs)—[: ARE]+(everywhere) 3* . 149/150 e '1 neold
  195. 195. Status of the presentation Cypher queries execution 3* . 150150 e V neollj

×