Data Hierarchy (Concise Model)
Data Hierarchy (Concise Model)
We define three structural object types:
- Catalog
- Dataset
- Data File
1. Catalog
A listing of datasets.
Examples:
- Institutional portal (World Bank)
- Thematic grouping (Human Rights Data)
- Your own curated grouping
A collection is special case of a thematic catalog β often small.
So:
Collection = special, small Catalog (semantic subtype)
A catalog:
- Contains datasets
- May contain sub-catalogs
- Does not itself need to be data
2. Dataset
A coherent structured data concept defined by schema and coverage.
Important:
- A dataset is a logical unit.
- It may contain multiple data files.
- It may have sub-datasets (handled via parent relationship).
Examples:
- βUS GDP 1900β2020β
- βHuman Rights Violations Indexβ
3. Data File
A concrete file artifact.
Examples:
gdp.csvindex_2024.json
This is the storage layer.
Hierarchy Diagram
Catalog
β
βββ Dataset
β βββ Dataset (sub-dataset)
β β βββ Data File
β βββ Data File
β
βββ Dataset
βββ Data File
Parent Model
Keep it simple:
type: catalog | dataset | datafile
parent: <id> # single structural parent
Rules:
- Catalog β contains datasets
- Dataset β contains datasets or datafiles
- Datafile β leaf node
Avoid multi-parent structural trees.
Core Principle
Everything is a node in a typed hierarchy.
Catalogs organize. Datasets define structure. Data files implement datasets.
Thatβs enough structure to scale without overengineering.