The Tabular Data Package as the one source for data definition

Since my original post, we’ve made good progress using an annotated tabular data package to autogenerate variants (different tabular data packages) of that and then associated machine-readable resources.

We’ve now concluded that we should keep a pure (without our annotations) main tabular data package with a full data structure and use separate machine readable definitions for each “application profile”. An application profile will be a tabular data package that contains a subset of the tables and fields in the main package. It might also change the optional/required setting?

Is there a standard way of documenting and generating these application profiles, i.e. these views on a full data package? All we’ve done so far is to define Jolt transformations.

Related: Is there a way of defining extra constraints? e.g. one of two fields must be populated or these must be at least one record in a one-to-many relationship (i.e. a cardinality of 1:∞)

There’s some more discussion here.

TIA