**First thing**

Appreciate this may be a bit of a stupid question, but I'm working with GraphQL having come from the RDF/Linked Data world and having a lot of trouble getting my head around how I would return a set. Essentially I want something where I could select, let's say a list of `Characters` (using the examples from the GraphQL docs) via their `id`. In SPARQL I'd be using the `VALUES` clause and then binding, something like:

```
VALUES { <http://uri/id-1> <http://uri/id-2> <http://uri/id-3> }

```

I'd assume something like this would be what I'd want (pseudocode)

```
{
  human(id: ["1", "2", "3", "4", "5"]) {
    name
    height
  }
}

```

[Aliases](http://graphql.org/learn/queries/#aliases) kind of do what I want, but I don't want to have to specify in advance or manually what the different named return values are - I want to say in my code pass a list of IDs:

```
[1 2 3 4 5]

```

...and have a query that could accept that array of IDs and return me results in a predictable non-scalar shape as per the pseudo-query above.

**Second thing**

I'm also assuming that it's in fact not possible to have a query resolve to either a `Human` or `[Human]` - that it has to be one or the other? No biggie if so, I'd just settle for the latter... but I think I'm just generally quite confused over this now.