performing match intersection
MATCH (q:Query {summary: "Looking for Japan GDP"})-[:FILTERED_BY]->(filter)
WITH filter, size((q)-[:FILTERED_BY]->()) as totalFilterCount
MATCH (r:Record)-[:GROUPED_BY]->(filter)
WITH r, count(filter) as matchedFilterCount, totalFilterCount
WHERE matchedFilterCount = totalFilterCount
RETURN r