Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add missing item_assets check + remove mlm:name unique requirement #8

Merged
merged 1 commit into from
Apr 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased](https://github.com/crim-ca/mlm-extension/tree/main)

### Added
- n/a
- Add the missing JSON schema `item_assets` definition under a Collection to ensure compatibility with
the [Item Assets](https://github.com/stac-extensions/item-assets) extension, as mentioned this specification.

### Changed
- n/a
Expand All @@ -17,7 +18,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- n/a

### Removed
- n/a
- Field `mlm:name` requirement to be unique. There is no way to guarantee this from a single Item's definition
and their JSON schema validation. For uniqueness requirement, users should instead rely on the `id` property
of the Item, which is ensured to be unique under the corresponding Collection, since it would not be retrievable
otherwise (i.e.: `collections/{collectionID}/items/{itemID}`).

### Fixed
- n/a
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,14 @@ The fields in the table below can be used in these parts of STAC documents:
- [ ] Catalogs
- [x] Collections
- [x] Item Properties (incl. Summaries in Collections)
- [x] Assets (for both Collections and Items, incl. Item Asset Definitions in Collections, except `mlm:name`)
- [x] Assets (for both Collections and Items, incl. [Item-Assets][item-assets] definitions in Collections)
- [ ] Links

[item-assets]: https://github.com/stac-extensions/item-assets

| Field Name | Type | Description |
|-----------------------------|---------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| mlm:name | string | **REQUIRED** A unique name for the model. This can include, but must be distinct, from simply naming the model architecture. If there is a publication or other published work related to the model, use the official name of the model. |
| mlm:name | string | **REQUIRED** A name for the model. This can include, but must be distinct, from simply naming the model architecture. If there is a publication or other published work related to the model, use the official name of the model. |
| mlm:architecture | [Model Architecture](#model-architecture) string | **REQUIRED** A generic and well established architecture name of the model. |
| mlm:tasks | \[[Task Enum](#task-enum)] | **REQUIRED** Specifies the Machine Learning tasks for which the model can be used for. If multi-tasks outputs are provided by distinct model heads, specify all available tasks under the main properties and specify respective tasks in each [Model Output Object](#model-output-object). |
| mlm:framework | string | Framework used to train the model (ex: PyTorch, TensorFlow). |
Expand Down
6 changes: 6 additions & 0 deletions json-schema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@
"additionalProperties": {
"$ref": "#/$defs/fields"
}
},
"item_assets": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/fields"
}
}
}
},
Expand Down
Loading