A specification about describing large datasets by hand in a compact way. And a tool (in plan currently) for generating datasets from description.
We use YAML files to describe business-oriented data models, These YAML files generally follow the JSON Schema specification and have various extensions. Internally, we call these YAML files Dataschemas .
Gradually, our dataschema definitions swelled up. Several dozens of independent models, each has several to several dozens of properties, many models sharing some common properties and maybe have minor difference.
Maintaining dataschemas became a pain. We want a smarter way to express our ideas and let some engine to generate the final spec files. We already have some successful attempts, and now we want to share our ideas by this detailed specification, We're also planning to implement a tool following the specification.
-
Use data to describe data. We don't intend to invent a new or extend an existing markup language like YAML or JSON. The data description inputs can be in JSON, YAML or somethings else. Also, the output data can be in JSON, YAML or something else.
-
Make the most common behaviors as default to reduce the complexity of data description.