title: Neo4j: matching nodes with 2 more properties in common
body: <p>I am working with data from a csv file which contains 4 columns of data: <code>hotelName</code>, <code>hotelPool</code>, <code>hotelSpa</code>, <code>hotelGym</code>, where <code>hotelName</code> is the unique name of the hotel, <code>hotelPool</code> lists what kind of pool the hotel has, <code>hotelSpa</code> lists what kind of spa the hotel has, and <code>hotelGym</code> lists what kind of gym the hotel has.</p>
  <p>Sample data as follows:</p>
  <p>Row 1 <code>&quot;California&quot;, &quot;Full-size&quot;, &quot;Full-size&quot;, &quot;Fully-equipped&quot;</code></p>
  <p>Row 2 <code>&quot;Yorba&quot;, &quot;Full-size&quot;, &quot;None&quot;, &quot;Full-equipped&quot;</code></p>
  <p>Row 3 <code>&quot;Heartbreak&quot;, &quot;None&quot;, &quot;Full-size&quot;, &quot;Full-equipped&quot;</code></p>
  <p>Row 4 <code>&quot;Chelsea&quot;, &quot;Full-size&quot;, &quot;Full-size&quot;, &quot;Fully-equipped&quot;</code></p>
  <p>I want to match these hotels if they share 2 or more features in common.</p>
  <p>For example, California has 2 features in common with Yorba - both hotels have full-size pools and fully-equipped gyms.</p>
  <p>California also has 2 features in common with Heartbreak - both hotels have full-sized spas and fully equipped gyms.</p>
  <p>California also has 3 features in common with Chelsea - both hotels have full-sized pools, full-sized spas, and fully equipped gyms.</p>
  <p>My desired output is pairs of hotels that have 2 or more features in common, as follows:</p>
  <p>Row 1 <code>California, Yorba, 2</code>
  Row 2 <code>California, Heartbreak, 2</code>
  Row 3 <code>California, Chelsea, 3</code></p>
  <p>How do I match based on 2 or more features?</p>