INCATools / INCATools/ontology-access-kit

ValueSetExpander is too eager in using sqlite:obo as a default resolver

Open
#718 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.