-
Notifications
You must be signed in to change notification settings - Fork 44
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
GA4GH GKS API review #1472
Comments
(2) and (3) are necessary due to the limitations of GraphQL. I'll look into (1) when I get a chance. |
gist with the exact graphql query I was using and all of the exact changes I made to response objects to get them to validate against the jsonschema. A lot of it is just deleting nulls, which is fine. https://gist.github.com/theferrit32/df380899e9974cb885c2780cfa82ce7a |
@phildarnowsky-broad we are okay with the graphQL schema specification not exactly matching the jsonschema, if that is necessary for the JSON response payloads to more closely match the jsonschema. For example I'm okay with just deleting the CURIE type from the graphQL, and making all the fields currently typed as |
That's not possible due to the limitation I refer to above, since in GraphQL the individual types that make up a union type (as |
Ah I see, @phildarnowsky-broad. I wasn't thinking about the limitations about what can go in graphql unions. So I think we have two options: @ahwagner do you have an opinion on this? |
I prefer option #2 as laid out by @theferrit32. GraphQL allows users to select only the fields they want, so let's just use full objects so that the returned JSON is valid per the VRS Schema without any translation step. |
I'm about to start revising this @theferrit32 and I wanted to see if you'd made the corresponding changes on your end for what we discussed above. If not NBD I can revise the GraphQL end in line with this plan anyway, we just won't be able to actually see it working ourselves until the upstream data is also updated. |
Closed by #1426 |
Some schema notes I took while testing the
va
API:(1) Numeric type mismatch means graphql cannot map
value
fields to the same query field.So currently, one/both of these must be aliased.
e.g. Number.value -> number_value, IndefiniteRange.value -> indefinite_range_value
(2) CURIE is a complex type instead of a simple string.
->
(3) VAFocusAlleleURI is a complex type instead of a simple string. Similar to CURIE.
No specific changes needed immediately, but another note:
(4) Slow-start for the scaled down cloud run / hail cluster is inconvenient,
first requests fail for a minute or so.
Action items:
IndefiniteRange.value
to make it an integer.IndefiniteRange.value
to be an integer.The text was updated successfully, but these errors were encountered: