Instead of loading all attributes as a single dict, it would probably be better to have each attribute as a path /path/to/node@attr_name that can be validated in the same way.
We could then treat each attribute we care about in a schema like a pseudo-JSON entity and apply JSON Schema for scalar values, lists and more complex types.
Open question: How to distinguish between arbitrary strings and serialized JSON?
Instead of loading all attributes as a single dict, it would probably be better to have each attribute as a path
/path/to/node@attr_name
that can be validated in the same way.We could then treat each attribute we care about in a schema like a pseudo-JSON entity and apply JSON Schema for scalar values, lists and more complex types.
Open question: How to distinguish between arbitrary strings and serialized JSON?