Get in Touch

Course Outline

Introduction

  • Graph databases and libraries.

Understanding Graph Data

  • The graph as a data structure.
  • Utilizing vertices (nodes) and edges (connections) to model real-world scenarios.

Using Graph Databases for Modeling, Persistence, and Processing

  • Local graph algorithms and traversals.
  • Tools: Neo4j, OrientDB, and Titan.

Exercise: Modeling Graph Data with Neo4j

  • Whiteboard-based data modeling.

Beyond Graph Databases: Graph Computing

  • Understanding the property graph model.
  • Modeling various scenarios (software graphs, discussion graphs, concept graphs).

Solving Real-World Problems with Traversals

  • Algorithmic and directed walks across the graph.
  • Determining circular dependencies.

Case Study: Ranking Discussion Contributors

  • Ranking based on the volume and depth of contributed discussions.
  • Insights on sentiment and concept analysis.

Graph Computing: Local, In-Memory Graph Toolkits

  • Graph analysis and visualization techniques.
  • Tools: JUNG, NetworkX, and iGraph.

Exercise: Modeling Graph Data with NetworkX

  • Using NetworkX to model a complex system.

Graph Computing: Batch Processing Graph Frameworks

  • Leveraging Hadoop for storage (HDFS) and processing (MapReduce).
  • Overview of iterative algorithms.
  • Tools: Hama, Giraph, and GraphLab.

Graph Computing: Graph-Parallel Computation

  • Unifying ETL, exploratory analysis, and iterative graph computation within a single system.
  • GraphX.

Setup and Installation

  • Hadoop and Spark.

GraphX Operators

  • Property, structural, join, neighborhood aggregation, caching, and uncaching operations.

Iterating with Pregel API

  • Passing arguments for sending, receiving, and computing.

Building a Graph

  • Using vertices and edges within an RDD or on disk.

Designing Scalable Algorithms

  • GraphX optimization strategies.

Accessing Additional Algorithms

  • PageRank, Connected Components, Triangle Counting.

Exercise: PageRank and Top Users

  • Building and processing graph data using text files as input.

Deploying to Production

Closing Remarks.

Requirements

  • A working knowledge of Java programming and associated frameworks.
  • A general understanding of Python is beneficial but not mandatory.
  • Familiarity with core database concepts.

Target Audience

  • Developers.
 28 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories