-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modeling metaclasses #2454
Comments
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: 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: 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: Use a standard vocabulary and annotation property for indicating metaclass PROconsortium/PRoteinOntology#150As you point out, NCBITaxon uses its own has_rank annotation property, and for values has a URIs sneakily introduced into the main NCBITaxon namespace itself
This 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
The text was updated successfully, but these errors were encountered: