biolink-model
biolink-model copied to clipboard
Annotation class doesn't make sense to me
Is your feature request related to a problem? Please describe.
I don't understand why attribute
and quantity value
are subclasses of Annotation. Annotation is not actually defined ("Biolink Model root class for entity annotations.") but I definitely don't think an attribute or a quantity value is an annotation in the normal sense of the word. I think in an older version, quantity value
was a subclass of float
, but that does not make sense either, so good that it was moved from there.
Note: This is important for the C-Path knowledge graph, which includes a lot of attributes and quantity values.
Describe the solution you'd like
It would make a lot more sense to me if attribute
was a subclass of named thing
.
Maybe quantity value
should be a subclass of information content entity
. It doesn't go that well with the other classes there, but that seems like the best fit.
Hi @ramonawalls - I think attribute being a class is a bit confusing too. Can you give me an example of the data you are working to handle from C-PATH?
We are dealing with a lot of quantitative observation and measurement data, for example, albumin concentration, age, or height.
Subject has attribute age (at some time). Age the attribute has a quantity value of some number and a unit of years.
Blood specimen, which is derived from subject, has attribute albumin concentration, which is reported as some quantity value and some unit like mg/l.
When I model this in OWL, I use data or measurement datum from IAO as the output of the measuring or observing process. I am looking for something similar in quantity value. Then I would normally use two data properties to make triples like "measurement datum has_value float" and "measurement datum has_unit unit".
So I don't really even need the class for quantity value, but instead I just need the relation has_quantity_value which points to a literal. However, since Biolink does not have measurement datum or something similar, I though quantity value seemed like the closest match.
@sierra-moxon, I think I now get why quantity value is a subclass of attribute, but it would probably make more sense to call it something like quantitative attribute. Height is a good example. Height is someone's attribute that could be described with the existing properties of has_unit and has_numerical_value. However, I still think it is more sensible to separate out the attribute from the data about the attribute (as I suggested in my last comment), so the has_unit and has_numerical_value slots should be properties of some information content entity (i.e. data) rather than properties of an attribute.