HumanBrainProject / openMINDS

openMINDS comprises a set of metadata models for research products in the field of neuroscience.
MIT License
40 stars 13 forks source link

Discussion: Versioned /vocab #28

Open terhorstd opened 2 years ago

terhorstd commented 2 years ago

It is surprising for me to not see any reference to the used schema or vocab version in the saved data entities. Both points are not strongly related, but might touch similar issues: a) when saving a new object, I'd expect the schema version that entry conforms to, to be visible in the entry, and b) the values contain references to "https:.../vocab/..." that is also not versioned.

In the discussion we had today it seemed that the same mechanism used to bridge to external schemas same_as could be used to allow at least some flexibility in the vocabulary over time.

(in pseudo-schema notation something like)

{
   "type": "http...vocab/v2.0.0/GivenName",
   "same_as": ["http...vocab/v1.0.0/FirstName", "http...otherschema/given_name" ]
}
lzehl commented 2 years ago

@terhorstd thanks for creating the issue and sorry that it took me so long to respond.

As mentioned during the discussion: We decided to not version the vocab especially for the schema types, but rather map metadata model version to unversioned vocabs. One of the reasons: we do not have to repeat vocab that stays the same across version. (@olinux correct?)

Nonetheless you raise a very good point here. So far we deleted deprecated properties or types. If they belong though to an older (stable) version we should map them internally as you suggest via our "sameAs" (for properties) or "translatableTo" (for types). @olinux would you agree?

terhorstd commented 2 years ago

no worries. – I thought it's always easier to add a version number now and maybe never need it, than to miss it later.