Cross subnet canister invocations

Let’s assume that there exists 2 subnets A (with canister C-a and “query” method foo()) and B (with canister C-b with mutate method goo()). Can foo() invoke goo() i.e. can a “query” method invoke a “mutate” method? Does it matter if it is same subnet or cross subnet?

See the following page and particularly the table with an overview: Composite queries | Internet Computer