Combinar nós com nós comuns com um relacionamento - Neo4j Cypher
Eu tenho vários nós de usuário e nós de habilidades. A relação é entre habilidades e usuários.
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))
Eu também preciso de um relacionamento entre nós do usuário, onde, se o Usuário A estiver conectado a um número para os Skill [s1, s2, s3, s4, s5, s6] e se o Usuário B estiver conectado ao [s1, s3, s4, s6]
O usuário A e o usuário B estão em um relacionamento (semelhante) se pelo menos 50% de suas habilidades corresponderem.
neste exemplo, A está em um relacionamento com B, pois eles têm s1, s3, s4, s6 em comum, o que corresponde a mais de 50%
Não consigo entender essa consulta cifrada.