Making equivalentClass assertions in linkml
Not sure if this is already possible with the current metamodel but it would be very helpful to be able to mark a class in a schema be equivalent to another class, where the another class is in the same schema or an external schema or an external ontology.
For example, using linkml I would like to say:
my gene:
description: "My gene in my schema"
equivalent_to: "SO:0000704"
and get the following via gen-owl:
ex:MyGene owl:equivalentClass SO:0000704 .
@turbomam suggested class_uri but that seems to translate to ex:MyGene skos:exactMatch SO:0000704.
Also, @matentzn raised an observation that shouldn't class_uri be used to replace the class in the generated owl instead of saying ex:MyGene skos:exactMatch SO:0000704?
I seem to recall that is how it was in 2020/2021. Was the change intentional or a bug in the owl generator?
See also #922 -- could be adapted to these purposes.
Yes as @ialarmedalien says, the generic mapping proposal could encompass a wide variety of mapping and logical relationships.
@deepakunni3 - this has always been the behavior but this is a sensible enhancement request, I made a separate issue: #933
Thanks @ialarmedalien and @cmungall for the pointers! 👍
Thank you for clarifying about the behavior for class_uri.
So the only way to define a class as owl:equivalentClass to another class would be to use the (planned) structured mappings?
Two things that could be done v quickly
1 option on owlgen to make EC axioms for class uri to def uri 2 same but for custom annotation
On Wed, Sep 7, 2022 at 8:13 AM Deepak @.***> wrote:
So the only way to define a class as owl:equivalentClass to another class would be to use the (planned) structured mappings?
— Reply to this email directly, view it on GitHub https://github.com/linkml/linkml/issues/932#issuecomment-1239523218, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMMOJLUJX3B7OLCJY2YNTV5CWI7ANCNFSM6AAAAAAQF2ERRU . You are receiving this because you were mentioned.Message ID: @.***>
Makes sense! I think option 1 is easy to implement. And I am looking forward to seeing the structured mapping implementation :)
Fixed by #1484
Additional tests added in #1843