has(String, Traversal) in __.V().hasLabel('UsdValue').has('date', select('row').limit(local, 1).unfold()) but it doesn't work the way you expect. basically, the result of the traversal you give to has() is not given as the value to the comparator. More generally, P does not take a Traversal making any such usage impossible. It is designed to work such that the value of "UsdValue" is given to your Traversal argument and if that returns a value the filter is found to be true. We document this in the Reference Documentation at https://tinkerpop.apache.org/docs/current/reference/#has-step and have a more detailed account here: https://tinkerpop.apache.org/docs/3.7.1/recipes/#_has_and_traversal_arguments