title: GraphQL: A schema must have a query operation defined
body: <p>My IDE (Phpstorm with JS GraphQL) is giving me the title error for my schema. </p>
  
  <p>I'm new to GraphQL, what should the query be set to if the actual query operation only has a mutation at the root level? </p>
  
  <p>Below is an actual query taken out of a (Shopify) tutorial for their GraphQL API. I'm copying my local schema definition below which attempted to accommodate its shape.</p>
  
  <p>As you can see, The query is entirely nested in a mutation so I don't know what a query definition at the root level should even have.</p>
  
  <pre><code>// graphql.ts
  
  import "isomorphic-fetch";
  
  const buildPricingPlanQuery = (redirectUrl: string) =&gt; `mutation {
    appSubscribeCreate(
      name : "Plan 1"
      returnUrl : "${redirectUrl}"
      test : true
      lineItems : [
        {
          plan : {
            appUsagePricingDetails : {
              cappedAmount : {
                amount : 10
                , currencyCode : USD
              }
              terms : "Up to 50 products"
            }
          }
        }
        {
          plan : {
            appRecurringPricingDetails : {
              price : {
                amount : 10
                , currencyCode : USD
              }
              terms : "some recurring terms"
            }
          }
        }
      ]
    )
    {
      userErrors {
        field
        message
      }
      confirmationUrl
      appSubscription {
        id
      }
    }
  }`;
  
  
  export const requestSubscriptionUrl = async (ctx: any, accessToken: string, shopDomain: string) =&gt;  {
    const requestUrl = `https://${shopDomain}/admin/api/2019-10/graphql.json`;
  
    const response = await fetch(requestUrl, {
      method : 'post'
      , headers : {
        'content-type' : "application/json"
        , 'x-shopify-access-token' : accessToken
      },
      body : JSON.stringify({query: buildPricingPlanQuery(`https://${shopDomain}`)})
    });
  
    const responseBody = await response.json();
    const confirmationUrl = responseBody
      .data
      .appSubscriptionCreate
      .confirmationUrl;
  
    return confirmationUrl;
  };
  </code></pre>
  
  <pre><code>// pricingSchema.graphql
  
  # ------------ Minor Types
  
  enum CurrencyCode {
    USD
    EUR
    JPY
  }
  
  type cappedAmount {
    amount: Int
    currencyCode : CurrencyCode
  }
  
  type appUsagePricingDetails {
    cappedAmount: cappedAmount
  }
  
  input PlanInput {
    appUsagePricingDetails: cappedAmount
    terms: String
  }
  
  type userErrors {
    field: String
    message: String
  }
  
  type appSubscription {
    id: Int
  }
  
  # ------------ Major Type and Schema definition
  
  type PricingPlan {
    appSubscribeCreate(
      name: String!
      returnUrl: String!
      test: Boolean
      lineItems: [PlanInput!]!
    ): String
    userErrors: userErrors
    confirmationUrl: String
    appSubscription: appSubscription
  }
  
  schema {
    mutation: PricingPlan
  }
  </code></pre>