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

Book Description

"

Why have developers at places like Facebook and Twitter increasingly turned to graph databases to manage their highly connected big data? The short answer is that graphs offer superior speed and flexibility to get the job done.

It’s time you added skills in graph databases to your toolkit. In Practical Neo4j, database expert Greg Jordan guides you through the background and basics of graph databases and gets you quickly up and running with Neo4j, the most prominent graph database on the market today. Jordan walks you through the data modeling stages for projects such as social networks, recommendation engines, and geo-based applications. The book also dives into the configuration steps as well as the language options used to create your Neo4j-backed applications.

Neo4j runs some of the largest connected datasets in the world, and developing with it offers you a fast, proven NoSQL database option. Besides those working for social media, database, and networking companies of all sizes, academics and researchers will find Neo4j a powerful research tool that can help connect large sets of diverse data and provide insights that would otherwise remain hidden. Using Practical Neo4j, you will learn how to harness that power and create elegant solutions that address complex data problems. This book:

  • Explains the basics of graph databases
  • Demonstrates how to configure and maintain Neo4j
  • Shows how to import data into Neo4j from a variety of sources
  • Provides a working example of a Neo4j-based application using an array of language of options including Java, .Net, PHP, Python, Spring, and Ruby
  • As you’ll discover, Neo4j offers a blend of simplicity and speed while allowing data relationships to maintain first-class status. That’s one reason among many that such a wide range of industries and fields have turned to graph databases to analyze deep, dense relationships. After reading this book, you’ll have a potent, elegant tool you can use to develop projects profitably and improve your career options.

    Table of Contents

    1. Cover
    2. Title
    3. Copyright
    4. Dedication
    5. Contents at a Glance
    6. Contents
    7. Foreword
    8. About the Author
    9. About the Technical Reviewers
    10. Acknowledgments
    11. Part 1: Getting Started
      1. Chapter 1: Introduction to Graphs
        1. Graph Theory
        2. Graph Databases
          1. Nodes and Relationships
          2. Indexes
        3. Relational Databases and Neo4j
        4. NoSQL and Neo4j
        5. Summary
      2. Chapter 2: Up and Running with Neo4j
        1. Neo4j
        2. Requirements and Installation
          1. Requirements
          2. Versions
          3. Java
          4. Installation
        3. The Neo4j Browser
        4. Introducing Cypher
          1. Create
          2. Start
          3. Match
          4. Set
        5. Summary
    12. Part 2: Managing Your Data with Neo4j
      1. Chapter 3: Modeling
        1. Data Modeling
          1. Data Modeling Overview
          2. Why Is Data Modeling Important?
          3. Data Model Components
          4. Entity-Relationship Model
          5. Entities
          6. Relationships
          7. Attributes
          8. Challenges in Using Entity-Relationship Modeling with Neo4j
        2. Modeling with Neo4j
          1. Modeling Relationships
          2. Modeling Constraints
        3. Modeling Use Cases
          1. Social Graph
          2. Interest Graph
          3. Consumption Graph
          4. Location Graph
          5. Intent Graph
        4. Summary
      2. Chapter 4: Querying
        1. Cypher Basics
          1. Transactions
          2. Compatibility
        2. SQL to Cypher
          1. INSERT and CREATE
          2. SELECT and START / MATCH
          3. UPDATE and SET
          4. DELETE
        3. Cypher Clauses
          1. Return
          2. WITH, ORDER BY, SKIP, and LIMIT
          3. Using
        4. Reading
          1. Match
          2. Optional Match
          3. Where
          4. Start
        5. Writing
          1. SET
          2. REMOVE
        6. Summary
      3. Chapter 5: Importing from Another Data Source
        1. Import Considerations
        2. Examples
          1. Test Data with Cypher
          2. Test Data with Load CSV
        3. Summary
      4. Chapter 6: Extending Neo4j
        1. Plugin Development Environment for Neo4j
          1. IDE
          2. Maven Plugin
          3. Setting Up Maven Projects
        2. Neo4j Server Plugins
        3. Security Plugins
        4. Unmanaged Extensions
        5. Summary
    13. Part 3: Developing with Neo4j
      1. Chapter 7: Neo4j + .NET
        1. .NET and Neo4j Development Environment
          1. Installing Visual Studio Express for Web
        2. Neo4jClient
          1. Managing Nodes and Relationships
          2. Using Labels
          3. Debugging
        3. Developing a .NET Neo4j Application
          1. Preparing the Graph
          2. Social Graph Model
          3. Login
          4. Updating a User
          5. User-Generated Content
          6. Interest Graph Model
          7. Consumption Graph Model
          8. Location Graph Model
          9. Intent Graph Model
        4. Summary
      2. Chapter 8: Neo4j + PHP
        1. PHP and Neo4j Development Environment
          1. IDE
          2. Adding the Project to Eclipse
          3. Composer
          4. Slim PHP
        2. Neo4jPHP
          1. Managing Nodes and Relationships
          2. Using Labels
        3. Developing a PHP and Neo4j Application
          1. Preparing the Graph
          2. Social Graph Model
          3. Login
          4. Updating a User
          5. User-Generated Content
          6. Interest Graph Model
          7. Consumption Graph Model
          8. Location Graph Model
          9. Intent Graph Model
        4. Summary
      3. Chapter 9: Neo4j + Python
        1. Python and Neo4j Development Environment
          1. IDE
          2. Adding the Project to Eclipse
          3. Bottle Web Framework for Python
          4. Local Apache Configuration
        2. Py2neo
          1. Managing Nodes and Relationships
          2. Using Labels
        3. Developing a Python and Neo4j Application
          1. Preparing the Graph
          2. Social Graph Model
          3. Login
          4. Updating a User
          5. User-Generated Content
          6. Interest Graph Model
          7. Consumption Graph Model
          8. Location Graph Model
          9. Intent Graph Model
        4. Summary
      4. Chapter 10: Neo4j + Ruby
        1. Ruby and Neo4j Development Environment
          1. IDE
          2. Adding the Project to Eclipse
          3. Sinatra Web Framework for Ruby
        2. Neography
          1. Managing Nodes and Relationships
          2. Using Labels
        3. Developing a Ruby and Neo4j Application
          1. Preparing the Graph
          2. Social Graph Model
          3. Login
          4. Updating a User
          5. User-Generated Content
          6. Interest Graph Model
          7. Consumption Graph Model
          8. Location Graph Model
          9. Intent Graph Model
        4. Summary
      5. Chapter 11: Spring Data Neo4j
        1. Spring Data Neo4j Development Environment
          1. IDE
          2. Adding the Project to Eclipse
          3. Spring Web MVC
          4. Hosts File
          5. Local Apache Tomcat Configuration
          6. Apache Tomcat and Apache HTTP
        2. Spring Data Neo4j
          1. Managing Nodes and Relationships
          2. Using Labels
        3. Developing a Spring Data Neo4j Application
          1. Preparing the Graph
          2. Using the Sample Application
          3. Spring Application Configuration
          4. Controller and Service Layers
          5. Social Graph Model
          6. User Node Entity
          7. Node Entities
          8. Spring Data Repositories
          9. Sign-Up
          10. Login
          11. Updating a User
          12. Connecting Users
          13. User-Generated Content
          14. Interest Graph Model
          15. Consumption Graph Model
          16. Location Graph Model
          17. Intent Graph Model
        4. Summary
      6. Chapter 12: Neo4j + Java
        1. Java and Neo4j Development Environment
          1. IDE
          2. Adding the Project to Eclipse
          3. Apache Struts 2
          4. Hosts File
          5. Local Apache Tomcat Configuration
          6. Apache Tomcat and Apache HTTP
        2. Neo4j JDBC Driver
          1. Managing Nodes and Relationships
          2. Using Labels
        3. Developing a Java and Neo4j Application
          1. Preparing the Graph
          2. Using the Sample Application
          3. Controller and Service Layers
          4. ResultSetMapper
          5. Social Graph Model
          6. Login
          7. Updating a User
          8. Connecting Users
          9. Interest Graph Model
          10. Consumption Graph Model
          11. Location Graph Model
          12. Intent Graph Model
        4. Summary
    14. Index