View Source Using Document Variables
GraphQL supports query documents that declare variables that can be accepted to fill-in values. This is a useful mechanism for reusing GraphQL documents---instead of attempting to interpolate values yourself.
- To support variables, simply define them for your query document as the specification expects, and pass in a 
variablesoption toAbsinthe.run. - If you're using absinthe_plug, variables are passed in for you automatically after being parsed
from the query parameters or 
POSTbody. 
Here's an example of defining a non-nullable variable, id, in a document and then executing the document with a value for the variable:
"""
query GetItem($id: ID!) {
  item(id: $id) {
    name
  }
}
"""
|> Absinthe.run(MyAppWeb.Schema, variables: %{"id" => "bar"})
# Result
{:ok, %{data: %{"item" => %{"name" => "Bar"}}}}