Closed miili closed 1 year ago
Please see PR #4
What would be the use-case where such schema is beneficial?
In my humble opinion, this "schema" seems to have most benefits for dynamically changing input, for example user input in a web form. Validity needs to be checked. However meta data from DAS projects are static.
I believe that here human readability outweighs benefits of validity checks. Additionally, JSON reader packages exist for all languages, and the addition of this schema provides rather an obstacle to import JSON into, say, MatLab or Python. Your example fails to read in both languages with the build-in functions.
I am sure JSON schema have their justification, but if the DAS meta format is suitable, I am not convinced yet.
Hi Andreas,
JSON schema is just a format to describe the metadata, not to hold the metadata. The schema describes, formalizes, confines and restricts what is expected as input. See this example here:
JSON Schema is an IETF standard providing a format for what JSON data is required for a given application and how to interact with it. Applying such standards for a JSON document lets you enforce consistency and data validity across similar JSON data.
See this example:
"start_datetime": {
"type": "string",
"format": "date-time",
"default": "",
"title": "Start date of experiment",
"examples": [
"2018-02-11T00:00:00"
]
}
It confines this field to be a date time object, gives a title and example. When we have a schema formalized in JSON schema we can:
JSON schema is the standard to describe how communication should look. It is used by most modern APIs, see e.g. https://www.openapis.org/
Ah, that was not clear from your original post. So it is another addon...
Noted on JSON schema, which is also suggested in a separate issue. Will be incorporated in the updated attributes. Keep you all posted.
I propose to formalize meta data proposal in
term/
to a machine and human readable format. I vote for json-schema, the schemas can easily be validated and translated into various other schemas, see https://app.quicktype.io/.The thingy would look like this