INCATools / INCATools/ontology-access-kit
Add validation of textual definitions to OAK
- Dominant language
- Python
- Stars
- 198
- Forks
- 35
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 1
Description
The following paper https://philpapers.org/archive/SEPGFW.pdf lays out guidelines for definitions in ontologies
I summarized these here: https://douroucouli.wordpress.com/2019/07/08/ontotip-write-simple-concise-clear-operational-textual-definitions/
Validation of a lot of these could be semi-automated;
e.g.
- S1: conform to conventions (do not include definiendum at the start)
- S3: Use the genus differentia form (basic matching of text patterns)
- S7: Avoid circularity (text match to see if definition includes the definiendum)
- S11: Match text and logical definitions (performed using the [text annotator](https://incatools.github.io/ontology-access-kit/interfaces/text-annotator.html) interface)
Any validation would likely be highly sensitive test with a lot of things people would consider false positives due to natural lexical variation and style preferences etc. We could think of this as being an extremely opinionated "black" for ontologies.
Where would such a library belong?
1. In OAK (in [validator interface](https://incatools.github.io/ontology-access-kit/interfaces/validator.html))?
2. As a separate ontology library that depends on OAK?
The argument for 1 is that we already have structural checks (validation against LinkML OMO schema), some minimal lexical checks, reasoner checks (using robot plugin) in here already, so it is convenient and coherent to have a one stop shop.
Contributor guide
Research direction
Start by reading the validator interface and text-annotator interface linked in the issue, then review the cited definition guidelines and examples. The issue needs a decision on whether validation belongs in OAK or a separate library, followed by a defined initial set of checks and tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100