If the query you put in q2 is your whole query, you should really start with a MATCH for any OPTIONAL MATCH, even if it's not a big pattern... like:
MATCH (c:Contacts) OPTIONAL MATCH (c)-[:PHONE|ADDRESS|TAG|INVITE]->(x) RETURN c, COLLECT(DISTINCT x) AS xs, r -- 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/d/optout.