title: neo4j - MERGE creates duplicate Node
body: <p>I have two <code>Person</code> Nodes.</p>
  
  <pre><code>(p:Person {Name: 'Anthony'})
  (p:Person {Name: 'Jason'})
  </code></pre>
  
  <p>The required Relationship is: </p>
  
  <pre><code>(p:Person)-[KNOWS]-(s:Skill) //s is dynamically entered
  </code></pre>
  
  <p>To Achieve this, I used the Query: </p>
  
  <pre><code>MATCH (p:Person) 
  WHERE p.Name='Anthony'
  MERGE(p)-[r:KNOWS{Weight:83}]-(x:Skill {Name:"WordPress"})
  </code></pre>
  
  <p>However, if I try it again with:</p>
  
  <pre><code>MATCH (p:Person) 
  WHERE p.Name='Jason' 
  MERGE(p)-[r:KNOWS{Weight:80}]-(x:Skill {Name:"WordPress"})
  </code></pre>
  
  <p>The Node <code>(s:Skill {Name: 'WordPress'})</code> is created <em>again</em>. </p>
  
  <p>I understand that <em>MERGE</em> will match the <em>entire pattern</em> but how can I ensure that this query only creates the <code>Skill</code> Node if it does not exist?</p>