INCATools / INCATools/ontology-access-kit

add adapter for py-horned-owl

Open
#438 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
198
Forks
35
Avg merge
3d 4h
Merged PRs (30d)
1

Description

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:

- https://github.com/jannahastings/py-horned-owl/issues/9
- https://github.com/jannahastings/py-horned-owl/issues/10

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

Contributor guide

Open the contributing guide

Research direction

Start by reviewing py-horned-owl issues 9 and 10, the limitations described here, and OAK issue #247. The issue does not identify files or tests; done would require agreeing on an adapter design that exposes the OwlInterface and bioinformatician-friendly interfaces while addressing distribution and annotation constraints.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.