title: Match nodes with common nodes with a relationship - Neo4j Cypher
body: <p>I have number of User nodes and Skills nodes. The relationship is between skills and users.</p>
  
  <pre><code>USING PERIODIC COMMIT 1000
  LOAD CSV WITH HEADERS FROM "file:/xyz.csv" AS row FIELDTERMINATOR '|'
  WITH row
  LIMIT 15
  
  CREATE (u:User {company: row.company, salary: row.salary_float,         designation: row.designation, experience: row.experience_float})
  
  FOREACH (s IN split(row.tag_skill, "@") |
  MERGE (skill:SKILL {name: s})
  ON CREATE SET skill.name = s
  CREATE (u)-[:KNOWS]-&gt;(skill))
  </code></pre>
  
  <p>I also need a relationship between user nodes where
  if User A is connected to a number for Skill nodes [s1,s2,s3,s4,s5,s6]
  and if User B is connected to [s1,s3,s4,s6]</p>
  
  <p>User A and User B are in relationship(similar) if atleast 50% of their skills match.</p>
  
  <p>in this example, A is in a relationship with B since they have s1,s3,s4,s6 in common which is more than 50% match</p>
  
  <p>Cant seem to figure out this cypher query.</p>