You are previewing Beginning Neo4j.
O'Reilly logo
Beginning Neo4j

Book Description

This book is your introduction in the world of graph databases, and the benefits they can bring to your applications. Neo4j is the most established graph database on the market, and it's always improving to bring more of its benefits to you. Beginning Neo4j will take you from the installation of Neo4j through to building a full application with Neo4j at its heart, and everything in between.

Using this book, you'll get everything up and running, and then learn how to use Neo4j to build up recommendations, relationships, and calculate the shortest route between two locations. With example data models, and an application putting everything together, this book will give you everything you need to really get started with Neo4j.

Neo4j is being used by social media and ecommerce industry giants. You can take advantage of Neo4j's powerful features and benefits - add Beginning Neo4j to your library today.

Table of Contents

  1. Cover
  2. Title
  3. Copyright
  4. Dedication
  5. Contents at a Glance
  6. Contents
  7. About the Author
  8. About the Technical Reviewer
  9. Acknowledgments
  10. Introduction
  11. Chapter 1 : Introduction to Graph Databases
    1. What is a database?
      1. Database Transactions
    2. What is a Graph?
      1. Graph Theory
      2. Origins
    3. Graph Databases
    4. Relational Databases
      1. Relationships
      2. Origins
    5. NoSQL
      1. Key Value
      2. Column
      3. Document-orientated
      4. Graph
    6. Summary
  12. Chapter 2 : Getting to Know Neo4j
    1. Give Me a REST
    2. Why Choose Neo4j?
      1. Cypher
      2. Browser
    3. Under the hood
    4. Who’s Using it?
    5. Indexes
    6. Caching
      1. File Buffer Cache
      2. Object Cache
      3. High-performance Cache
    7. Extending Neo4j
    8. Summary
  13. Chapter 3 : Get Up and Running with Neo4j
    1. Downloading from Neo4j.com/download
    2. Installing on Windows
    3. Installing on Mac
      1. Installing from a Website
      2. Going with Homebrew for Java
      3. With Java Installed
    4. Installing on Ubuntu
    5. Install Neo4j in a Vagrant Box
    6. Summary
  14. Chapter 4 : Meet Cypher
    1. BasicSyntax
      1. Nodes
      2. Properties
      3. Relationships
    2. Querying Cypher
      1. Browser
      2. REST API
    3. How to Build a Cypher Query
      1. A Quick note on Comments
      2. RETURN
      3. MATCH
      4. CREATE/CREATE UNIQUE
      5. DELETE/REMOVE
      6. WHERE
      7. ORDER BY
      8. INDEXES
      9. CONTRAINTS
      10. LIMIT
      11. SKIP
      12. WITH
      13. UNWIND
      14. UNION
      15. USING
      16. MERGE
      17. SET
      18. shortestPath/allShortestPaths
      19. Key Functions
    4. Summary
  15. Chapter 5 : Managing Your Data in Neo4j
    1. A quick note about Gists
    2. Common pitfalls
      1. bi-directional relationships
    3. Example Data Structures
      1. e-commerce
      2. Social Network
    4. Summary
  16. Chapter 6 : Importing and Exporting Data
    1. Importing Data
      1. Import from a CSV Using Cypher
      2. Using a Custom Import Script
    2. Exporting Data
      1. Backing up the Database
      2. Getting Data from the Neo4j Browser
      3. Write Your Own Data Exporter
    3. Summary
  17. Chapter 7 : Querying Data in Neo4j with Cypher
    1. Recommendations, Thanks to Pokémon Data
      1. Getting the Data, the Website Used
      2. Querying the Data
      3. Thank You
    2. Location-Based Queries
      1. Closest Metro Station
    3. Summary
  18. Chapter 8 : Building an Application with Neo4j
    1. A Quick Note on Code Comments
    2. Installing the Spatial Plugin
    3. What the App is Being Built On
      1. How the Data will be Structured
      2. Place/BusStop
      3. Timetable
      4. Transport
    4. Building the Application
      1. Installing Composer
      2. Setting Up Silex
      3. Silex Service Providers
      4. Using the Client
      5. Routes
    5. Commands
      1. Create Indexes
      2. Import Bus Stops
      3. Import Timetables
    6. Setting up the Website with Commands
      1. Technology Used
      2. How It Works
    7. Summary
  19. Chapter 9 : Hosting a Neo4j Application
    1. Hosting Requirements
    2. Hosting Neo4j
    3. Choosing a VPS
      1. DigitalOcean
      2. Features
      3. Linode
      4. Features
      5. GrapheneDB
      6. Graphstory
    4. A Hosting Example
      1. Hosting on DigitalOcean
      2. Creating a Droplet
      3. Install Neo4j
      4. Some Other Dependencies
      5. An Annoying Warning
      6. Using a Standalone Neo4j Server
    5. Optimizing Neo4j
    6. Summary
  20. Index