NCATSTranslator / ReasonerAPI

NCATS Biomedical Translator Reasoners Standard API
33 stars 27 forks source link

Define intent and constraints on the Attribute.value_type_id field #454

Open mbrush opened 9 months ago

mbrush commented 9 months ago

@edeutsch and others have expressed the opinion that the purpose of the value_type_id field is to help computational consumers/readers of the data (e.g. the UI) know how to interpret string. e.g to unwind a CURIE, make a hyperlink for a url, or simply display free text string to the end user. Goal is to help the consuming agent do the most sensible thing with the value in this field.

On the May 23 2023 EPC Call, there was general consensus around this opinion, and that we should add clarifying text and/or formal constraints to the definition of this field in the TRAPI spec (e.g a formal enumeration to constrain values of this field so they are entered consistently).

An initial decision on the 5-23-23 EPC call was to use the built in data types in the linkml model (link, link) - the metamodel underlying biolink, and from which biolink imports its data types) . . . or some useful subset of these. And capture them as curies such as "linkml:Uriorcurie" - where we can expand the linkml prefix to into a resolvable URL as needed so users can see where these came from and how they are defined.

Current linkml data types include:

If/when we settle on final terms, we may want to update the TRAPI spec to require use of these terms (informally in the description or formally by creating an enumeration).

See related ticket in the Biolink Repo here: https://github.com/biolink/biolink-model/issues/1106