Constrained Recursion with datalog

I am trying to use recursion with the pull syntax but limit the recursion. I have the following query and I am trying to limit the children but to no avail.

(d/q '[:find (pull ?e pattern)
       :in $ pattern ?foo-id
       :where
       [?f :foo/id ?foo-id]
       [?f :foo/children ?c]
       [?c :child/label "Chosen one"]]
  db '[* {:foo/children ...}] foo-id))

I realize that the pull syntax which allows the recursion is just for pulling information, but how would I do recursion that limits the children in this case?

“pull select syntax” describes that [{:foo ...}] is "infinite recursion but you can specify [{:foo 3}] to limite the recursion to 3 levels