title: Filter neo4j nodes by subtracting nodes that are returned by index
body: <p>My nodes have an array property <code>category_ids</code> that contains integers.</p>
  
  <p>I can query for nodes whose <code>category_ids</code> do not match any in the list [1,2,3]:</p>
  
  <pre><code>START node(*)
  WHERE NOT(ANY(x in node.category_ids WHERE x IN [1,2,3]))
  RETURN node;
  </code></pre>
  
  <p>I can use an index (I'm calling it <code>nodes_categories</code> and it's a standard exact lucene index) to start with the nodes that I want to filter out:</p>
  
  <pre><code>START excluded=node:nodes_categories("category_ids:(1 2 3)")
  RETURN excluded;
  </code></pre>
  
  <p>But how do I use my index to get the nodes I <em>do</em> want?  IE return all the nodes minus the nodes returned by my index hit?  Here's my start:</p>
  
  <pre><code>START node=node(*), excluded=node:nodes_categories("category_ids:(1 2 3)")
  ???
  RETURN node;
  </code></pre>
  
  <p>Edit: neo4j version is 1.9.M02</p>