What this book covers
Chapter 1, Graphs Are Everywhere, introduces you to the logical data representation of a property graph model, the various use cases of graph databases, and the advantages of using graph databases in general and Neo4j in particular.
Chapter 2, Modeling Flights and Cities, introduces you to basic modeling in Neo4j by discussing how flights and cities can be modeled in a graph database. We then create cities and flights in Neo4j using Cypher.
Chapter 3, Formulating an Itinerary, discusses some basic querying using Cypher for the purpose of creating a light itinerary from the existing data in Neo4j.
Chapter 4, Modeling Bookings and Users, discusses how to represent, in a graph database, a data model that is traditionally implemented in a RDBMS by modeling bookings in Neo4j.
Chapter 5, Refactoring the Data Model, covers refactoring the data model to accommodate changes in the business using Cypher. We do this as a multistep process and demonstrate how simple it is in Neo4j to change the data model.
Chapter 6, Modeling Communication Chains, discusses how communication chains can be modeled in Neo4j. This also covers how we can represent temporal relationships using this modeling technique, which allows for efficient retrieval of data while maintaining the integrity of the relationships between various pieces of information.
Chapter 7, Modeling Access Control, focuses on how access control lists can be modeled in Neo4j. This also discusses how hierarchies and groups can be modeled in Neo4j.
Chapter 8, Recommendations and Analysis of Historical Data, demonstrates the construction of queries to recommend cities and hotels to travelers using the data that we have in the database. This also analyzes some historical data to discover patterns in the database. This chapter demonstrates queries that would normally require some heavy lifting in an RDBMS.
Chapter 9, Wrapping Up, is the final chapter and talks about potential issues that you might run into while using Neo4j or a graph database, and also how modeling for a current problem isn't future-proof.