SDCStudio Overview: From CSV to Published Schema
Reading time: ~15 minutes | Level: Beginner Prerequisites: the SDC tutorial
What You'll Learn
- What SDCStudio does and how it fits into the SDC ecosystem
- How to navigate the dashboard and main interface
- The complete end-to-end workflow from file upload to generated outputs
- Key concepts: Projects, Models, Clusters, Components
- Where to go next for deeper learning
What SDCStudio Does
SDCStudio is a web application for building data models that conform to SDC4, the reference model of the Semantic Data Charter. You give it a data file (a CSV or a Markdown dataset template), and it:
- Parses the file structure: columns, types, patterns
- Analyzes the data with AI agents: semantic meaning, validation rules, relationships
- Generates a complete data model: SDC4 components with appropriate types and constraints
- Publishes the model as an immutable schema
- Produces output files: XSD, XML, JSON, JSON-LD, HTML, RDF, SHACL, GQL
You review and refine the AI's work at each step. The goal is to go from raw data to a published, multi-format schema with embedded governance and semantics.
Dashboard and Navigation

When you sign in, you land on the dashboard. There is no sidebar; you move between sections from the dashboard cards, the breadcrumbs at the top of each page, and the user menu.


Top bar: - Documentation and Support links - Search (Ctrl+K or Cmd+K) - Notifications and the theme toggle - User menu: My Dashboard, Upload Data (opens the Data Sources page), Settings, Practitioners (funded users), About SDCStudio, Log Out
Dashboard cards:
- New Project: create a project container
- New Data Model: opens the Model Wizard at /app/models/wizard
- Browse Projects: list of your projects
- Manage Components: list of your components
Below the cards are Recent Projects and Recent Models. The sections also have direct routes: /app/projects, /app/models, /app/components, /app/clusters, /app/ontologies and /app/data-sources.
Key Interface Features: - Processing status: the Data Sources page shows each file's status; it does not auto-refresh, so reload it to see a new status. - Status badge on Data Sources: Uploaded (blue), Parsing (yellow), Parsed and Agent Processing (orange), Modeling (purple), Completed (green), Error and Agent Error (red) - Contextual actions: buttons appear based on what you are viewing and its current state
The End-to-End Workflow
Here is the complete flow from a CSV file to published outputs. Each step links to a dedicated walkthrough for details.
Step 1: Upload Ontologies (Optional, Do This First)

If your organization has its own vocabularies, upload them before you process data:
- Open Settings from the user menu, then Preferences, then the Modeler Information section, and under Preferred Ontologies click Manage Ontologies (this opens
/app/ontologies) - Click Upload Ontology
- Choose a file (.ttl, .owl, .rdf, .n3 or .nt, up to 10 MB), enter a namespace abbreviation of at most 15 characters and the namespace URI, and choose an access level
SDCStudio ships no ontologies; the list shows the ones you upload, the ones your teammates shared at Team or Corporate level, and any uploaded as Public. The public libraries (Default, NIEM, FHIR, NIH_CDE and fourteen more) are projects whose published components you can copy or reference, not vocabularies. Ontologies you upload are offered to the AI during data processing.
Deeper dive: Walkthrough 8: Semantic Linking
Step 2: Create a Project

Projects organize related data models, components, and data sources. Your account already has one project, created with it: named after you, private, and set as your default. You can build in it, rename it on its page, or create another to keep this work separate. New accounts fund the wallet with at least $10 (10,000 credits) at /app/welcome before anything else in the app opens; the public catalog API needs no account.
- On the dashboard, click New Project (or open Projects and click New Project)
- Enter a Name (for example "Customer Analytics") and an optional Description
- Click Create Project
Deeper dive: Walkthrough 10: Working with Models and Projects
Step 3: Upload a Data File

- Open the user menu and click Upload Data (the Data Sources page), then click Upload New Data
- Select Project
- Choose the File Type: CSV, or Markdown dataset template (an MD2PD template with YAML front matter)
- Choose a file (.csv or .md, up to 50 MB)
- Click Upload File
Your file appears on the Data Sources page with an Uploaded badge.
Deeper dive: Walkthrough 3: Uploading Data and AI Processing
Step 4: Watch AI Processing

SDCStudio processes your file in two stages. Watch the status badge on the Data Sources page.
Stage 1: Structural Parsing (30 seconds to 2 minutes):
Uploaded → Parsing → Parsed
The system reads the file, identifies columns, and infers basic data types. No AI/LLM calls happen here; this is fast, deterministic parsing.
Stage 2: AI Enhancement (1 to 5 minutes):
Parsed → Agent Processing → Modeling → Completed
AI agents analyze each column for semantic meaning, detect patterns (email, phone, date formats), suggest validation rules, and create SDC4 components with appropriate types.
If parsing fails the status is Error and the file is uploaded again after the fix; if the agent stage fails it is Agent Error, and Retry Processing on Data Sources runs that stage again without re-uploading or re-parsing.
Deeper dive: Walkthrough 3: Uploading Data and AI Processing
Step 5: Review the Generated Model

