Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Learning Neo4j 3.x
Learning Neo4j 3.x

Learning Neo4j 3.x: Effective data modeling, performance tuning and data visualization techniques in Neo4j , Second Edition

Arrow left icon
Profile Icon Van Bruggen Profile Icon Jerome Baton
Arrow right icon
€22.99 €32.99
Full star icon Full star icon Full star icon Full star icon Empty star icon 4 (7 Ratings)
eBook Oct 2017 316 pages 2nd Edition
eBook
€22.99 €32.99
Paperback
€41.99
Subscription
Free Trial
Renews at €18.99p/m
Arrow left icon
Profile Icon Van Bruggen Profile Icon Jerome Baton
Arrow right icon
€22.99 €32.99
Full star icon Full star icon Full star icon Full star icon Empty star icon 4 (7 Ratings)
eBook Oct 2017 316 pages 2nd Edition
eBook
€22.99 €32.99
Paperback
€41.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€22.99 €32.99
Paperback
€41.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Learning Neo4j 3.x

Getting Started with Neo4j

In this chapter, we will be taking a much closer look at the real subject of this book, that is, learning Neo4j--the world's leading graph database. In this chapter, we will be going through and familiarizing ourselves with the database management system so that we can start using it in the following chapters with real-world models and use cases.

We will discuss the following topics in this chapter:

  • Key concepts and characteristics of Neo4j
  • Neo4j's sweet spot use cases
  • Neo4j's licensing model
  • Installing Neo4j
  • Using Neo4j in the cloud
  • Using Neo4j Sandbox
  • Using Neo4j in a Docker container

Let's start with the first topic straightaway.

Key concepts and characteristics of Neo4j

Before we dive into the details of Neo4j, let's take a look at some of the key characteristics of Neo4j as a graph database management system, specifically. Hopefully, this will immediately point out and help you get to grips with some of the key strengths as well.

Built for graphs from the ground up

Like many open source projects and open source NoSQL database management systems, Neo4j came into existence for very specific reasons. Scratching the itch, as this is sometimes called. Grassroots developers who want to solve a problem and are struggling to do so with traditional technology stacks decide to take a radical, new-found approach. That's what the Neo4j founders did...

Sweet spot use cases of Neo4j

Like with many software engineering tools, Neo4j, too, has its sweet spot use cases--specific types of uses where the tool really shines and adds a lot of value to your process. Many tools can do many things, and so can Neo4j, but only a few things can be done really well by a certain tool. We have already addressed some of this in the previous chapter. However, to summarize specifically for the Neo4j database management system, I believe that there are two particular types of cases, featuring two specific types of database queries, where the tool really excels.

Complex join-intensive queries

We discussed in the previous chapter how relational database management systems suffer from significant...

The features

Neo4j offers different feature sets for different editions of the graph database management system:

  • Community Edition: This is the basic, fully functional, high-performance graph database.
  • Enterprise Edition: This adds a number of typical Enterprise features to
    the Community Edition: clustering (for high availability and load balancing), advanced monitoring, advanced caching, online backups, and more. Neo Technology has a number of additional features lined up on the Enterprise Edition road map.

Most users of Neo4j start off with the Community Edition, but then deploy into production on the Enterprise Edition.

Since Enterprise Version 3.2, it is possible to deploy Neo4j as a cluster between different data centers, possibly on different continents, and still ensure that the transactions are ACID.
...

The license conditions

For the slightly more complicated bit, Neo Technology has chosen very specific licensing terms for Neo4j, which may seem a tad complicated but which actually really support the following goals:

  • Promoting open source software
  • Promoting community development of Neo4j
  • Assuring long-term viability of the Neo4j project by providing for a revenue stream

This is achieved in the following ways:

  • The Community Edition uses the GNU Public License Version 3 (GPLv3)
    as its licensing terms. This means that you may copy, distribute, and modify the software as long as you track changes/dates of in-source files and keep modifications under GPL. You can distribute your application using a GPL library commercially, but you must also provide the source code. It is therefore a very viral license and requires you to open source your code--but only if your code directly...

Installing Neo4j

In this section, we will take you through the first couple of steps that you need to take to get started with Neo4j. These steps are quite a bit different on different platforms; therefore, we will be going through the different options one by one and looking at the common steps. For most, this will be a simple step, but it's an important one that we cannot afford to skip.

