• Products
    Services
    Database
    Meet TypeDB and TypeQL
    Enterprise
    Host TypeDB in your own environment
    Community Edition
    The open-source edition of TypeDB
    Platform
    Cloud
    Scale effortlessly on our cloud platform
    Tools
    Studio
    Build with our live web studio
    Console
    Build in the terminal
    Driver SDKs
    Integrate your apps and services
    • What is TypeDB?
      Read article
    • Why TypeDB?
      Read article
    • Start building
      Go to dashboard
  • Solutions
    By use case
    Cyber threat intelligence
    TypeDB in CTI
    Agentic systems
    TypeDB in agentic systems and AI
    Knowledge graphs
    TypeDB as a knowledge graph
    By industry
    Financial intelligence
    TypeDB in financial intelligence
    Robotics
    TypeDB in autonomous robots
    Startup program
    Are you a builder or breaker?
    Code examples
    Samples built on real-world use cases
  • Learn
    Learn
    TypeDB Docs
    Browse TypeDB's developer docs
    Quickstart
    TypeDB quickstart tutorial
    Examples
    Learn from examples and use cases
    TypeDB Academy
    An end-to-end learning experience
    Content
    Blog
    Dev blogs, news, and insights
    Research
    Academic research papers
    Videos
    Be sure to like and subscribe
    Enterprise support
    Dedicated support for your business
    Community chat server
    Live chat with our Discord community
  • Pricing
    4k
  • Sign in
  • Start building

Docs Home

Ask TypeDB AI
TypeDB 3.x (current)
  • Home
    • What is TypeDB?
    • Why TypeDB?
    • Learning journey
    • Install
      • TypeDB Cloud
      • TypeDB Enterprise
      • TypeDB Community Edition
      • Studio
      • Console CLI
      • TypeDB Drivers
    • Get started
      • Overview
      • Setup
      • Create a schema
      • Create data
      • Query composition
  • Examples
    • Social Network Application
    • Use Cases
      • Robotics
      • IAM
      • Cybersecurity
  • Tutorials
    • Deploy TypeDB via the Cloud API
    • Use TypeDB in GitHub Actions
  • Core Concepts
    • TypeDB
      • Overview
      • Connections
      • Databases
      • Transactions
      • CRUD
      • Users
      • Errors
      • Vertical Scaling
      • Horizontal Scaling
    • TypeQL
      • Entities, Relations, Attributes
      • Constraining Data
      • Schema & Data
      • Query Variables and Patterns
      • Query Clauses & Pipelining
      • Queries as Functions
      • Advanced: Invalid Patterns
      • Glossary
      • Understanding SQL vs. TypeQL
    • Drivers
      • Overview
      • Connections
      • Users & Authentication
      • Transactions
      • Queries
      • Analyzing queries
      • Best Practices
  • Tools
    • TypeDB Studio
    • TypeDB Console
    • IDE Plugins
    • TypeDB Cloud API
  • Maintenance & Operation
    • TypeDB Upgrades
    • TypeDB Backups
    • TypeDB Configuration
    • TypeDB In-flight Encryption
    • Database Export & Import
    • Troubleshooting
      • Installation
      • Connecting
      • Stopping queries
      • Optimizing queries
      • Debugging queries
  • Reference
    • TypeDB GRPC Drivers
      • Python gRPC driver
      • Java gRPC driver
      • Rust gRPC driver
    • TypeDB HTTP API
    • TypeDB HTTP Drivers
      • Typescript HTTP Driver
    • TypeDB Cloud API
    • TypeDB 2.x vs TypeDB 3.x
      • TypeDB 2.x to TypeDB 3.x: what’s changed
      • TypeDB 2.x to TypeDB 3.x: migration process
  • TypeQL Reference
    • Data and query model
    • Schema queries
      • Define
      • Undefine
      • Redefine
    • Data pipelines
      • Match
      • Fetch
      • Insert
      • Delete
      • Update
      • Put
      • Select
      • Require
      • Distinct
      • Sort
      • Limit
      • Offset
      • Reduce
      • With
    • Functions
      • Writing functions
      • Streams
      • Scalars and tuples
      • Functions v/s rules
    • Patterns
      • Conjunctions
      • Disjunctions
      • Negations
      • Optionals
    • Statements
      • entity
      • relation
      • attribute
      • sub
      • relates
      • plays
      • value
      • owns
      • alias
      • isa
      • links
      • has
      • is
      • let …​ =
      • let …​ in
      • label
      • iid
      • Comparisons
    • Annotations
      • @card
      • @cascade
      • @independent
      • @abstract
      • @key
      • @subkey
      • @unique
      • @values
      • @range
      • @regex
      • @distinct
    • Value types
      • Boolean
      • Integer
      • Double
      • Decimal
      • String
      • Date
      • Datetime
      • DatetimeTZ
      • Duration
    • Expressions
      • Literals
      • Operators
      • Function calls
      • Structs
      • Lists
    • Keyword glossary
  • TypeDB Academy
    • Course overview
    • 1. Introduction to TypeDB
    • 2. Environment setup
      • Sample deployment
    • 3. Reading data
      • Fetching simple data
      • Fetching polymorphic data
      • Using functions
      • Fetching schema types
      • Query validation
      • Summary
    • 4. Writing data
      • Inserting simple data
      • Inserting polymorphic data
      • Deleting data
      • Updating data
      • Data validation
      • Summary
    • 5. Defining schemas
      • Defining individual types
      • Defining type hierarchies
      • Defining constraints
      • Defining functions
      • Schema validation
      • Summary
    • 6. Building applications
      • Driver overview
      • Managing users and databases
      • Transactions
      • Executing queries
      • Processing results
      • Summary
    • 7. Understanding query patterns
      • Patterns as constraints
      • Relation patterns
      • Logical operators
      • Value comparisons
      • Value expressions
      • Solution set semantics
      • Summary
    • 8. Composing clauses
      • Chaining clauses
      • Aggregations
      • Sorting and pagination
      • Subqueries
      • Structured fetching
      • Summary
    • 9. Modeling schemas
      • The PERA model
      • Determining object types
      • Avoiding data redundancies
      • Using type hierarchies
      • Composition over inheritance
      • Using interface hierarchies
      • Avoiding interface redundancies
      • Interface contracts
      • Specialization
      • Summary
    • 10. Using inference
      • Functions as views
      • Function chaining
      • Summary
    • 11. Advanced modeling
      • Using dependent types
      • Using type-theoretic relations
      • Reifying interfaces
      • Summary

Tools

Explore the tools available for working with TypeDB.

TypeDB Studio

TypeDB Studio - the visual web client for TypeDB.

TypeDB Console

TypeDB Console - the CLI client for TypeDB.

IDE Plugins

IDE plugins for TypeDB development.

TypeDB Cloud API

API for programmatically interacting with TypeDB Cloud.

Best Practices TypeDB Studio
Subscribe to Newsletter
undefinedDiscordYouTubeLinkedIn

Connect

  • Chat on Discord

  • Contact Us

  • Provide Feedback

Products

  • Database
  • Cloud
  • Studio
  • Community Edition
  • Enterprise
  • Pricing

Resources

  • What is TypeDB?
  • Why TypeDB?
  • Lectures
  • Papers
  • Blog
  • Startup Program

Developers

  • Documentation
  • Examples
  • Core Concepts
  • Tools
  • Maintenance
  • Reference

Company

  • LinkedIn
  • GitHub
  • Privacy Policy
  • Terms of Service
© 2025 TypeDB Ltd
TypeDB™ and TypeQL™ are trademarks of TypeDB Ltd