SAEON / odp-server

Source code for the SAEON Open Data Platform server components.
GNU Affero General Public License v3.0
0 stars 2 forks source link

A tag-based metadata ontology #29

Closed marksparkza closed 3 months ago

marksparkza commented 5 months ago

The record-schema link is removed. The ODP tagging framework provides a way to define a unified, standards-independent ontology for describing digital objects.

ISO 19115, DataCite, Darwin Core, etc, can be used to validate incoming package metadata from data providers. Thus, we can publish an upload API based on internationally-recognised metadata standards. Similarly, we can publish catalog API output endpoints conforming to recognised standards. There is, however, no advantage in maintaining metadata records internally as JSON blobs.

JSON is a transport format which we are currently using as our internal model. It's difficult to make ad-hoc queries for deeply nested values, and it's practically impossible to track changes to individual elements, to mention a couple of challenges with this approach. Using tags to store metadata values, we can standardise our internal vocabularies; we get per-client and per-user tracking of individual field changes; and we can systematically model, normalize and reuse components of complex elements - affiliations, contact info, and so on.

marksparkza commented 3 months ago

The concept of a unified, standards-independent ontology is now being implemented with respect to packages rather than records - see the remarks for commit af333d9986e0f8749d26af0a383d928120ab1d10.

This makes sense on a number of levels: