All Matadisco records are using the same Lexicon. When consuming it from the firehose/jetstream, you can all records. Though you likely are only interested in a specific group, e.g. satellite imagery or podcasts. Therefore some additional data to allow filtering is needed. I propose tags. It would be a top-level field and contain an array of strings. Example:
{
"tags": ["stac", "sentinel-2-l2a"]
}
The author of the record could put anything in there they like. One could put in wrong information, but as any record contains the originate account, you could filter adversaries/spammers out. Or you can make it opt-in and maintain an allowlist for your system and deny all other records for other accounts.
Tags can then even be used for extending the Lexicon independent of the main Lexicon. There could be a convention that each tag might add a top-level field of type ref. So you could then have:
{
"stac": {
"$type": "org.example.stac",
"geometry": …,
},
"tags": ["stac", "sentinel-2"]
}
So communities could start experimenting with different lexicons for the same tag. Once there's an agreement of a single common one, it could be added to the main Matadisco Lexicon as top-level field with the corresponding ref to that lexicon.
All Matadisco records are using the same Lexicon. When consuming it from the firehose/jetstream, you can all records. Though you likely are only interested in a specific group, e.g. satellite imagery or podcasts. Therefore some additional data to allow filtering is needed. I propose tags. It would be a top-level field and contain an array of strings. Example:
{ "tags": ["stac", "sentinel-2-l2a"] }The author of the record could put anything in there they like. One could put in wrong information, but as any record contains the originate account, you could filter adversaries/spammers out. Or you can make it opt-in and maintain an allowlist for your system and deny all other records for other accounts.
Tags can then even be used for extending the Lexicon independent of the main Lexicon. There could be a convention that each tag might add a top-level field of type
ref. So you could then have:{ "stac": { "$type": "org.example.stac", "geometry": …, }, "tags": ["stac", "sentinel-2"] }So communities could start experimenting with different lexicons for the same tag. Once there's an agreement of a single common one, it could be added to the main Matadisco Lexicon as top-level field with the corresponding ref to that lexicon.