INCATools / INCATools/ontology-access-kit
ValueSetExpander is too eager in using sqlite:obo as a default resolver
- Dominant language
- Python
- Stars
- 198
- Forks
- 35
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 1
Description
If you create a `ValueSetExpander` without specifying a configuration, it will include a default config:
```python
DEFAULT_CONFIG = ValueSetConfiguration(default_resolver=Resolver("", shorthand_prefix="sqlite:obo"))
...
configuration: ValueSetConfiguration = field(default_factory=lambda: DEFAULT_CONFIG)
```
This is handy for OBO ontologies but is too magical. Instead it should only match this when the user specified `obo:` as the prefix.
Also it's probably best if this is not the default resolver but instead something the user has to opt in to
See also https://github.com/monarch-initiative/ontogpt/issues/346
Contributor guide
Research direction
Start by locating ValueSetExpander, DEFAULT_CONFIG, and ValueSetConfiguration in the Python package. Trace how the resolver is selected when no configuration is supplied and when the obo: prefix is explicit. Done means sqlite:obo is no longer selected implicitly, while the requested opt-in behavior works and is covered by relevant tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100