Querying graph structure at a certain point in time

I think the dataset I provided might not have been sufficient to demonstrate the problem, that’s my bad. I can provide a proper export if that helps

If you create a new child that has an edge to 371717 you’ll only get the latest child.

For example, without (first: 1) in the query I have something that looks like this:

query Structure($id: string)
{
  q(func: eq(name, $id)) @recurse(depth: 5) {
      uid
      name
      s: ~sponsor @facets(orderdesc:date)
  }
}

Screenshot from 2020-09-18 02-09-17

At different points in time both 371717 and N69579 have been parents of N69542. I want to only show whichever of those is the latest one, whilst still maintaining the rest of the structure below 371717.

If I then update the query to include (first: 1):

query Structure($id: string)
{
  q(func: eq(name, $id)) @recurse(depth: 5) {
      uid
      name
      sponsoring: ~sponsor @facets(orderdesc:date) (first: 1)
  }
}

Screenshot from 2020-09-18 02-11-39

I’m now only getting the very latest child.