#Schema Graph
This feature is experimental and subject to breaking changes without notice. It is not recommended for production use. The documentation may be incomplete or outdated. We appreciate your feedback.
Use the Schema graph to visualize the relationships between your models, components, remote sources, enumerations, and taxonomies on an interactive canvas. This makes it easier to understand how your schema elements depend on each other, debug complex relationships, and plan safe schema changes.
The graph displays each schema element as a node and uses connecting lines to represent dependencies between fields.
#When to use this feature
The Schema graph is helpful when you want to:
- Understand the structure and relationships in large or complex schemas.
- Audit dependencies before making schema changes.
- Identify how models and components are connected to one another.
- Explore components, remote sources, enumerations, and taxonomies, and field types visually.
- Debug unexpected dependencies or schema issues.
- Communicate schema structure to team members.
#Enable the feature
To enable the Schema graph for your project, follow these steps:
- Navigate to Project Settings > General > Lab features.
- Select the Schema Graph checkbox to enable the feature.
- (Optional) Choose which roles in the project should have access. By default, the feature is enabled for all roles.
- Only users with schema read permissions can visualize the schema as a graph.
Once enabled, a Schema graph link appears in your Schema section.
#Using the Schema graph
To open the Schema graph, select Schema > Schema Graph. Only users with schema read permissions can visualize the schema as a graph. When you open the Schema graph, you'll see:
- A canvas with nodes representing models, components, remote sources, enumerations, and taxonomies.
- Each type is color-coded, and a legend is available in the bottom-left corner.
- Each node lists its fields along with their field types.
- Editable fields appear without an icon.
- Read-only fields include an indicator showing they cannot be modified.
- Lines between nodes represent dependencies created through fields. The field label reveals which field initiates the dependency.
You can perform the following actions in the schema graph:
- Zoom in and out of the canvas to focus on specific clusters of related schema elements.
- Drag individual nodes to reposition it. Moving nodes can help you organize your view by grouping related elements together.
- Lock the graph to freeze all node positions. You can unlock the canvas at any time to rearrange nodes again. When locked, you cannot move the nodes. The layout remains fixed, helping you maintain a consistent visual structure.
- Choose between three layout modes to visualize your schema from different perspectives. Switching between layout modes automatically re-renders the graph while preserving zoom level and canvas position. The following options are available in the canvas toolbar:
- Vertical: Nodes are arranged from top to bottom, forming a vertical tree layout. This view is useful for scanning complex schemas in a linear, top-to-bottom reading pattern.
- Horizontal: Nodes are arranged from left to right, forming a horizontal tree-like structure. This view is useful when your models have hierarchical relationships that expand outward.
- Radial: Nodes are arranged in a circular or radial pattern with dependencies radiating outward. This view is useful for visualizing schemas where many models reference shared components.
- Use the Visible schema types panel to show or hide the available schema types in your project. This allows you to isolate specific relationships or analyze schema subsets. For example, you can only view components to understand their usage or hide everything except models.
Schema graph
#What could go wrong
Because this feature is experimental, you may encounter unexpected behavior. Known issues may include:
- Missing or hidden dependencies: Some lines or relationships may not render correctly.
- Incorrect mapping: A dependency line may point to the wrong element or field.
- Slow or delayed updates: After schema changes, the graph may take time to refresh.
- Canvas rendering issues: Very large schemas may cause overlapping nodes or performance degradation.
- Inconsistent behavior: Some expected interactions, such as zooming, dragging, or filtering, may behave inconsistently.
If you're relying on the graph for critical schema changes, we recommend verifying important dependencies manually until the feature becomes more stable.