Smart Data Models Integration
Smart Data Models is an open initiative (FIWARE Foundation, TM Forum, IUDX and others) that curates thousands of free JSON Schema data models across domains such as Weather, Environment, Parking, Energy and Smart Cities. Model Forge imports these schemas directly and manages them as CORE Elements — the same way it consumes XÖV standards from XRepository.
There is no public API — the schemas live on GitHub
Smart Data Models does not expose a queryable API. Every model is a plain
schema.json file in a per-subject GitHub repository under the
smart-data-models organisation. A
model is addressed by two segments:
- subject — the repository, always named
dataModel.<Subject>(e.g.dataModel.Weather) - data model — a folder inside that repository (e.g.
WeatherObserved)
Model Forge resolves the pair to the project's fixed raw-content URL:
https://raw.githubusercontent.com/smart-data-models/dataModel.<Subject>/master/<DataModel>/schema.json
so subject = Weather, dataModel = WeatherObserved resolves to
https://raw.githubusercontent.com/smart-data-models/dataModel.Weather/master/WeatherObserved/schema.json.
The GitHub host is a fixed constant in SmartDataModelsService — there is no
configuration property, and nothing to point elsewhere. Both path segments are
validated against a safe character set (no slashes), so a caller can neither
traverse paths nor redirect the fetch to another host.
Import
ImportResult result = modelForge.importFromSmartDataModels(
new ImportSmartDataModelCommand("Weather", "WeatherObserved"));
Model Forge fetches the raw schema.json server-side through the same
SSRF-guarded, no-redirect fetch as the generic import-by-URL path
(RemoteSchemaFetcher behind the RemoteSchemaRepository port), then runs it
through the normal Element import pipeline
(Model-Centric Data Flow): the schema is
validated, $defs are split into their own Elements, CORE URNs are minted and
a DataStructure grouping is created. A malformed reference or unsafe URL fails
as an input error; an unreachable GitHub as an upstream error.
Smart Data Models schemas are JSON Schema already, so no XSD conversion step is involved — unlike the XÖV path.
Finding models
Because there is no search API, discovery happens on the Smart Data Models side. The authoritative entry points:
| Resource | URL |
|---|---|
| Data Models portal (browse all subjects and models) | https://smartdatamodels.org/ |
| Central index of subjects | https://github.com/smart-data-models/data-models |
| Per-subject repositories | https://github.com/smart-data-models/dataModel.<Subject> |
Frequently used subject repositories:
| Subject | Repository |
|---|---|
| Weather | https://github.com/smart-data-models/dataModel.Weather |
| Environment | https://github.com/smart-data-models/dataModel.Environment |
| Parking | https://github.com/smart-data-models/dataModel.Parking |
| Transportation | https://github.com/smart-data-models/dataModel.Transportation |
| Energy (CIM) | https://github.com/smart-data-models/dataModel.Energy |
| Street Lighting | https://github.com/smart-data-models/dataModel.StreetLighting |
| Waste Management | https://github.com/smart-data-models/dataModel.WasteManagement |
| Water (quality/consumption) | https://github.com/smart-data-models/dataModel.WaterQuality |
| Point of Interest | https://github.com/smart-data-models/dataModel.PointOfInterest |
| Building | https://github.com/smart-data-models/dataModel.Building |
The full, current list of subjects is the data-models index above — the
table here is a starting point, not an exhaustive registry.
Admin UI
The admin UI's Smart Data Model import page takes the same
(subject, dataModel) pair and calls the facade, so you can try an import
without writing host code.