Feat/terms: Introduce Term data model for standardized tags and features #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new data model called "Term". This model aims to standardize tags and features within the soundevent package. Previously, features and tags relied on single string values ("name" and "key" respectively), which could lead to inconsistencies in how data is described.
With the introduction of the Term object, Tag and Feature now utilize terms instead of simple strings. The Term object includes valuable metadata like a definition, a URI for unique identification and linking to standards, and other optional fields for specifying usage.
Additionally, a few common terms have been created in the soundevent.term module. This collection will be expanded in the future.
These changes are designed to be non-breaking. However, a deprecation warning has been added for those who haven't adopted the new Term classes yet. All tests and documentation have been updated to reflect these changes.
Key Changes:
New Data Model: Introduced the Term data model.
Tag and Feature Updates: Modified Tag and Feature to use Term instead of string-based namespaces.
Common Terms: Created a set of common terms in the soundevent.term module.
Deprecation Warnings: Added deprecation warnings for legacy usage.
Updated Tests and Documentation: Ensured all tests and documentation are aligned with the new changes.
Benefits:
Improved Consistency: Standardizes tag and feature naming, reducing ambiguity and confusion.
Enhanced Interoperability: Facilitates data sharing and integration by using common vocabulary.
Alignment with Best Practices: Leverages established metadata standards