Data Modeling
Introduction
Your PromptQL application is powered by an agentic semantic metadata layer. This approach centralizes all your data collections, operations, relationships, and permissions in one place. This makes it easy for your (and PromptQL) to organize, modify, secure, reason about, and grow the schema which represents your API.
Lifecycle
PromptQL uses this semantic metadata layer to define your API schema:
- Data connectors link to your data sources and introspect the source schema.
- The CLI then uses the introspection results to generate metadata objects.
- The metadata is "built" by the CLI into a format that the engine service uses to power PromptQL's interactions.

Metadata Objects
There are many types of metadata objects which define your API, but the most important ones which form the backbone of your API are:
- Models which read data
- Commands which modify data
- Relationships which connect data
- Permissions which protect data
We will cover each of these in more detail in the following sections.