The model,drawn.
The vocabulary a company is described in — one schema per type, drawn as the graph of what references what.
Nothing here was written by hand: the page is generated from the model's own core, at the commit named beside the figure.
Drag to move · ⌘- or Ctrl-scroll to zoom
An outlined box is the folder the schemas live in. A filled square is a schema. A dashed line is a field that references another type, labeled with the field's name. Click to bring it to the center.
How to read it
A type is one schema file, named for the type. Its heading is the canonical name, and that string is what everything else references — so there is one place that says what a type is called, and one place to change it.
A line between two schemas is a field, not a link. The field is typed as a reference to another type, and the line carries the field's name — so a reference to a type no schema declares is an error, rather than a link that breaks later.
A type that is owned says so in one line. Its schema names the owner, and on disk its files nest inside the owner's folder — the ownership is stated once, in the vocabulary, and the layout follows from it.
Generated from companygraph/meta-model@HEAD — one schema per type, read by the rules in CONVENTIONS.md.