Of course you can do it. Like this:
Match (n:Person)-[r*2..4]-(h:Hobby) where NONE( rel in r WHERE type(rel)="FRIENDS") return n,r,h
Your query does not work, because with multi-level paths, your r is a collection of relationships, not one. Thus, you can use any predicates in collections to perform the necessary filtering.
Here I chose NONE with type (rel) = FRIENDS, which means that you will only get results if NONE relationships are of type FRIENDS. But instead, you can use ANY or EVERYTHING, depending on what your request should mean.
In any case, the main point here is to use the predicate function to turn a collection of things into one logical value.
source share