ga4gh / ga4gh/refget

More powerful list endpoint for additional search function

Open
#88 2 comments 0 reactions 0 assignees View on GitHub
refget-seqcol
Dominant language
No language data
Stars
17
Forks
10
Avg merge
11m
Merged PRs (30d)
1

Description

In #4 we posed the idea that a user could use an alias (eg `grch38`) to find sequence collections with that alias.

We realized this could be made possible if we do 2 things:

1. Update the spec so that the `/list` endpoint MAY respond to a `?attr=value` request where the `attr` is an array, by treating this as filtering to any seqcols where the the array `attr` *contains* `value` as one of its elements. Previously this wasn't really defined by the spec, but if we define it, then it makes the `list` endpoint a bit more powerful because it doesn't just look for exact matches.
2. introduce the `aliases` attribute to a collection, with a formal definition (it's an array of human-readable identifiers that could be searched in this manner).

Then you'd just search by saying `?alias=grch38`. This more powerful list method could also be used for other attributes (like, "find all the arrays for which x is listed as one of the contributors", or even "find all the arrays where sequence digest xyz is in the list of sequence digests").

So we decided it could make sense to add this to the spec as a MAY extension for 1.1

The `alias` idea is also related to #79

Contributor guide

Open the contributing guide

Research direction

Start with the Refget 1.1 specification and the `/list` endpoint behavior described here, then review issues #4 and #79 for related context. Done means defining the MAY array-contains filtering behavior and formally specifying the `aliases` attribute without leaving the search semantics ambiguous.

Written by the indexing model from the issue text.

Assessment

Domain
api, documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.