Does order in a DQL query matter?

This is expected. This is an edge count. So line 1 and 2 are independent.

This is not the recommended way. We don’t have any reference to this usage in docs. So anything not documented is just bug or adventures.

The recomended would be.

{  
   var(func: eq(isRootNode, true)) {
      MN as myNode
   }
   myNodeTotal(func: uid(MN)) {
        count(uid)
  }
   myNodeNoBob(func: uid(MN)) @filter(NOT eq(name, "Bob")) {
        count(uid)
  }
}

This shouldn’t happen. Cuz they are independent. It could be correlated if you use variables.