title: GraphQL Stitching - Why would fields from subschemas return null?
body: <p>I'm attempting to stitch together two GraphQL schemas, one from contentful and one from neo4j.</p>
  <p>Each subschema appears to be interrogated during queries across the combined schema but &quot;foreign&quot; fields always come back as null.</p>
  <p>I just can't figure this one out.</p>
  <p><strong>Sample Query:</strong></p>
  <pre><code>query {
    //Request data exclusively from the neo4j schema
    Product(id:&quot;475e006f-b9cf-4f40-8712-271ceb46d14b&quot;){
      id,
      name,
      weight
    },
    //This is a contentful schema query which should return weight from neo4j
    product(id:&quot;[contentful-native-id]&quot;){
        id,
        weight, 
    }
  }
  </code></pre>
  <p><strong>Result:</strong></p>
  <pre><code>  &quot;data&quot;: {
      &quot;Product&quot;: [
        {
          &quot;id&quot;: &quot;475e006f-b9cf-4f40-8712-271ceb46d14b&quot;,
          &quot;name&quot;: &quot;Test product name&quot;,
          &quot;weight&quot;: 14.9
        }
      ],
      &quot;product&quot;: {
        &quot;id&quot;: &quot;475e006f-b9cf-4f40-8712-271ceb46d14b&quot;,
        &quot;weight&quot;: null //This shouldn't be null! :(
      }
    }
  </code></pre>
  <p><strong>Logging:</strong></p>
  <pre><code>//First query being executed against neo4j database
  neo4j-graphql-js MATCH (`product`:`Product` {id:$id}) RETURN `product` { .id , .name , .weight } AS `product`
  neo4j-graphql-js {
     &quot;offset&quot;: 0,
     &quot;first&quot;: -1,
     &quot;id&quot;: &quot;475e006f-b9cf-4f40-8712-271ceb46d14b&quot;
   }
  
  //Triggered by the second query correctly trying to resolve weight from neo4j
  neo4j-graphql-js MATCH (`product`:`Product` {id:$id}) RETURN `product` { .weight , .id } AS `product`
  neo4j-graphql-js {
     &quot;offset&quot;: 0,
     &quot;first&quot;: -1,
     &quot;id&quot;: &quot;475e006f-b9cf-4f40-8712-271ceb46d14b&quot;
  }
  </code></pre>
  <p>This seems to suggest something is working, but the result of weight never makes it to the final output.
  ApolloServer doesn't report any errors via didEncounterErrors()</p>
  <p><strong>Stitching:</strong></p>
  <pre><code>const gatewaySchema = stitchSchemas({
      subschemas: [{
              schema: neoSchema,
              merge: {
                  Product: {
                      selectionSet: '{id}',
                      fieldName: 'Product',
                      args: ({
                          id
                      }) =&gt; ({
                          id
                      }),
                  }
              }
          },
          {
              schema: contentfulSchema,
              merge: {
  
              }
          }
      ],
  })
  </code></pre>
  <p><strong>Schemas:</strong></p>
  <pre><code>const executor = async ({
      document,
      variables,
      context
  }) =&gt; {
      const query = print(document);
      //console.log(query);
      const fetchResult = await fetch('https://graphql.contentful.com/content/v1/spaces/[SPACE]', {
          method: 'POST',
          headers: {
              'Content-Type': 'application/json',
              'Authorization': `Bearer [AUTHTOKEN]`,
          },
          body: JSON.stringify({
              query,
              variables
          })
      });
      return fetchResult.json();
  };
  
  const contentfulSchema = wrapSchema({
      schema: await introspectSchema(executor),
      executor: executor
  });
  
  const driver = neo4j.driver(
      process.env.NEO4J_URI || 'bolt://localhost:7687',
      neo4j.auth.basic(
          process.env.NEO4J_USER,
          process.env.NEO4J_PASS
      ), {
          encrypted: process.env.NEO4J_ENCRYPTED ? 'ENCRYPTION_ON' : 'ENCRYPTION_OFF',
      }
  )
  
  const neoSchema = makeAugmentedSchema({
      typeDefs: typeDefs,
  
  });
  </code></pre>
  <p><strong>Server:</strong></p>
  <pre><code> const server = new ApolloServer({
        schema: gatewaySchema,
        context: ({ req }) =&gt; {
          return {
            driver,
            req
          };
        },
        plugins:[
          myPlugin
        ]
      });
  </code></pre>
  <p>Any insight or ideas much appreciated!</p>