Commit cec227b
authored
Add Community Extension: SKOS Registry
Adds a new community extension to support a **SKOS Semantic Registry** for STAC APIs.
**Repository:** https://github.com/Healy-Hyperspatial/stac-api-extensions-skos-registry
### Motivation
This extension defines a standard mechanism to expose **SKOS (Simple Knowledge Organization System)** hierarchies as navigable **Virtual Catalogs**.
Currently, the standard [Themes Extension](https://github.com/stac-extensions/themes) allows providers to tag data with controlled vocabularies (e.g., "Forestry", "Disaster", "Optical"). However, these tags remain "dead metadata"—useful for advanced search filtering, but invisible in the API's browsing structure. Users cannot "click through" a concept to explore related datasets.
### The Solution: "Live Folders"
This extension solves that discoverability gap by generating **"Virtual Catalogs"** for SKOS concepts.
* **Input:** An Item tagged with `themes: [{id: "forestry"}]`.
* **Output:** A browseable Catalog resource at `/catalogs/theme::forestry`.
### Key Capabilities
1. **Poly-Hierarchy:** Enables items to belong to multiple parents simultaneously (e.g., *Physical Parent*=`USGS` and *Semantic Parent*=`Forestry`) without data duplication.
2. **Taxonomy Navigation:** Supports traversing the SKOS graph (Broader/Narrower concepts) via standard STAC `child` and `parent` links.
3. [cite_start]**Interoperability:** Aligns with research on geospatial interoperability (such as the [UN-GGIM Data Themes](https://arxiv.org/abs/2110.06883) [cite: 7]), facilitating "meaningful relations" between disparate datasets from different organizations.
**Implementation:**
We are currently looking at implementing this specification in the `stac-fastapi-elasticsearch-opensearch` project. The implementation leverages the **Catalogs Endpoint Extension** to provide the routing infrastructure for these virtual resources.1 parent 3a5c58b commit cec227b
1 file changed
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
0 commit comments