-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: the attribute endpoint #80
Comments
I like the I have 2 proposals:
|
I did wonder if we should structure as |
So you're suggesting something like this
|
What about removing the word "attribute" completely, and instead add to the |
Well, I thought the basic REST principle was that the first param in the path parameters would be the thing you're GETting..., hence (analogous to |
The /attribute endpoint has been added to the spec and ADR, so I'm going to close this issue. |
Capturing an idea from today's meeting.
Motivation
In various recent discussions, people have re-emphasized the utility of a 'sequences' digest or a 'sorted_sequences' digest. See, for example:
Among other things, these have re-raised some questions, like: should names and lengths really be required? Should we relax the requirement/recommendation of a 'core' schema and just let people use whatever schema they want?
Basically after today's rousing discussion, I see 2 paths forward:
Proposal
If we add another endpoint, we could possibly better accommodate the sequence-only-digest use cases, while maintaining the desirable interoperability of top-level digests we get from a shared core schema. Here it is:
3.3 Attribute
GET /attribute/:attribute_name/:digest
(RECOMMENDED?
):attribute_name
is the name of the attribute, such assequences
,names
, orsorted_sequences
.:digest
is the level 1 digest computed above.:digest
variable. The structure of the should correspond to the value of the attribute in the canonical structure.Example
/attribute/lengths/:digest
return value:Example
/attribute/names/:digest
return value:How this helps
With an attribute endpoint, then use cases that have no need for names and lengths could just use level 1 digests for
sequences
(orsorted_sequences
as their primary use case, and these would be interoperable with sequence collection servers. You'd just implement this endpoint instead of the/collection
endpoint, and not bother computing the top-level digests, if you had no need for that. If you needed to look up a digest in an external reference provider, you'd just use the/attribute
endpoint instead of the/collection
endpoint.We could then move 'sequences' back to required for the core schema, and use this
/attribute
endpoint to solve the coordinate system problems as well. This would have the advantage of keeping the top-level digests more likely to be interoperable because they'd be more likely to follow the same schema.The text was updated successfully, but these errors were encountered: