INCATools / INCATools/ontology-access-kit

Commands that treat empty lists as "all" should return no lists of a query that has zero results is passed

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

Description

In OAK, some commands will treat an empty list as "all"; e.g.

`obi relationships`

Shows all relationships in the ontology.

This behavior becomes confusing when the user passes a query via the OAK expression language and the query returns zero result. Currently no distinction is made between a zero-extent query result and zero terms passed by the user.

Zero-result queries should be treated differently from no input passed. The former should be treated as the true empty set.

_Originally posted by @turbomam in https://github.com/INCATools/ontology-access-kit/issues/807#issuecomment-2391670302_

Contributor guide

Open the contributing guide

Research direction

Begin with the `obi relationships` command and the OAK expression-language query path, tracing how omitted input is distinguished from a query that produces zero terms. Reproduce both cases and update the behavior so no input still means all relationships while a zero-result query returns no relationships; verify both command paths with the project's tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.