-
Notifications
You must be signed in to change notification settings - Fork 11
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
x-bte-refactoring: multiple input/output ID namespaces #748
Comments
Initial thoughtsThis isn't as simple as listing all the ID namespaces:
Stuff not included in this proposal, but I'm thinking over
A. The following proposal handles both "multiple input" and "multiple output" namespaces, but I wonder if handling just 1 (only "multiple outputs"?) is easier B: I wonder if the "multiple output namespaces" can be handled in post-processing, so only 1 sub-query is needed to get the info for all output namespaces C. One feature that may be nice for both inputs and outputs is a flag to toggle "multiple namespace prioritization" behavior. This is an issue with BioThings TTD output namespaces, currently handled by using different request info (see example 4 below). But I don't know how possible this is...(it may be more possible if B is implemented...)
First proposal
Examples1: multiple input namespaces that can be queried together (not different sub-query info)
(Based on MyGene's
2: multiple input namespaces that are queried separately (diff sub-query info)
(Based on MyDisease's
3: multiple output namespaces (not different sub-query info)
(Based on MyGene's
4: multiple input namespaces AND output namespaces, different sub-query info for outputs
(Based on BioThings TTD operations:
5: multiple input namespaces AND output namespaces, different sub-query info for inputs
Based on 6 current Multiomics EHR Risk operations (since 3 combinations don't actually exist in the data...)
|
I set up this proposal in the multiple-input-output branch using the smartapi-kg and api-respone-transform.js repositories |
The motivation
(This is a specific problem that involves large-scale x-bte refactoring. Let's discuss the "large issues" of x-bte refactoring one at a time.)
This proposal is to refactor the x-bte annotation unit/operation so it can include multiple input/output ID namespaces and the slightly diff querying/response-mapping/processing that may be needed to handle this.
Currently, there are many operations where the core difference is the input and/or output ID namespace. Other unique parts of the MetaEdge are the same (subject/object category, predicate, qualifier-set, source, KL/AT). This causes repetition/annoyance up to combinatorial explosion and overwhelm when writing/maintaining.
Scope: this occurs in a significant fraction of operations for every kind of API
(came out of many discussions, some documented in #656)
The text was updated successfully, but these errors were encountered: