New ACM paper, free-tier cloud, and open-source license

The TypeDB learning course

Introduction

Welcome to the TypeDB learning course!

This course is designed as an end-to-end learning experience for TypeDB and TypeQL. Through the lens of a sample bookstore database, you’ll learn how to read data, write data, and build schemas while taking advantage of TypeDB’s unique features as the polymorphic database.

This course is intended for:

  • Users who are completely new to TypeDB.

  • Users who have used TypeDB a bit and want to solidify their understanding.

  • Users who have used TypeDB a lot and want to recap the fundamentals.

You will not need any prior knowledge of TypeDB in order to complete this course.

Course content

This course is arranged into several lessons covering key topics. The lessons are mostly self-contained but intended to be followed in order. Each lesson includes an overview of the content, and lists any recommended prerequisites.

Introduction to the unique features that sets TypeDB apart from other databases and the design philosophy behind them.

Easy guide to setting up and using the sample environment needed to run the queries featured in examples and exercises.

Learn how to read data from TypeDB, including declarative polymorphic querying, rule inference, and retrieving types from the schema.

Learn how to write data to TypeDB, covering insert, delete, and update operations, including polymorphic data writes.

Learn how to define schemas for TypeDB, including type hierarchies, interfaces between types, value constraints, and inference rules.

Learn how to build applications on TypeDB, covering database management, transaction control, and result stream processing.

Learn how to build query patterns utilising advanced elements of TypeQL syntax, and how queries are resolved by TypeDB.

Learn how to structure query results in the optimal manner, covering result grouping, aggregations, sorting, and pagination.

Learn how to design schemas for TypeDB using the conceptual PERA model, including common design patterns and pitfalls.

Learn how to use rule inference to abstract complex patterns into simple forms, and capture complex logic with combinations of rules.

Learn how to use retrieve data instances and schema types from the database as stateful objects and perform operations on them.

Learn how to eliminate mismatch with applications by using the type-theoretic framework of the PERA model for schema design.

Provide Feedback