typedb: a strongly-typed database unifying relational, document, and graph models with a declarative query language

typedb: a strongly-typed database unifying relational, document, and graph models with a declarative query language

What it solves

TypeDB addresses the limitations of traditional relational, document, and graph databases by unifying their strengths into a single system. It solves the "object-relational mismatch" by allowing developers to model data using high-level logical abstractions and a strong type system, eliminating the need for complex physical data modeling and making it easier to manage highly nested or interconnected datasets.

How it works

TypeDB uses a conceptual data modeling approach based on three root types: entities (independent objects), relations (connections between entities or other relations), and attributes (properties). It employs a strong type system that supports inheritance and interfaces, allowing for polymorphic queries. Data is managed via TypeQL, a declarative, functional, and strongly-typed query language that uses patterns mirroring natural language and supports modularizable subqueries called functions.

Who it’s for

It is designed for developers building complex data applications who want a more elegant, safe, and maintainable way to handle interconnected data without switching between multiple database paradigms.

Highlights

  • Unified Data Model: Combines the benefits of relational, document, and graph databases.
  • TypeQL: A declarative, strongly-typed query language that simplifies complex data handling.
  • Strong Type System: Native support for inheritance and interfaces for flexible and safe prototyping.
  • Logical Abstraction: Focuses on conceptual modeling rather than physical data layout.
  • Mature Ecosystem: Includes language drivers and a graphical user interface called TypeDB Studio.

Sources