Replies: 2 comments 1 reply
-
Hi @wdduncan. In fact, However, it should be noted that this does not have a translation to OWL. I think this is perhaps what you meant? There are two good reasons why a PV rank is not translated to OWL
The way around both of these is to treat most PV annotations as reifications. This introduces a certain amount of complexity and bloat; it could be made optional, but that itself is introducing complexity. However, I think it's still a good proposal. Before advancing this further, would this address your need? |
Beta Was this translation helpful? Give feedback.
-
@cmungall I think I found the source of my confusion. When I was experimenting with enums, I was only only looking at the OWL generated for the schema.
is converted to:
(Side note: Is there supposed a However, when I convert (i.e.,
is converted to:
This was not what I expected. Since the permissible values are classes in the OWL translation of the schema, I expected something like this for the instance-level data:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I am working on a project that has data based on survey question. The answers to these questions modeled as Likert scales; e.g., "strongly disagree", "disagree", "neither disagree or agree", "agree", "strongly agree". Likert scales (and similar scales) are categorical ordinal variables. This allows for numerical comparisons; e.g., find all answers > "neither disagree or agree".
So, what would be the best way to represent this in linkml? You cannot use the
rank
slot enum permissible values. One thought is to use classes. E.g.:I suppose this is okay, although is doesn't feel "natural". When I translate a schema like this into OWL, it adds an
sh:order
annotation property to each class. E.g.:Unfortunately, reasoners like
hermit
don't use annotation properties (e.g.,sh:order
). It may be better to make useowl:hasValue
for the ordinal value. Something like:I don't know to model something like this in a linkml schema.
Another approach would be to model the enums as individuals and use a data property to handle the ordinal value. E.g.:
Using individuals has the advantage of not having to create a new instance of an ordinal each time the enum is used.
However, I do not know how such individuals would be included in a linkml schema.
Any thoughts on this?
Beta Was this translation helpful? Give feedback.
All reactions