Recurse at only specified predicates

Not sure how to construct it in a single query but you could try to have two different queries and combine the results in your application

{
   tree(func: eq(name, "bob")) {
    parent {
      name
    }
    name
  }
}

{
  children(func: eq(name, "bob")) @recurse  {
    child
  }
}