{"id":37651960,"url":"https://github.com/stac-extensions/themes","last_synced_at":"2026-01-16T11:34:53.233Z","repository":{"id":37395414,"uuid":"505723784","full_name":"stac-extensions/themes","owner":"stac-extensions","description":"A knowledge organization system used to classify the resource (controlled vocabularies / keywords)","archived":false,"fork":false,"pushed_at":"2023-05-11T18:46:56.000Z","size":16,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-01-27T16:45:35.818Z","etag":null,"topics":["keywords","stac","themes","vocabularies"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stac-extensions.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-06-21T06:49:41.000Z","updated_at":"2023-10-13T04:58:24.000Z","dependencies_parsed_at":"2022-07-27T15:54:27.790Z","dependency_job_id":"90c6c9f8-6d04-4bb7-8c2c-c930126feff3","html_url":"https://github.com/stac-extensions/themes","commit_stats":{"total_commits":8,"total_committers":3,"mean_commits":"2.6666666666666665","dds":0.25,"last_synced_commit":"e15fc54e08738d1d6d4f94be43f6ea990fff82a3"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":"stac-extensions/template","purl":"pkg:github/stac-extensions/themes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-extensions%2Fthemes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-extensions%2Fthemes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-extensions%2Fthemes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-extensions%2Fthemes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stac-extensions","download_url":"https://codeload.github.com/stac-extensions/themes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-extensions%2Fthemes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478349,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["keywords","stac","themes","vocabularies"],"created_at":"2026-01-16T11:34:52.564Z","updated_at":"2026-01-16T11:34:53.220Z","avatar_url":"https://github.com/stac-extensions.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Themes Extension Specification\n\n- **Title:** Themes\n- **Identifier:** \u003chttps://stac-extensions.github.io/themes/v1.0.0/schema.json\u003e\n- **Field Name Prefix:** -\n- **Scope:** Item, Catalog, Collection\n- **Extension [Maturity Classification](https://github.com/radiantearth/stac-spec/tree/master/extensions/README.md#extension-maturity):** Proposal\n- **Owner**: @emmanuelmathot @m-mohr\n\nThis document explains the Themes Extension to the [SpatioTemporal Asset Catalog](https://github.com/radiantearth/stac-spec) (STAC) specification.\nThis extension is meant to support knowledge organization systems used to classify the resource\n(i.e. controlled vocabularies / keywords such as [Geonames](https://www.geonames.org) or [Wikipedia](https://en.wikipedia.org)).\nIf you just need \"uncontrolled\" free-form keywords / tags, please use the\n[`keywords` field](https://github.com/radiantearth/stac-spec/blob/main/item-spec/common-metadata.md#basics) instead.\nThis extension is based on the field `themes` as defined in [OGC API - Records](https://github.com/opengeospatial/ogcapi-records).\n\n- Examples:\n  - [Item example](examples/item.json): Shows the basic usage of the extension in a STAC Item\n  - [Collection example](examples/collection.json): Shows the basic usage of the extension in a STAC Collection\n- [JSON Schema](json-schema/schema.json)\n- [Changelog](./CHANGELOG.md)\n\n## Fields\n\nThe fields in the table below can be used in these parts of STAC documents:\n- [x] Catalogs\n- [x] Collections\n- [x] Item Properties (incl. Summaries in Collections)\n- [ ] Assets (for both Collections and Items, incl. Item Asset Definitions in Collections)\n- [ ] Links\n\n| Field Name | Type                             | Description |\n| ---------- | -------------------------------- | ----------- |\n| themes     | \\[[Theme Object](#theme-object)] | **REQUIRED.** A knowledge organization system used to classify the STAC entity. Each element is a concept and their respective knowledge organization system / controlled vocabulary. |\n  \n### Theme Object\n\nThe Theme Object aims at defining a normalized list of concepts based on a knowledge organization system / controlled vocabulary (e.g. geonames).\n\n| Field Name | Type                                  | Description |\n| ---------- | ------------------------------------- | ----------- |\n| concepts   | \\[[Concept Object](#concept-object)] | **REQUIRED**. One or more entity/concept identifers from this knowledge system. |\n| scheme     | string                                | **REQUIRED**. An identifier for the knowledge organization system used. It is recommended that the identifier is a resolvable URI. |\n\n### Concept Object\n\nDescribes an individual concept from the knowledge system.\n\n| Field Name  | Type   | Description |\n| ----------- | ------ | ----------- |\n| id          | string | **REQUIRED**. An identifier for the concept. |\n| title       | string | A human readable title for the concept. |\n| description | string | A human readable description for the concept. |\n| url         | string | *RECOMMENDED.* A URI providing further description of the concept. |\n\n## Contributing\n\nAll contributions are subject to the\n[STAC Specification Code of Conduct](https://github.com/radiantearth/stac-spec/blob/master/CODE_OF_CONDUCT.md).\nFor contributions, please follow the\n[STAC specification contributing guide](https://github.com/radiantearth/stac-spec/blob/master/CONTRIBUTING.md) Instructions\nfor running tests are copied here for convenience.\n\n### Running tests\n\nThe same checks that run as checks on PR's are part of the repository and can be run locally to verify that changes are valid. \nTo run tests locally, you'll need `npm`, which is a standard part of any [node.js installation](https://nodejs.org/en/download/).\n\nFirst you'll need to install everything with npm once. Just navigate to the root of this repository and on \nyour command line run:\n```bash\nnpm install\n```\n\nThen to check markdown formatting and test the examples against the JSON schema, you can run:\n```bash\nnpm test\n```\n\nThis will spit out the same texts that you see online, and you can then go and fix your markdown or examples.\n\nIf the tests reveal formatting problems with the examples, you can fix them with:\n```bash\nnpm run format-examples\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstac-extensions%2Fthemes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstac-extensions%2Fthemes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstac-extensions%2Fthemes/lists"}