Book Image

Learning Neo4j 3.x - Second Edition

By : Jerome Baton
Book Image

Learning Neo4j 3.x - Second Edition

By: Jerome Baton

Overview of this book

Neo4j is a graph database that allows traversing huge amounts of data with ease. This book aims at quickly getting you started with the popular graph database Neo4j. Starting with a brief introduction to graph theory, this book will show you the advantages of using graph databases along with data modeling techniques for graph databases. You'll gain practical hands-on experience with commonly used and lesser known features for updating graph store with Neo4j's Cypher query language. Furthermore, you'll also learn to create awesome procedures using APOC and extend Neo4j's functionality, enabling integration, algorithmic analysis, and other advanced spatial operation capabilities on data. Through the course of the book you will come across implementation examples on the latest updates in Neo4j, such as in-graph indexes, scaling, performance improvements, visualization, data refactoring techniques, security enhancements, and much more. By the end of the book, you'll have gained the skills to design and implement modern spatial applications, from graphing data to unraveling business capabilities with the help of real-world use cases.
Table of Contents (24 chapters)
Title Page
Credits
About the Authors
Acknowledgement
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface

Explain and profile instructions


Explain and profile are the two Cypher instructions that will help us get facts where we see possible performance issues.

Explain will give you the execution plan of your query without executing it, while profile will execute the query and return results.

The execution plan is not determined by a hitman but out of the text defining the query by a component of Cypher named the planner; there are two planners: cost planner and rule planner. Cost planner is used by default; it appeared in version 2.2. Its action is to smoothly turn a text into a list of operators (remember this name).

A query plan

To illustrate, here is an example of a query plan, which reads from top to bottom. You can see the related query in the image; it is based on the Movies dataset that is available if you follow the slides tied to the :play movies command:

A short execution plan

The first operator is NodeByLabelScan because I mentioned the labels. If I drop them, the execution plan becomes...