Installing Neo4j on Windows

Like on any platform, installing Neo4j starts with downloading the latest version from the Neo4j website, http://www.neo4j.org/download, where the most recent versions can be found (see the following picture):

Download Neo4j for Windows
Currently, interfacing with Neo4j is best done with a webkit-based browser...

Using Neo4j in a cloud environment

In this section, we are going to address a third and alternative way of getting started with the Neo4j graph database management system--using a cloud solution. As it turns out, you can try out the power of the database solution without even having to go through the previously mentioned steps of installing the product on an operating system of your own. You can just use a graph as a service solution; there are multiple providers out there. At the time of writing this, you can use solutions from the following:

  • GrapheneDB
  • Heroku
  • GraphStory
  • GraphGrid
  • Azure
  • A roll your own solution on CleverCloud, OVH, Google Cloud Platform, OpenShift, Amazon Web Services (AWS), and so on, is possible as well
Consider a hosting provider allowing you to use Docker, so you may roll your own image. More details on Docker installation later in this chapter.

Therefore...

Key concepts and characteristics of Neo4j


Before we dive into the details of Neo4j, let's take a look at some of the key characteristics of Neo4j as a graph database management system, specifically. Hopefully, this will immediately point out and help you get to grips with some of the key strengths as well.

Built for graphs from the ground up

Like many open source projects and open source NoSQL database management systems, Neo4j came into existence for very specific reasons. Scratching the itch, as this is sometimes called. Grassroots developers who want to solve a problem and are struggling to do so with traditional technology stacks decide to take a radical, new-found approach. That's what the Neo4j founders did early in the 21st century--they built something to solve a problem for a particular media company in order to better manage media assets.

In the early days, Neo4j was not a full-on graph database management system; it was more like a graph library that people could use in their code...

Sweet spot use cases of Neo4j


Like with many software engineering tools, Neo4j, too, has its sweet spot use cases--specific types of uses where the tool really shines and adds a lot of value to your process. Many tools can do many things, and so can Neo4j, but only a few things can be done really well by a certain tool. We have already addressed some of this in the previous chapter. However, to summarize specifically for the Neo4j database management system, I believe that there are two particular types of cases, featuring two specific types of database queries, where the tool really excels.

Complex join-intensive queries

We discussed in the previous chapter how relational database management systems suffer from significant drawbacks, as they have to deal with more and more complex data models. Asking these kinds of questions of a relational database requires the database engine to calculate the Cartesian product of the full indices on the tables involved in the query. This computation can...

The features


Neo4j offers different feature sets for different editions of the graph database management system:

  • Community Edition: This is the basic, fully functional, high-performance graph database.
  • Enterprise Edition: This adds a number of typical Enterprise features tothe Community Edition: clustering (for high availability and load balancing), advanced monitoring, advanced caching, online backups, and more. Neo Technology has a number of additional features lined up on the Enterprise Edition road map.

Most users of Neo4j start off with the Community Edition, but then deploy into production on the Enterprise Edition.

Note

Since Enterprise Version 3.2, it is possible to deploy Neo4j as a cluster between different data centers, possibly on different continents, and still ensure that the transactions are ACID.

The support

Different support channels exist for Neo4j's different editions:

  • The Community Edition offers community support. This means that you are welcome to ask questions and seek support...

The license conditions


For the slightly more complicated bit, Neo Technology has chosen very specific licensing terms for Neo4j, which may seem a tad complicated but which actually really support the following goals:

  • Promoting open source software
  • Promoting community development of Neo4j
  • Assuring long-term viability of the Neo4j project by providing for a revenue stream

This is achieved in the following ways:

  • The Community Edition uses the GNU Public License Version 3 (GPLv3) as its licensing terms. This means that you may copy, distribute, and modify the software as long as you track changes/dates of in-source files and keep modifications under GPL. You can distribute your application using a GPL library commercially, but you must also provide the source code. It is therefore a very viral license and requires you to open source your code--but only if your code directly interfaces with the Neo4j code through the Java API. If you are using the REST API, then there are little or no contamination...
Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Get acquainted with graph database systems and apply them in real-world use cases
  • Use Cypher query language, APOC and other Neo4j extensions to derive meaningful analysis from complex data sets.
  • A practical guide filled with ready to use examples on querying, graph processing and visualizing information to build smarter spatial applications.

