Can federation query joins?

Given 2 subgraphs…

user-service

type User {
  id: ID!
  name: String
}

product-service

type Product {
  id: ID!
  name: String
  price: String
}

type User {
  id: ID!
  purchases: [Product]
}

Can I query Users that have purchased a particular Product? Can federation handler that?

query fetchPeople {
  usersWithPurchase(productName:"Foo") {
    id
    name
    purchases {
      name
      price
    }
  }
}

It’s possible that way, unless you create a resolver reference in the user-service and fetching the specific user and compare to the id save with the purchase, so that in the query plan from the super graph it will go to the user-service to resolve the user that is associate with the purchase and flatten the result.
Am basically facing similar problem but I am using relational database so is a bit of challege. But with API data source it works better