Closed joneubank closed 4 months ago
@edsu7 Can you review the example I used to justify this change? I took it from the example you wrote in the comment on the conditional restrictions draft PR. The updated version is how I imagine you would prefer to capture this data.
The
meta
property of dictionaries, schemas, and fields are currently restricted to being a flat key-property object. We have since found relevant use cases where we would like to be able to have nested data structures. We want to change the Lectern meta-schema to allow allmeta
properties to allow nested objects.Example Use Case
The following is a proposed partial field definition for a
date_of_birth
field in a proposed schema. There is a desire to indicate how this field maps to other ontologies or data structures. This is done with ameta
property namedmappings
In the current system, a complicated string with different delimiters is provided. It is fine for human reading but can't easily be used programatically without string parsing.
When meta fields are allowed to be nested we could instead represent this data as follows:
Detailed Description
meta
value type validations that are used in all levels of the Lectern meta schema (Dictionary, Schema, Field)meta
value object to be a meta object.meta
values have an unrestricted amount of nesting to work with