Open cmungall opened 1 year ago
Upping the priority of this
See
Which will be in 0.3.0: https://github.com/jannahastings/py-horned-owl/releases/tag/v0.3.0rc1
Note this change will likely involve a change at the interface level, as we are using funowl objects here
output will be limited to .owx
and input to rdf/xml or owx, see: https://github.com/jannahastings/py-horned-owl/issues/18 -- unless we convert with robot on the fly
py-horned-owl can provide very fast access to owx/rdf-owl. The underlying data structures are low level s-expressions but we would wrap them and provide both the OwlInterface as well as more bioinformatician friendly ones.
It's advertised as experimental. Initial explorations (os x/arm64) revealed it to install easily and work with a variety of rdf-xml files (I didn't test on owx, it's a useless format).
I didn't test comprehensively but it faithfully preserved complex nested logical structures in ontologies like uberon:
I identified the following gaps:
The first could be worked around, so long as roundtripping (e.g. kgcl) was not desired
The second is a more major limitation given how often axiom annotation is used. however, it would still be possible to do a variety of useful operations.
Another question is regarding releases and distribution of wheels. We would want to be very careful about adding rust dependencies to core OAK (plugins fine). See also:
247