Skip to content
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

Adds deprecated as a node property slot added to biolink:Entity #1421

Merged
merged 2 commits into from
Nov 8, 2023

Conversation

kevinschaper
Copy link
Collaborator

I was surprised to see that the model doesn't yet have a way to represent that an entity is obsolete or deprecated. I could definitely use a double check on my exact_mapping to oboInOwl:ObsoleteClass and I'm not sure if we want to make the slot more targeted than allowing it for any named thing.

@RichardBruskiewich
Copy link
Contributor

RichardBruskiewich commented Nov 8, 2023

Another option would be to place the slot on the (abstract) biolink:Entity class which covers both biolink:NamedThing and biolink:Association classes.

I don't know how often retention of a piece of knowledge when deprecated would apply to an association instance - a knowledge statement - per say, except that perhaps it is a way of flagging that a knowledge statement, recently previously considered "true", may now be deemed "false". Of course, one can issue a second statement saying this; however, perhaps there are circumstances when the evolution of knowledge can be more accurately captured in this fashion (much as the evolution of ontology is)

@RichardBruskiewich RichardBruskiewich self-assigned this Nov 8, 2023
Copy link
Contributor

@RichardBruskiewich RichardBruskiewich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend that the 'deprecated' slot be moved upwards to biolink:Entity. This also requires removal of the is_a: node_property as well. That may make it a bit more elusive to detect in the code but I think we'll be able to (quickly) wrap this within the various Biolink libraries (BM toolkit, KGX, etc.)

As discussed over Slack, the other thought that comes to mind is to also add a "replaced by" slot to allow the deprecated entity (instance) to point to its replacement.

Admittedly, this latter idea is more feasible with entities with stable identifiers (as found in reference databases, e.g. gene loci) and harder to envision for knowledge statements (which don't have stable identifiers) but perhaps with some flexibility in the range of value and perhaps, with the use of clarifying slot_usage description comments, it may still be made more broadly useful.

The 'replaced by' functionality may already be managed in some contexts by entity identifier versions (i.e. the Genbank accession identifiers version suffixes come to mind...). I don't know how fine grained we want to get here in representing such information in KG's but it's a thought.

The range data type for 'replaced by' could just be 'string' for now (it is tempting to use uriorcurie but that may be too restrictive?)

@RichardBruskiewich RichardBruskiewich removed the request for review from cmungall November 8, 2023 17:34
@sierra-moxon sierra-moxon merged commit 0ea9a67 into master Nov 8, 2023
4 checks passed
@RichardBruskiewich RichardBruskiewich changed the title Adds deprecated as a node property slot added to named thing Adds deprecated as a node property slot added to biolink:Entity Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants