> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# Data model

> Build and inspect the SDK model objects that describe what to compute: references, attributes, measures, hierarchies, and placeholders.

Create and inspect the objects that `@gooddata/sdk-model` uses to describe your data. Components, executions, and hooks all take these objects as input. To get model objects for your workspace, load the catalog at runtime or generate constants with `@gooddata/catalog-export`.

## Pages

- [Working with object references](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/object-references/index.md): Compare, key, narrow, and print ObjRef values with areObjRefsEqual, serializeObjRef, and the type guards instead of reading identifier fields by hand.
- [Working with attributes](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/attributes/index.md): Create and modify IAttribute objects with newAttribute, apply optional local identifiers and alias overrides.
- [Working with measures](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/measures/index.md): Create simple measures with newMeasure, arithmetic measures from two operands with newArithmeticMeasure, and inline MAQL measures with newInlineMeasure.
- [Attribute hierarchies](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/attribute-hierarchies/index.md): Read attribute hierarchies from the workspace catalog, and list them from a dashboard plugin.
- [Working with visualization objects](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/insights/index.md): Read measures, attributes, filters, and identity from IInsight with the insight* accessors, and derive copies with insightSet*.
- [Visualization placeholders](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/visualization-placeholders/index.md): Create common and composed visualization definition placeholders, update and resolve their values with React hooks, and use them with TypeScript.
- [Load the workspace catalog at runtime](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/workspace-catalog/index.md): Load measures, attributes, and date datasets while your application runs, and turn catalog items into IMeasure and IAttribute objects.
- [Export catalog](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/export-catalog/index.md): Install and configure @gooddata/catalog-export to generate JavaScript or TypeScript constants for the Logical Data Model objects in a workspace.
