Sorry for the confusion dominicvivek06
My last answer was intended to clem.
He created two post for exactly the same subject, probably trying to get a better answer knowing that answered post are more unlikely to be answer again, or just a mistake.
For my taste your answer works. I gave him exactly what he wanted but not sure if the WHERE EXISTS subclause is optimal in this case. I'm try to get better in the underlying neo4j query tunning.
[added] This is somewhat of a duplicate of my other post, but I thought it be a good request to ask for a set operator (DIFFERENCE) to be added to the existing UNION operator. With a DIFFERENCE operator, I think the query would be conceptually cleaner, which is why I am suggesting it.
The WHERE [NOT] EXISTS { } subclause is definitively more sexy on the eyes and easier to use but if you are in a production environment the dominicvivek06 solution might be quicker I don't know.