I have suffered from this issue and we have a few workarounds currently that fit our data model.
I do not recommend indexing as a solution. We attempted to do this, and it lead to GC problems as Lucene was create a lot of trash, so my high performance query was spending a lot of time doing GC. Your use case may differ, but for me, I was able to fix this issue by removing those relationships, and putting the node id's that they referenced in to an array on the node. My basic diagram was (User) -[HAS]-> (Value) <-[REQUIRES_VALUE]- (Item) We had a lot of the HAS relationships on the value nodes, but very few of the REQUIRES_VALUE. We were able to change our data model such that out user had a property which was an array of longs that referenced the Value node ID. This was ideal for my use case as we only ever needed to go from User to Item in our search, but if we ever need to go from Item to User, we're SOL. -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.