Open cthoyt opened 1 year ago
Further thoughts in this slide deck
Note this is an active area of research, it's easy to get into modeling muddles here, see for example this paper: https://www.semantic-web-journal.net/system/files/swj3480.pdf
I contacted the authors and they are interested in our use case. One of them is speaking at this conference on metaclass modeling next week: https://jku-win-dke.github.io/MULTI2023/
They also said that in their wikidata analysis "gene" was the most problematic concept :-)
This is an epic issue about how to model metaclasses in ontologies
Charlie's original question
I asked a question on the OBO Foundry slack, but I think it would be valuable to duplicate it here
I'm also going to copy @cmungall's response here, since this probably warrants at least a blog post from his side (I hope!) and potentially some documentation into OBO Foundry best practices. Here's what he said:
There are two questions here: what property to use to link classes to metaclasses, and what vocabulary to use for the metaclasses themselves. I’ll stick to the former for now. This is all assuming you want to keep modeling as classes at all (which is not a foregone conclusion; many people find OBO unintuitive here). Here is how it is currently done:
rdfs:comment
and a tacit controlled vocabulary of string values. See this PRO issue: https://github.com/PROconsortium/PRoteinOntology/issues/150 As you point out, NCBITaxon uses its own has_rank annotation property, and for values has a URIs sneakily introduced into the main NCBITaxon namespace itselfThis is a mess. Most people don’t realize it’s a mess because they don’t realize there is a common shape to what is currently a lot of bespoke hacks. This becomes quite pressing for things like genes where there is clearly a distinction between gene entities as denoted by HGNCs and the OBO approach of lacking a formal way to distinguish between the forms of “eukaryotic gene” and “sonic hedgehog gene upstream of a specifically modified region of DNA in the epidermal cell of my left pinky”. I would advocate for biolink:category or analogous property. It’s simple yet theoretically sound and avoids many metamodeling pitfalls (unfortunately W3C standards have a lot of unnecessary traps for us here, and while annoying, they can’t be ignored)
Other Resources