Neo4j Graph Database

Course Features

Course Details

Course Objectives
By the end of the course, you will:
1. Understand what Graph Data is
2. Learn the sources of Graph Data
3. Learn howNeo4j Graph Database Training helps in handling the Graph Data
4. Know how Neo4j Graph Database Training performs against other databases
5. Learn Data Modeling in Neo4j Graph Database Training
6. Learn to use Cypher- The Query Language of Neo4j Graph Database Training
7. Learn to use Core API for Application Development
8. Learn to use Traversals and REST API

Who should go for this Course?
The course is designed for those who deal with the highly connected data and want to use it to evaluate a good solution. This course is beneficial for Professionals/Students who want to get the hands-on understanding to handle Graph Data using Neo4j Graph Database Training.

What are the pre-requisites for this Course?
Even though you need not be a pro, working knowledge of Core Java concepts, Spring framework, Maven and considerably good amount of knowledge of NoSQL databases will help you to get up-to speed.

Project Work
Towards the end of the Course, you will be working on a live project where you will be exposed to a practical Neo4j set-up and its integration with conventional systems. Below is the description of the project you will be working on.
Project Name: Creation of Sales Data Warehouse
Industry: Social Networking
Data Set: Proprietary XML format dataset
Problem Statement: Creation and updating the Graph database based on file feeds and updating RDBMS end point for updates

Why learn Neo4j? 
Neo4j is the most popular graph database in the world. This training will enable you with skills and expertise in handling the highly connected data, its modeling and creating the database applications using Neo4j. Participants will benefit with the opportunity of solving some relevant business problems using Neo4j. This will put the participants in high demand in the areas of Social Networking, Retail, Finance, Healthcare and Telecom domains which use highly connected data.

1. Introduction to Graph Databases and Neo4j
Learning Objectives - This module will get you started in the world of graph databases. We'll understand the scenarios suited for graph databases, the fallacy of traditional RDBMS systems in modeling the connected data and suitability of Graph Databases for such use cases. We'll also see how Neo4j helps you in handling the Graph Data, its differentiator from other NoSQL systems and finally get started with Neo4j setup.
Topics - What is a Graph? Current Graph Processing Space, Graph Databases, Graph Processing Engines, Advantages of Graph Databases, Fallacy of RDBMS For connected Data, Fallacy of Common NoSQL Databases for Connected Data, Graph Database Natural Playground, Graph Database Use Cases and Recommendations- Social and ACLs, Why Neo4j? Graph Data Neo4j Vs RDBMS, Neo4j in NoSQL World, Data Modelling in Neo4j and Getting Neo4j.
2. Neo4j Basics
Learning Objectives - In this module we'll get into the basics of Neo4j. We'll start by developing our mechanical sympathy with Neo4j by understanding its architecture, its various components and configuration. They'll help you to get a fair idea about sizing requirements for your set up. We'll also start setting up our development environment and find out various modes of interacting with Neo4j.
Topics- High Level Neo4j Architecture: Hard disks, Store Files, Caches in Neo4j, Fault Tolerance, APIs, Sizing Indicators, Starting Development in Neo4j: Development Environment setup, Modelling in Graph Data structures, Interacting with Neo4j: REST API, Embedded Mode, Server Mode and Interaction with Neo4j with Core API.
3. Introduction to Cypher
Learning Objectives - This module will introduce you the basics of Cypher- The query langage of Neo4J. We'll start on the basics of simple constructs, data ingestion into Neo4J, filters, aggregations and combining results
Topics - Exploring Neo4j using Cypher: Create Nodes and Relationships, Invoking Cypher from Java, Parametrize the Queries, Filtering, Regex search, Escaping characters, Comparisons, Sorting, Boolean operators, Working with Collections, Paging of Results: SKIP and LIMIT, Aggregation of Results, Ingesting Data in Neo4j from: CSV, REST API imports and Java Batch Insert.
4. Advanced Cypher
Learning Objectives - This module will focus on the advanced parts of Cypher like Labels, properties of nodes, Indexing, Performance Optimization techniques, Traversals and Transactions.
Topics - Using Neo4J Browser: Modifying Existing Data, Deleting Data, Loops, Best Practices, Profiling Queries, Indexes and Constraints, Transactions in Neo4J, Unleashing the Power of Traversals and Indexing in Java
5. Neo4j in production
Learning Objectives - In this module, you will be introduced to the different ways of interacting with Neo4j, namely the Embedded mode vs the REST API mode from Unix vs the REST API frameworks. We'll also look at some of the performance optimizers like Server plugins and Unmanaged extensions to optimize the server mode of Neo4j.
Topics- Traversals in Neo4J, DFS Vs BFS Traversals, Relationship Expanders, Unidirectional and Bi-directional Traversals, Managing Traversal Uniqueness in Neo4J, Embedded Mode, JVM Based Integrations, Server Mode and Embedded Vs Server Mode Considerations
6. Project
Learning Objectives - This module will have a practical use case of Neo4j along with other components. This module will be completely discussions based evaluation of a project in Neo4j and eventually the target will be to have a project up and running from ground up approach at the end of the session.
Topics- Problem Statement, Let's Brainstorm the solution, Solution components, Solution in Action and Conclusion.
This course does not have any sections.

More Courses by this Instructor