OPTIMADE
OPTIMADE copied to clipboard
Need to define "recognized" database prefix
In discussion of #376 we realized we already use the term "recognized" database prefix already in the specification, and it is not very clear.
We believe it means a prefix for which your impementation knows precisely which prefixed fields are defined.
PR #376 adds "recognized database prefix" in a place to mean this, but will not attempt to fix the issue.
I consider recognized prefixes to be those prefixes that are defined in providers.json under the "id" field. In principle, you should still add the Database's own prefix here as well, which is defined in the settings under "provider":{"prefix": "exmpl", ... } But I think that every database, once out of development, should place its prefix in the providers.json file, so I do not think that this case is important.
I consider recognized prefixes to be those prefixes that are defined in providers.json under the "id" field.
Right, which is indeed precisely not what this term has been used for in the specification :-), hence the need to clarify/change that term.
So, what would you consider a good term for a prefix that is so familiar to your implementation that you are prepared to validate what prefixed fields are available, etc.? We could of course just allow this for the implementation's "own prefix", however, we've been moving in the direction of namespaces - and some tool prefixes (e.g., _httk_, _aiida_) would work like that - so I'm hesitant to say that.
How about "supported prefixes" ?
We discussed this on the web meeting Sept 28, 2022. We probably should address this simultaneously with decoupling the prefix list and providers. (If we should that, seems to be a bit of different opinions.)