Different number of subgraphs call for same query

Hi Team,

I am using a single query for multiple users and depending on the users it is calling different number of subgraph calls.

Sample query

query getAssetByPath1 {
  resolveUserHome {
    ...repoMetadata
    ... on DirectoryImpl {
      assetByRelativePath(relativePath: "/cloud-content") {
        ...perUserMetadata
        ... on DirectoryImpl {
          list1: childrenConnection(
            first: 50
            orderBy: [{field: MODIFY_DATE, direction: DESCENDING}]
            filter: {dc_format: null}
          ) {
            edges {
              node {
                ...perUserMetadata
                __typename
              }
              __typename
            }
            pageInfo {
              endCursor
              hasNextPage
              __typename
            }
            __typename
          }
          __typename
        }
        __typename
      }
      __typename
    }
    __typename
  }
}

For e.g.
User1 ( only have asset with path /cloud-content and no children of /cloud-content)

  • 1 SUBGRAPH1 (Let’s say Asset Subgraph) call.

  • 1 SUBGRAPH2 (Let’s say Label Subgraph) call

    • this call uses response from 1st call made to Asset Subgraph.

User2 ( Have asset with path /cloud-content and have multiple children of /cloud-content):

  • 1 SUBGRAPH1 (i.e. Asset Subgraph) call.

  • 2 SUBGRAPH2 (i.e. Label Subgraph) concurrent call.

    • one for parent path /cloud-content.
    • second for children of /cloud-content.
    • Both calls uses response from 1st call made to Asset Subgraph.

Can you please help in understand for User 2.

if Label Subgraph calls are concurrent and both calls uses response from Asset Subgraph response, then why there are two concurrent calls? why it can’t be batched together to avoid 1 extra fanout?