INCATools / INCATools/ontology-access-kit
Resolve sqlite handling differences when using Semsimian and when on Windows
- Dominant language
- Python
- Stars
- 198
- Forks
- 35
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 1
Description
At present, OAK semsim operations using Semsimian pass a sqlite resource path to Semsimian, where the DB is actually loaded.
#631 covers some of this, but it's kind of messy - ideally, OAK will just pass the filepath to Semsimian and then it will be processed accordingly.
The current approach also breaks in Windows as the filepath isn't parsed in the way Semsimian expects.
@cmungall says:
> I’m a bit worried about the logic. It will work but it’s odd, as you either have one strategy or the other:
> 1. it’s the job of OAK to query sqlite and pass those to semsimian (caching results)
> 2. oak just passes the sqlite handle to rust and says “you handle it all”
> ...
> ideally it would be a prioritization scheme so it uses 2 if a sqlite is being wrapped, otherwise defers to 1
Contributor guide
Research direction
Start by tracing OAK semsim operations that use Semsimian and the Semsimian sqlite resource-path handling described in the issue. Compare the current path behavior on Windows with other platforms and resolve whether OAK passes a filepath or delegates through a sqlite handle. Done means sqlite-backed Semsim operations use a consistent strategy without Windows path parsing failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust, sqlite
- Domain
- backend-api-design, databases
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100