title: Py2neo: how to use graph.run correctly?
body: <p>I have been trying to use py2neo to read from my neo4j database and in particular I want to execute the following cypher query,</p>
  
  <p><code>MATCH (node {name:"shoes"})-[r]-&gt;(n) RETURN r,n; //This works well in cypher-shell</code></p>
  
  <p>Now the equivalent of this query using py2neo would be the following,</p>
  
  <p><code>g.run("MATCH (node {name:$nodename})-[r]-&gt;(n) RETURN r,n",parameters={"nodename":"shoes"}).data()</code></p>
  
  <p>However, executing the above query gives me an error, something like this,</p>
  
  <p><code>py2neo.database.ClientError: SyntaxError: The old parameter syntax '{param}' is no longer supported. Please use '$param' instead (line 1, column 25 (offset: 24))
  "MATCH (_) WHERE id(_) = {x} RETURN _, labels(_)"
  </code></p>
  
  <p>But I am using the $ convention in my query above correctly. This is because if I run the same query with my parameter value empty, I get no error and py2neo returns me an empty list,</p>
  
  <p><code>g.run("MATCH (node {name:$nodename})-[r]-&gt;(n) RETURN r,n",parameters={"nodename":""}).data() //This runs fine and returns []</code></p>
  
  <p>Can someone throw light on this issue? My py2neo version is 4.3.0 (Ideally I would not want to change to another version)</p>