Introduction to Graph Databases and Neo4j
Answer: 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.
Answer: 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.
Introduction to Cypher
Answer: 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.
Answer: 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
Neo4j in production
Answer: 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
Answer: 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.