Une nodos con nodos comunes con una relación - Neo4j Cypher
Tengo varios nodos de usuario y nodos de habilidades. La relación es entre habilidades y usuarios.
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]->(skill))
También necesito una relación entre los nodos de usuario donde si el usuario A está conectado a un número para los nodos de habilidad [s1, s2, s3, s4, s5, s6] y si el usuario B está conectado a [s1, s3, s4, s6]
El usuario A y el usuario B están en relación (similar) si al menos el 50% de sus habilidades coinciden.
en este ejemplo, A está en una relación con B ya que tienen en común s1, s3, s4, s6, que es más del 50% de coincidencia
Parece que no puedo entender esta consulta cifrada.