hubverse-org / schemas

JSON schemas for modeling hubs
Creative Commons Zero v1.0 Universal
4 stars 2 forks source link

[WIP] add draft target metadata properties. Bump to v0.0.1 #28

Closed annakrystalli closed 1 year ago

annakrystalli commented 1 year ago

Resolves discussions in https://github.com/Infectious-Disease-Modeling-Hubs/hubDocs/issues/13

Also, now contributing to v0.0.1 branch in v0.0.1 directory. When we are ready, we can merge v0.0.1 into main and release.

nickreich commented 1 year ago

Adding links to the json previews for ease of previewing:

elray1 commented 1 year ago

Some of Nick's comments on the model-schema.json file raised a bigger question for me: This file feels different in its purpose than the other two schema files, and I'm not sure we want that. The other two schema files (admin-schema.json and tasks-schema.json) define what a hub-specific configuration file should look like, but my understanding is that the model-schema.json file currently attempts to define a universal standard for what model metadata files should look like across all hubs.

Several of Nick's comments indicate that this may not be the right approach. For example, include_viz, include_ensemble, and include_eval may not be relevant to all hubs, and there are many metadata items like modeling_NPI that a particular hub may want to require modelers to submit but that are certainly not relevant to all hubs. This suggests that each hub will want to define its own version of a model-schema.json file that says what the contents of the model metadata files for that hub should look like.

If we go that route, the implication is that a file like model-schema.json doesn't belong in this repository; this file should be hub-specific. In that case, is there any role for something related to model metadata in this repository or another repository in the Infections-Disease-Modeling-Hubs organization? I see two levels of engagement we could have here:

  1. We could add example files like model-schema.json to the example hubs and the template hub. They might be different in each example hub. We should probably do this? Note that the current hub documentation does state that each hub will have a file like this.
  2. If we wanted to be thorough, we might be able to define a schema file in this repository that says what the hub-specific model-schema.json files should look like. This would be analogous to how the admin-schema.json file in this repository defines what the admin.json file in each hub repository should look like.

I could possibly be convinced otherwise, but I think 2 is likely a bit "extra", and at least we should not start there?

annakrystalli commented 1 year ago

Just for reference regarding the model-schema.json file, it was developed from the info from this docs page: https://hubdocs.readthedocs.io/en/latest/format/model-metadata.html#template-metadata-schema-file

Indeed it seems I misunderstood that the file was a template rather than a schema (my bad because I it does state it's a template in the heading, but the example also contains $schema: "http://json-schema.org/draft-07/schema" at the top so I think that's why I treated it as a schema).

Happy with either approach suggested above by @elray1 . Indeed not being prescriptive about this would allow folks to use yml formats as well (while they are constrained to json for the time being for the other two hub level files).

Given however that individual teams will have to complete these (so many of these files will have to be produced by non-administrators), it does feel like a topic we should at least have a quick chat about how we might be able to support and make as smooth as possible?

elray1 commented 1 year ago

Quick comment clarifying the status of the model-schema.json file r.e. whether it's a template or a schema: it's both :smile: It is a template of a schema file:

So I think the most appropriate place for a file like the one we have here is in the hubTemplate repository (but as discussed above, there are also other places that related files might go).

Additionally, noting that individual teams will have to create the model metadata files that are described by a hub-specific version of a schema file like this, but only the hub administrators would have to update the "template schema" to describe the hub's needs.

annakrystalli commented 1 year ago

Action re: model-schema.json: 1) remove from the schema repo. 2) Add slimmed down version to hub template

annakrystalli commented 1 year ago

Resolved model metadata schema task in 9a9b599