Is it possible to filter recurse query paths?

How does that work? I am aware that I can filter the results of a recurse query and add some additional information like in the following:

var(func: uid(some_uid)) @recurse{
		p1 as predicate1@filter(eq(predicate3, "some_text"))
		predicate2
	}

filter(func: uid(p1)) {
       predicate4
}

But how can I filter the paths? To be clear, I want to filter the resulting graph of the recurse query by some criteria and have as a result a sub graph or an amount of paths.