A tour of the mining model
The sample domain in mining-domain has 56 classes in eight groups. The model graph shows them all; its Groups tab shows them group by group.
Corporate
A Company is keyed by its ticker. It embeds its officers, directors and share classes, which have no key of their own and so live inside the company. It references its properties, financings and filings by key. People are Person objects, referenced by officers, directors, shareholders and option grants. Example: FLR.
Land and tenure
A Property belongs to a company and a jurisdiction, and embeds its claims, permits and royalties. Agreements and streams are objects of their own: agr-1, str-1.
Geology and resources
Deposits sit on properties and carry resource estimates: dep-frost and re-frost-2026. The drilling chain has its own page: DrillingPrimer.
Studies, production and people
Technical studies (ts-frost-pea) run a price deck through capex and opex items. Mines, plants and camps describe operations (mine-viper), and production periods and shipments record output.
Two things to notice
- Keys decide storage. A class with a
@keyis stored and can be referenced (<>Company). A class without one, such as Address, can only be embedded. - Both sides. The model declares both sides of several relationships, for example
Company.propertiesandProperty.owner. d2 wants one side declared and infers the other; the object browser shows these as model warnings. See the spec, 6.1.1a.