title: Multi-step traversal in Cypher?
body: <p>I have a data structure where data is composed of two sorts of nodes: <code>item</code> and <code>claim</code>. <code>claim</code> represents some information about the item and may refer to other items, such as - certain entity being located in certain other entity, e.g. "Germany is in Europe". Example structure:</p>
  
  <pre><code>create 
  (v1:item {id:"Q1", name: "Europe"}),
  (v2:item {id:"Q2", name: "France"}),
  (v3:item {id:"Q3", name: "Germany"}),
  (v4:item {id:"Q4", name: "Bavaria"}),
  (v5:item {id:"Q5", name: "Munich"}),
  (c1:claim:located),
  (c2:claim:located),
  (c3:claim:located),
  (c4:claim:located),
  (v5)-[:claim]-&gt;c4,
  (c4)-[:located]-&gt;v4,
  (v4)-[:claim]-&gt;c3,
  (c3)-[:located]-&gt;v3,
  (v3)-[:claim]-&gt;c2,
  (c2)-[:located]-&gt;v1,
  (v2)-[:claim]-&gt;c1,
  (c1)-[:located]-&gt;v1;
  </code></pre>
  
  <p>also in <a href="http://console.neo4j.org/?id=ncbom6" rel="nofollow">http://console.neo4j.org/?id=ncbom6</a>. Now, if I wanted to traverse it - e.g. to figure out all items in Germany, or in Europe, how can I do this? Is it possible with Cypher in this model? I know there's something like <code>v1-[r:*]-&gt;v2</code> but this assumes either one specific relationship or any relationship, and I need a repeating pattern of <code>claim-located</code> pairs. </p>