Skip to main content
Version: V2-Next

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:

ResourceURL
Data Models portal (browse all subjects and models)https://smartdatamodels.org/
Central index of subjectshttps://github.com/smart-data-models/data-models
Per-subject repositorieshttps://github.com/smart-data-models/dataModel.<Subject>

Frequently used subject repositories:

SubjectRepository
Weatherhttps://github.com/smart-data-models/dataModel.Weather
Environmenthttps://github.com/smart-data-models/dataModel.Environment
Parkinghttps://github.com/smart-data-models/dataModel.Parking
Transportationhttps://github.com/smart-data-models/dataModel.Transportation
Energy (CIM)https://github.com/smart-data-models/dataModel.Energy
Street Lightinghttps://github.com/smart-data-models/dataModel.StreetLighting
Waste Managementhttps://github.com/smart-data-models/dataModel.WasteManagement
Water (quality/consumption)https://github.com/smart-data-models/dataModel.WaterQuality
Point of Interesthttps://github.com/smart-data-models/dataModel.PointOfInterest
Buildinghttps://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.