Adding, removing, and modifying cross-references to node metadata
- Dominant language
- Python
- Stars
- 23
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
It is very common for OBO ontologies to have cross-references (that is, `oboInOwl:hasDbXref` annotations) on definitions and synonyms, which are then interpreted as providing a source (akin to a citation in an academic paper) for the definition or the synonym.
For example (in OBO format):
```
[Term]
id: UBERON:0009058
name: faveolus
def: "A bellow-shaped respiratory unit extending from the outer wall of the lung into a central air space." [PMID:12869615]
synonym: "edicula" RELATED [PMID:12625309]
```
In fact, in several ontologies, it is _required_ that definitions have at least one such cross-reference.
KGCL does not allow to specify cross-references when adding or modifying a definition or synonym, which prevents its use on ontologies that have this kind of requirements.
KGCL should at least allow to specify cross-references when adding a definition or synonym, maybe with a syntax which could look like the following:
```
add definition "A bellow-shaped respiratory unit extending from the outer wall of the lung into a central air space." to UBERON:0009058 with xrefs PMID:12869615
create related synonym "edicula" for UBERON:0009058 with xrefs PMID:12625309
```
Alternatively or additionally, KGCL could allow adding, removing, or modifying cross-references on pre-existing definitions or synonyms.
Contributor guide
Research direction
No files or tests are named in the issue. Start by tracing KGCL's existing syntax and data model for definition and synonym changes; done means cross-references can be specified when adding or modifying these items, and can be added, removed, or modified on existing items if that option is supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100