ontology-access-kit
ontology-access-kit copied to clipboard
`ProntoImplementation` Obograph: Differences found compared to `owlapi`/`robot`
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 vsbioontologies
44,865 - [ ] 2.
edges
: 85,787 vsbioontologies
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, 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
I believe biointologies is simply calling the owlapi via robot-py, so the best way to phrase this is as the difference between owlapi and oak
That makes sense. I just updated the issue title.
I am only slightly familiar with owlapi
. Isn't it robot
though that uses owlapi
to do the conversion to Obographs, though? I don't imagine that robot
is simply calling an Obographs dumper that exists within owlapi
. If I'm incorrect though I'd definitely like to know.