INCATools / INCATools/ontology-access-kit
`ProntoImplementation` Obograph: Differences found compared to `owlapi`/`robot`
- Dominant language
- Python
- Stars
- 198
- Forks
- 35
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 1
Description
## Overview
I'm trying to use OAK to get an Obograph, and tried `ProntoImplementation`. I noticed that there are differences between what the `bioontologies` package gives me, and what `ProntoImplementation` is giving me. It looks like `ProntoImplementation` still needs to implement certain Obograph properties, and certain other properties may be problematic (more info in discussion).
## Example
These are some screenshots from PyCharm, inspecting the Obograph object for a recent version of `mondo.owl`.
### ProntoImplementation

### Bioontologies

## Discussion
### I. Empty properties
- [ ] 1. `id`
- [ ] 2. `meta`
- [ ] 3. `domainRangeAxioms`
- [ ] 4. `logicalDefinitionAxioms`
- [ ] 5. `propertyChainAxioms`
### II. Potentially incomplete/problematic properties
- [ ] 1. `nodes`: 41,549 vs `bioontologies` 44,865
- [ ] 2. `edges`: 85,787 vs `bioontologies` 85,146
I didn't quite have the time to do further analysis on this. I would have liked to (i) serialize these to JSON and link them here, (ii) look through the differences in `nodes` and `edges` to find specifically which nodes/edges are missing.
Another thing I don't know about is `equivalentNodesSets`. It's an empty list in my `ProntoImplementation` object, but also in my `bioontologies` object, so I can't tell at a glance if this is among the properties in `ProntoImplementation` that has not been implemented.
There are some further differences; some properties in one but not the other. But I think that other than all the properties listed in (I) and (II) above, these are not part of the [Obographs schema](https://github.com/geneontology/obographs/blob/master/schema/obographs-schema.json), so those are not problems. One of the properties that could probably be removed from `ProntoImplementation`, though, is a top level property `lbl` (for "label"). I think this is only supposed to appear in `nodes`.
## Related
- #338
Contributor guide
Research direction
Start with the ProntoImplementation Obograph output and compare it with the Obographs schema and the bioontologies output described here. Investigate the empty properties and the node and edge count differences, using #338 for related context. Done means the missing or problematic properties and graph differences are identified and addressed, with the result checked against the schema.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100