INCATools / INCATools/ontology-access-kit

`ProntoImplementation` Obograph: Differences found compared to `owlapi`/`robot`

Open
#339 2 comments 0 reactions 0 assignees View on GitHub
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
pronto implementation

### Bioontologies
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.