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

Great changes


When great changes are coming, you have to be prepared. Being philosophical, one could say know where you are and know where you go.

Know your model

To know where you are is to know your actual model. A previous feature of the APOC plugin, showing your meta-model as a graph is now a default feature of Neo4j and Cypher:

CALL db.schema()

As it is an instant view of your schema, I advise you to save this representation of your schema:

How to export a view of the schema

Export both formats. You can print the PNG image to use as a basis for your new modeling, while the CSV lists all the properties.

 We will now see a panorama of the types of changes that you may have to perform.

Refactoring tools

To refactor our graph, we have two tools at our disposal. The first is standard Cypher and the second is APOC--in particular, the apoc.refactor package of procedures. Also mandatory is concentration and data backup, but you already know that.

Property to label

To add a label to a node based on a...