Introduction
CIVITAS/CORE Model Forge is the embedded design-time runtime for data modelling, versioning and integration configuration in the CIVITAS/CORE urban data platform.
It is consumed as Java/Spring Boot modules by a host application. The host
integrating it is portal-backend from civitas-core-platform. Model Forge is
not a standalone service.
What Model Forge Does
| Capability | Description |
|---|---|
| Schema registry | Import, version and search JSON Schema / XSD Elements |
| Dependency graph | $ref relationships as a queryable graph: dependencies, dependents, impact analysis |
| Views | Generated projections: inlined and bundled ($defs) |
| Validation | JSON Schema 2020-12 validation plus registry-aware existence checks for x-core-ref foreign keys |
| Composition | DataSet manifests referencing artifacts by URN |
| DataStructures | Named, versioned groupings of Elements |
| Standards import | XÖV standards from XRepository (XSD → JSON Schema) and FIWARE Smart Data Models from GitHub |
| CORE-IR export | DataSet manifests and their referenced artifacts for downstream pipeline engines |
Technology
| Concern | Technology |
|---|---|
| Runtime | Java 25, Spring Boot 4 compatible starter |
| Integration boundary | Embedded Java facade |
| Schema format | JSON Schema 2020-12 |
| Registry | PostgreSQL artifact registry, migrated with Flyway in a dedicated schema |
| Validation | networknt json-schema-validator |
| TypeScript artifacts | Zod / TypeScript types generated from the CORE-IR JSON Schemas |