title: GraphQL resolver for certain field not being invoked
body: <p>I wrote simple GraphQL schemas and resolvers in studying purpose, and I could not get reason why my codes work as expected. I used Prisma for ORM, and <code>express-graphql</code> and <code>graphql-import</code> to compose the API.</p>
  
  <pre><code>type User {
    id: ID!
    name: String!
  }
  
  type Link {
    id: ID!
    url: String!
    user: User!
  }
  
  type Query {
    links(id: ID!): [Link!]!
  }
  </code></pre>
  
  <pre class="lang-js prettyprint-override"><code>// resolvers
  const links = async (root, args, ctx) =&gt; {
    const links = await ctx.prisma.links({
      where: {
        user {
          id: args.id
        }
      }
    }
  }
  </code></pre>
  
  <pre class="lang-js prettyprint-override"><code>// resolver for `Link` type
  const user = async (root, args, ctx) =&gt; {
    const user = await ctx.prisma.link({ id: parent.id }).user()
    return user
  }
  
  // omitted field resolver for `url` and `id`
  module.exports = {
    user
  }
  </code></pre>
  
  <p>With these codes, I expected to get <code>id</code>, <code>url</code>, <code>user</code> fields when I query <code>links</code>, but when I send the query, it returns <code>null</code> with <code>user</code> field. Which means, if I check in the server-side, the resolver for <code>user</code> field does not invoked at all. What is wrong with this?</p>