INCATools / INCATools/ontology-access-kit
Loading performance / UX: `rdflib` --> `semsql`
- Dominant language
- Python
- Stars
- 198
- Forks
- 35
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 1
Description
## Overview
Currently, if you pass an ontology to OAK, in many/all cases except for when you provide it a pre-converted semantic-sql sqlite DB, it will load it into memory using `rdflib`, which is just too slow for many ontologies. The current way that we get around this is by pre-converting to the db, and then passing that to OAK.
The UX issue heres are (i) multiple steps, (ii) requires user to have docker, or an otherwise much more difficult set of dependencies to set up.
## Possible implementations
### a. Commit binaries
I haven't looked into this enough to know if it is feasible at all (i) obtain the binaries (I'm hoping it is as simple as just 1 file for each of the binaries listed below...), (ii) support multiple systems/architectures for this.
- [relation-graph](https://github.com/balhoff/relation-graph#installation)
- [rdftab](https://github.com/ontodev/rdftab.rs#installation)
- riot
Contributor guide
Research direction
Start with the overview and compare the installation requirements for relation-graph, rdftab, and riot across supported systems and architectures. Define a supported loading path that removes the pre-conversion and Docker steps, then verify that OAK can load an ontology without a pre-converted semantic-sql SQLite database.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, sqlite
- Domain
- cli, performance, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100