15
3. Introduction to Cypher ........................................................................................................................ 16
3.1. Background and Motivation ..................................................................................................... 17
3.2. Graphs, Patterns, and Cypher .................................................................................................. 18
3.3. Patterns in Practice ................................................................................................................... 21
3.4. Getting the Results You Want ................................................................................................... 26
3.5. How to Compose Large Statements ......................................................................................... 30
3.6. Labels, Constraints and Indexes ............................................................................................... 32
3.7. Loading Data ............................................................................................................................. 34
3.8. Utilizing Data Structures ........................................................................................................... 37
3.9. Cypher vs. SQL .......................................................................................................................... 40
4. Use Cypher in an application .............................................................................................................. 46
5. Basic Data Modeling Examples ........................................................................................................... 47
5.1. Movie Database ......................................................................................................................... 48
5.2. Social Movie Database .............................................................................................................. 50
5.3. Finding Paths ............................................................................................................................. 52
5.4. Linked Lists ................................................................................................................................ 56
5.5. TV Shows ................................................................................................................................... 58
6. Advanced Data Modeling Examples .................................................................................................... 62
6.1. ACL structures in graphs .......................................................................................................... 63
6.2. Hyperedges ................................................................................................................................ 67
6.3. Basic friend finding based on social neighborhood ................................................................. 69
6.4. Co-favorited places ................................................................................................................... 70
6.5. Find people based on similar favorites .................................................................................... 72
6.6. Find people based on mutual friends and groups ................................................................... 73
6.7. Find friends based on similar tagging ...................................................................................... 74
6.8. Multirelational (social) graphs ................................................................................................... 75
6.9. Implementing newsfeeds in a graph ........................................................................................ 76
6.10. Boosting recommendation results ......................................................................................... 79
6.11. Calculating the clustering coefficient of a network ................................................................ 80
6.12. Pretty graphs ........................................................................................................................... 81
6.13. A multilevel indexing structure (path tree) ............................................................................. 85
6.14. Complex similarity computations ........................................................................................... 89
6.15. The Graphity activity stream model ....................................................................................... 90
6.16. User roles in graphs ................................................................................................................ 92
7. Languages ............................................................................................................................................ 96
7.1. How to use the REST API from Java ......................................................................................... 97