Open lzehl opened 3 months ago
@Lyuba, how will this apply to @ids for instances?
Having seen how this works out in practice, in the PRs created by @Raphael-Gazzotti , I think we would be losing something by removing all information about modules from the .schema.tpl.json files. Given that openMINDS is developed over multiple GitHub projects, with one per module, it is often important during development to know to which module a given type belongs.
I would therefore like to suggest the following: instead of using plain type names in the templates, we use a CURIE including the module name. Example:
"_type": "LivePaperResourceItem",
"_linkedTypes": [
"Organization",
"WebService",
"Service"
]
⬇︎
"_type": "publications:LivePaperResourceItem",
"_linkedTypes": [
"core:Organization",
"core:WebService",
"controlledTerms:Service"
]
The prefixes can then be expanded according to the version. For older versions:
core -> https://openminds.ebrains.eu/core
controlledTerms -> https://openminds.ebrains.eu/controlledTerms
while for future versions, all the prefixes expand to the same namespace:
core -> https://openminds.om-i.org/types
controlledTerms -> https://openminds.om-i.org/types
The pipeline is generating this (which I assume is not the intention): https://github.com/openMetadataInitiative/openMINDS/blob/0ad2cb6c96d1b9025e41ef2a0d247221ba44d908/schemas/latest/chemicals/amountOfChemical.schema.omi.json#L2-L4
The pipeline hasn't been updated yet to reflect the latest schema changes. This is affecting namespace autocompletion and vocabulary matching.
Isn't it better to update the pipeline prior to changing the schemas, especially if this is pushed to main?
Also note that descriptions are missing from the types.json as well as schema.omi.json files: Example: https://github.com/openMetadataInitiative/openMINDS/blob/main/schemas/latest/controlledTerms/ageCategory.schema.omi.json
@ehennestad there is a dependency that we cannot avoid. we need to have the submodules ready prior to the pipeline change. the missing descriptions are a temporary issue. thanks for your patients
old namespaces: (openminds version <= v3)
new namespaces: (openminds version >= v4)
SUBMODULENAME: lowerCamelCase SCHEMANAME: UpperCamelCase PROPERTYNAME: lowerCamelCase
How to change / switch to the new namespace:
openMINDS (main); pipeline branch: 1) add default namespace to versions.json / versions-dev.json files 2) update build pipeline to use default namespaces of version files for types and properties
openMINDS submodules; version branches: 1) remove all full namespaces for schema types 2) remove all instances folders (as unrelated cleanup)
@openMetadataInitiative/openminds-developers please comment if I forgot something or if something is unclear