Officially out now: The TypeDB 3.0 Roadmap


Welcome to the TypeQL documentation: TypeQL is the query language of TypeDB!


To learn about the principles and design of TypeQL, see our Introduction page.


TypeQL queries are distinguished by the purpose they fulfil.

A Define query to add types and rules to a schema.

An Undefine query to delete types and rules to a schema.

An Insert query to add data into a database.

A Delete query to delete data from a database.

An Update query to replace data in a database.

A Fetch query to fetch values and types from a database.

A Get query to get data and types as stateful objects from a database.


Each query is build from various components.

Conjunction, Disjunction, Negation, and Matching patterns.

isa, has, sub, owns, abstract, relates, annotations, etc.

Sorting, pagination, aggregation, grouping.

Types, data instances, concept variables.

Value-types, value variables, comparators, arithmetic, functions.


A list of TypeQL keywords used in clauses, schema statements, and data statements, can be found on our Keywords page.

Provide Feedback