aka types, data models, schemas, DDL
Metadata in the context of this article refers to some way to model data. Typically it captures primitive types (string, number), compound types (records, lists), relationship between models and some kind of documentation (to make sense of data).
Data models (or schemas) can include:
- Type systems, like TypeScript, Go, Java etc.
- Including runtime data validators, like adonisjs/validator, io-ts, zod, joi, yup, ajv, superstruct
- Data serialisation schemas, like Pegaus, Avro, JSONSchema, Protocol Buffers
- Including as part of API description or as event validators in Event-Driven architecture
- API description schemas, like OpenAPI, GraphQL, gRPC
- RDBMS schemas, like entity–relationship model
- Semantic Web standards, like RDF, RDFs, SHACL, OWL, adms, dcat
- To be able to consume open ontologies, like LOV
Why do we care?
Because data model is a graph. Or it can be a used to specify (validate) graph data.