title: cypher match where each collection element IN another collection
body: <p>In cypher id like to return all paths containing only a known set of valid relationship names using something like</p>
  
  <pre><code>MATCH (i:VALID_RELATIONSHIPS), p=(n:MY_DOMAIN)-[rels*1..5]-(m) 
  WHERE n.NAME='start_node' AND 
        ALL(t in rels WHERE type(t) IN extract(x IN i | x.RELATIONSHIP_NAME) ) 
  RETURN nodes(p);
  </code></pre>
  
  <p>so <code>ALL t IN rels</code> should be contained in the collection of <code>VALID_RELATIONSHIPS</code></p>
  
  <p>however this returns an exception <code>i already defined with conflicting node type collection&lt;any&gt;</code>  </p>
  
  <p>Am I misunderstanding something here? The algorithm should loop through all <code>rels</code> (which I assume is a collection) in the path, and for each one; check that the type() is contained in the valid relationships collection <code>i</code></p>