Je suis this tutorial sur les filtres collaboratifs dans Neo4j. Dans ce tutoriel, nous créons d'abord un graphique de film de jouet, comme suit:Génération de N recommandations par personne dans Neo4J
LOAD CSV WITH HEADERS FROM "https://neo4j-contrib.github.io/developer-resources/cypher/movies_actors.csv" AS line
WITH line
WHERE line.job = "ACTED_IN"
MERGE (m:Movie {title:line.title}) ON CREATE SET m.released = toInt(line.released), m.tagline = line.tagline
MERGE (p:Person {name:line.name}) ON CREATE SET p.born = toInt(line.born)
MERGE (p)-[:ACTED_IN {roles:split(line.roles,";")}]->(m)
RETURN count(*);
Ensuite, nous proposons cinq possibles co-acteurs de Tom Hanks:
MATCH (tom:Person)-[:ACTED_IN]->(movie1)<-[:ACTED_IN]-(coActor:Person),
(coActor)-[:ACTED_IN]->(movie2)<-[:ACTED_IN]-(coCoActor:Person)
WHERE tom.name = "Tom Hanks"
AND NOT (tom)-[:ACTED_IN]->()<-[:ACTED_IN]-(coCoActor)
RETURN coCoActor.name, count(distinct coCoActor) as frequency
ORDER BY frequency DESC
LIMIT 5
si je veux effectuer un tel une opération sur chaque personne qui a agi dans "Apollo 13"? En d'autres termes, ma tâche est de proposer 5 co-acteurs possibles à chaque personne qui a joué dans "Apollo 13". Comment le faire de manière efficace?
Les « co-acteurs "La requête que vous avez postée récupère en fait des co-co-acteurs qui n'ont pas travaillé avec Tom Hanks. Pouvez-vous clarifier ce dont vous avez besoin? – Mikesname
Je suis en train de coller un exemple à partir d'une page Web. Et vous avez raison, le but est de trouver des co-co-acteurs qui ont le potentiel de devenir co-acteurs –