biolink-model icon indicating copy to clipboard operation
biolink-model copied to clipboard

Annotation class doesn't make sense to me

Open ramonawalls opened this issue 2 years ago • 3 comments

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.

ramonawalls avatar Dec 22 '21 00:12 ramonawalls

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?

sierra-moxon avatar Jan 19 '22 00:01 sierra-moxon

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.

ramonawalls avatar Jan 19 '22 01:01 ramonawalls

@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.

ramonawalls avatar Jan 19 '22 15:01 ramonawalls