title: py2neo: Graph.find_one with multiple key/values
body: <p>I have some trouble with the py2neo find and find_one (<a href="http://py2neo.org/2.0/essentials.html" rel="nofollow">http://py2neo.org/2.0/essentials.html</a>)</p>
  
  <p>What I want in Cypher is:</p>
  
  <pre><code>MATCH (p:Person) WHERE p.name='Alice' AND p.age=22 RETURN p
  </code></pre>
  
  <p>Say, where there are more than one key/value set (eg. if there are more than one 'Alice' in the graph).</p>
  
  <p>My problem is that I don't know what to give graph.find_one, a working code is:</p>
  
  <pre><code>graph.find_one('Person', 'name', 'Alice')
  </code></pre>
  
  <p>What I would like is something like (This is not working!):</p>
  
  <pre><code>graph.find_one('Person', {'name': 'Alice', 'age': 22}) 
  </code></pre>
  
  <p>A possible (bad) solution would be to make a graph.find, and then loop through the results properties and look for the age, but I don't like that solution. </p>
  
  <p><strong>Bonus:</strong> Would it be possible with graph.find to do something like age > 25?</p>
  
  <hr>
  
  <p><strong><em>EDIT: New "solution"</em></strong></p>
  
  <p>find_person = "MATCH (p:Person) WHERE p.name = {N} AND p.age = {A} RETURN p"</p>
  
  <pre><code>&gt;&gt;&gt; tx = graph.cypher.begin()
  &gt;&gt;&gt; tx.append(find_person, {'N': 'Alice', 'A': 22})
  &gt;&gt;&gt; res = tx.process()
  &gt;&gt;&gt; print(res[0][0][0])
  (n423:Person {age:22,name:"Lisa"})
  </code></pre>
  
  <p>What I don't like about this is I miss the Note-object, (And I don't fully understand the RecordListList, and how to navigate it nicley)</p>