Description

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.

Who is this book for?

This book is for developers who want an alternative way to store and process data within their applications. No previous graph database experience is required; however, some basic database knowledge will help you understand the concepts more easily.

What you will learn

  • 1) Understand the science of graph theory, databases and its advantages over traditional databases.
  • 2) Install Neo4j, model data and learn the most common practices of traversing data
  • 3) Learn the Cypher query language and tailor-made procedures to analyze and derive meaningful representations of data
  • 4) Improve graph techniques with the help of precise procedures in the APOC library
  • 5) Use Neo4j advanced extensions and plugins for performance optimization.
  • 6) Understand how Neo4j s new security features and clustering architecture are used for large scale deployments.

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Oct 20, 2017
Length: 316 pages
Edition : 2nd
Language : English
ISBN-13 : 9781786460080
Vendor :
Neo Technology
Category :
Languages :
Concepts :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Oct 20, 2017
Length: 316 pages
Edition : 2nd
Language : English
ISBN-13 : 9781786460080
Vendor :
Neo Technology
Category :
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 103.97
Neo4j Graph Data Modelling
€24.99
Neo4j Cookbook
€36.99
Learning Neo4j 3.x
€41.99
Total 103.97 Stars icon
Banner background image

Table of Contents

16 Chapters
Graph Theory and Databases Chevron down icon Chevron up icon
Getting Started with Neo4j Chevron down icon Chevron up icon
Modeling Data for Neo4j Chevron down icon Chevron up icon
Getting Started with Cypher Chevron down icon Chevron up icon
Awesome Procedures on Cypher - APOC Chevron down icon Chevron up icon
Extending Cypher Chevron down icon Chevron up icon
Query Performance Tuning Chevron down icon Chevron up icon
Importing Data into Neo4j Chevron down icon Chevron up icon
Going Spatial Chevron down icon Chevron up icon
Security Chevron down icon Chevron up icon
Visualizations for Neo4j Chevron down icon Chevron up icon
Data Refactoring with Neo4j Chevron down icon Chevron up icon
Clustering Chevron down icon Chevron up icon
Use Case Example - Recommendations Chevron down icon Chevron up icon
Use Case Example - Impact Analysis and Simulation Chevron down icon Chevron up icon
Tips and Tricks Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
(7 Ratings)
5 star 42.9%
4 star 28.6%
3 star 14.3%
2 star 14.3%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Charriere Nov 23, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is a kind of technical Bible. If you need to learn how to use NEo4J from scratch (0 to hero), it's definitely the best resource of the moment.
Amazon Verified review Amazon
J. Webber Feb 11, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
As someone who has also written a book on graph databases, I like to keep my eye on the competition :-) Jerome and Rik's book is an excellent competitor. It conveys deep expertise in an enthusiastic and humane way. It is very accessible for those new to graphs and is very up to date with Neo4j. Even as an advanced practitioner there is much to be liked in seeing how graphs are applied and Cypher queries developed. A very worthwhile read.
Amazon Verified review Amazon
Olivier Croisier Nov 28, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Disclaimer : a copy of this book was sent to me for review by the author. However, I tried to express an unbiased point of view here.Neo4j is a graph database. I never had the chance to actually use it, but it was on my watch list for a while, so this book came as an excellent opportunity to lean more about it.I should say that I buy and read a lot of technical books. I'm often left frustrated because they don't cover much more than the official docs or only explain the hows instead of the whys.But it appeared that this book was quite the opposite, and that it was obviously written by very experienced Neo4j users. Furthermore, I found it entertaining and easy to read, and I completed it in about a week of short studying sessions.This said, retrospectively, the order of some chapters seemed quite illogical to me, so I'll group them by topic below, rather than book ordering.Now let's start the review.Chapter 1 is the obligatory introduction to graph databases : historical examples, basics of graph theory, and comparison with others SQL or NoSQL databases.Chapter 2 guides you in a very beginner-friendly way through the database installation process (with many screenshots), on Windows, Mac and Linux, and even on Docker if you prefer to keep it isolated.Chapter 3 explains the art of data modelling in the realm of graph databases, and describes the most common (anti-)patterns.It is supplemented with Chapter 12, which deals with refactoring.Chapters 4, 5 and 6 are all about queries : first with the bare Cypher query language, then with the APOC extension library, and finally with our own functions and procedures. Those chapters are filled with pragmatic advices and, in my opinion, really show the author's many years of experience with the product - as do the detailed use-case studies presented at the end of the book.Chapter 9, I think, could/should have been inserted right here, because it introduces (yet another) APOC extension dedicated to spatial data and queries. It also explains how to efficiently import data from map providers such as OpenStreetMaps, which is nice.Chapters 14 and 15 should have been here too, because they are the real hidden gems of this book. Both are use-case analysis. The former guides you through the implementation of a realistic recommendation engine ; the latter demonstrates how a company's processes can be modelled as a graph in order to perform an impact analysis on dimensions such as prices or delays.Chapter 7 deals with performance : query plans, indexes... Nothing really graph-specific here.Chapters 8 lets us load data into Neo4j from structured sources such as CSV, JSON, XML, and even other databases through a JDBC driver. I was quite impressed to see that no external CLI tool or an ETL were required for this - only standart Cypher commands.Chapter 11 lists a dozen of graph-compatible visualization tools and libraries, each with a short description and a screen capture. Quite useful to make sense of all that data you just loaded ! Also, it reminds you that Neo4j comes with its own IDE-like web application, complete with a query editor and a graph preview - useful for quick prototyping.Finally, chapters 10 and 13 are more production-oriented and will please the devops people. I must admit I skipped both of them. Security, LDAP integration.and clustering weren't my primary concerns for this first contact with Neo4j. Still good to know it exists, for future reference.In conclusion, I must say that this book is a great resource for first-time Neo4j users.I found it very informative and liked its "batteries included" aspect, with lots of tips, realistic examples and useful external resources.However, if you are in a hurry or if this is your first reading of the book, please take my advice and read the chapters in the order I suggest above !
Amazon Verified review Amazon
Pranabjyoti Bordoloi Jun 01, 2018
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Gives a quick view into neo4j. For starters.
Amazon Verified review Amazon
Stefwef Nov 27, 2018
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
This is my first book on neo4j or cypher, so I may update my review after I read a few others. I am migrating a relational database to neo4j. I found the neo4j website poorly written and wanted a book that mostly covered modeling and cypher. This book started very strong, but fizzled out.Despite some small proofreading errors (missing words here and there), the first few chapters are clear, succinct, and thorough. It starts with a history and overview of database development which I found very interesting. Chapter 2 is how to setup, and provides the clearest explanation of the licensing options that I've come across.The book starts rushing around Chapter 5, and could have benefited from a slower explanation of APOC syntax. I also wish there was a chapter right after APOC that was more advanced Cypher.In chapters 6, 10, and 13, it assumes you know javascript, LDAP, and clusters. I wish it had slowed down and explained better for non-web developers like me. Chapter 13 has sentences with two verbs or mismatched verb tenses, like translated badly from another language.The Chapter about imports does not cover the import admin tool at all, which I found very odd but maybe this is a new feature since last year.Chapter 14 and 15 presents some case examples that are very useful, and I wish there had been more advanced modeling topics. In general, the advanced modeling examples is what I missed the most. When you are migrating a functioning relational database, you want to make sure the new system will be able to provide the function you need before you go through the full motion, and there are so many ways to migrate that it's necessary to understand both the modeling and the function it allows. I just ordered another book that seems to focus more on that.Here are features I wish were covered and were not:- Best case modeling and query optimization for seeking by omission-finding items WITHOUT a relationship or without a relationship to specific nodes.- How to "undo", or best practices to keep a history: is it to duplicate node and create -VERSION_OF->? In that vein, I would have loved for a case example of developing a wiki.- best practices to trigger generation of unique IDs or GUIDs on create. This seems perhaps so basic that not covered anywhere even online.- I wish there was a section about recursion. Chapter 15 shows semi-recursion with calculations along every level in a hierarchy, but the hierarchy is built-in. Along those lines, I wish he explained how to find the leaves in any "one" relationship-type tree, the lowest leaves among them, and assign a "height" to each node to successfully run the recursion upward.- How to find out what all children might have in common. For example: Mom wants to take kids to the cinema, but can only do so if her kids all agree on what movie to see, so to return only list of movies that the kids all have in common.- I have yet to come across good advice on best model for how to migrate relationships where the join table's row-ID is a foreign key for a fourth table. From my case, it looks like I will have to add some intermediary nodes.Merci!
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.