Have you tried:
upsert {
query {
a as q(func: uid($a)) @recurse {
uid
b as branches
c as child_groups
}
}
mutation {
delete {
uid(a) * * .
uid(b) * * .
uid(c) * * .
}
}
}