get_schema
Get complete metadata about all available entities, measures, and dimensions in the semantic layer.
Description
Returns the full metadata for the entire semantic layer, including all entities, their measures, dimensions, and relationships. This is the most comprehensive schema exploration tool.
When to Use
Use get_schema when you need the complete picture of all available data. For exploring a single entity, use describe_entity instead.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}
This tool requires no input parameters.
Output
Returns the complete metadata object:
| Field | Type | Description |
|---|---|---|
cubes | array | All entity definitions |
cubes[].name | string | Entity name |
cubes[].title | string | Display title |
cubes[].measures | array | All measures with types and descriptions |
cubes[].dimensions | array | All dimensions with types and descriptions |
cubes[].segments | array | Pre-defined filter segments |
cubes[].joins | array | Relationships to other entities |
Example
Request
"Get the full schema of the semantic layer"
Response (Abbreviated)
{
"cubes": [
{
"name": "Studies",
"title": "Studies",
"measures": [
{ "name": "Studies.count", "type": "count", "title": "Count" },
{ "name": "Studies.activeCount", "type": "count", "title": "Active Studies" }
],
"dimensions": [
{ "name": "Studies.studyId", "type": "string", "title": "Study ID" },
{ "name": "Studies.studyName", "type": "string", "title": "Study Name" },
{ "name": "Studies.phase", "type": "string", "title": "Phase" },
{ "name": "Studies.status", "type": "string", "title": "Status" },
{ "name": "Studies.startDate", "type": "time", "title": "Start Date" }
]
},
{
"name": "Subjects",
"title": "Subjects",
"measures": [
{ "name": "Subjects.count", "type": "count", "title": "Count" },
{ "name": "Subjects.enrolledCount", "type": "count", "title": "Enrolled Count" }
],
"dimensions": [
{ "name": "Subjects.subjectId", "type": "string", "title": "Subject ID" },
{ "name": "Subjects.status", "type": "string", "title": "Status" },
{ "name": "Subjects.enrollmentDate", "type": "time", "title": "Enrollment Date" }
]
},
{
"name": "AdverseEvents",
"title": "Adverse Events",
"measures": [
{ "name": "AdverseEvents.count", "type": "count", "title": "Count" },
{ "name": "AdverseEvents.seriousCount", "type": "count", "title": "Serious Count" }
],
"dimensions": [
{ "name": "AdverseEvents.aeTerm", "type": "string", "title": "AE Term" },
{ "name": "AdverseEvents.severity", "type": "string", "title": "Severity" },
{ "name": "AdverseEvents.onsetDate", "type": "time", "title": "Onset Date" }
]
}
]
}
Use Cases
- Complete schema exploration: Get the full picture of available data
- AI context loading: Load semantic layer context for complex queries
- Documentation generation: Generate comprehensive data dictionaries
- Query validation: Verify measure/dimension names before querying
Natural Language Examples
| You Ask | AI Uses |
|---|---|
| "Show me everything in the semantic layer" | get_schema |
| "What data is available for analysis?" | get_schema |
| "Give me the complete schema" | get_schema |
| "List all measures and dimensions" | get_schema |
Performance Note
This tool returns a large response containing all metadata. For most use cases, AI assistants will:
- Call
list_entitiesfirst to see available entities - Call
describe_entityfor the specific entity needed - Only use
get_schemawhen complete context is required