Once the status shows Completed:
- On Data Sources, click View Details on the completed row, then View Data Model in the dialog, or open your project and find the model in its Data Models (n) list
- Explore the structure:
- Data Model: top-level container
- Cluster: logical grouping of all fields
- Components: individual data elements
For a CSV with columns customer_id, name, email, signup_date, status, the AI creates:
Data Model: customers
└── Cluster: customers Data Cluster
├── customer_id (XdCount: non-negative integer)
├── name (XdString: text)
├── email (XdString: with email pattern validation)
├── signup_date (XdTemporal: ISO 8601 date)
└── status (XdString: enumeration active/inactive)
Each component includes a label, description, data type, and validation rules that the AI inferred from your data.
Deeper dive: Walkthrough 4: Understanding Components and Data Types
Step 6: Edit a Component

You can refine any component the AI created:
- Open Components (
/app/components) or click a component in the model view - Click the Edit button (only visible for unpublished components)
- The stepped edit form opens with five steps for data types (four for structural and contextual types, which have no Advanced Settings):
- Basic Information: project, label, description, language, public flag
- Type-specific step, for example String Constraints: regex, length, enumerations
- Advanced Settings: sequence number, UI type, hard validate, XdAny flags
- Semantic Linking: RDF predicate-object pairs
- Review & Save: summary with Save and Save & Publish (owner and admin only)
In edit mode you can navigate freely between steps: click any step in the stepper to jump to it.
Deeper dive: Walkthrough 6: Editing Components
Step 7: Publish the Model

Publishing is a one-time, irreversible operation that locks the model and enables output generation. There is one Publish button, it acts immediately, and there is no confirmation dialog.
Publication order matters: 1. Publish all child components first (Save & Publish on each) 2. Publish the cluster; SDCStudio refuses while any member component is unpublished 3. Publish the data model; SDCStudio refuses while its Data cluster is unpublished 4. Generate the package (also one-time only)
After publication, the model and its components cannot be edited, unpublished or deleted. If you need changes, use Copy: it creates an unpublished "COPY -- ..." item that records where it came from, which you then rename, edit and publish. Retire (owner and admin) takes the old item out of the lists while keeping it resolvable.
Deeper dive: Walkthrough 9: Publishing and Generating Outputs
Step 8: Download Outputs

On a published model, the Model Generation card has one Generate button (one-time). When it finishes, the button becomes Download Complete Package (ZIP). There are no per-file downloads. The ZIP contains:
| File | Purpose |
|---|---|
dm-{id}.xsd |
XML Schema for validation |
dm-{id}.xml |
XML template: the Governed Data Record with a placeholder at every value |
dm-{id}-instance.json |
JSON instance data |
dm-{id}.jsonld |
JSON-LD semantic schema |
dm-{id}.html |
Human-readable documentation |
dm-{id}.rdf |
Extracted RDF triples (RDF/XML) |
dm-{id}.ttl |
The same triples in Turtle |
dm-{id}_shacl.ttl |
SHACL constraint shapes |
dm-{id}.gql |
GQL CREATE statements |
dm-{id}.sha1 |
SHA-1 hash of the XSD |
dm-description.xsl |
The stylesheet the schema references |
SHACL_README.md, README-AI-PROMPT.md |
Usage guides |
After the package exists, a Generate App (choose one) card offers a Lightweight or Enterprise application build, followed by Download App (1,500 credits the first time per model, free after).
Deeper dive: Walkthrough 9: Publishing and Generating Outputs
Key Concepts

Projects
Projects are top-level containers that organize related work. A project can hold multiple data models, each with its own components and clusters. Use projects to group models by domain, department, or initiative. A project is either public or private (shown as a badge); public projects are curated, there is no user toggle.
Data Models
A data model is the top-level SDC4 structure. It has a title, description, and status (Draft, Published, or Retired). A model contains a Data cluster that groups all components, plus optional sections for Subject, Provider, Participations, Protocol, Workflow, Access Control Service, Audits, Attestation, and Related Links.
Clusters
Clusters group related components into logical units. A "Customer" cluster might contain name, email, and phone components. A cluster can also hold other clusters, but shallow structures are easier to read and maintain.
Components
Components are individual data elements, the building blocks of your model. Each component has: - A type (XdString, XdCount, XdTemporal, and so on) - A label (human-readable name) - A description (purpose and usage) - Validation rules (patterns, ranges, enumerations) - Semantic links (RDF predicate-object pairs to ontology concepts)
Components represent individual fields in your data.
Summary
The SDCStudio workflow is:
- Upload your own ontologies (optional)
- Create a project
- Upload a data file
- Watch the two-stage AI pipeline create a model
- Review and refine components
- Publish (irreversible): components first, then the cluster, then the model
- Generate the package (one-time)
- Download the ZIP of outputs
At each step, you control the process. The AI gives you a strong starting point; you refine it to match your exact requirements.
A script or an AI agent can take the same path without the browser, through the assembly API and sdcmodeler: it reuses what the catalog has, shows you an estimate, and builds and publishes the model under a key whose limits you set. See the assembly reference.
Next walkthrough
Uploading Data and AI Processing covers the details of file upload, supported formats, and what happens during each stage of AI processing.