Sometimes we will get into a situation where we want to create a many-to-many relationship in one Cypher statement.
For example, We have Tom and Jerry, they both ACTED_IN movie Movie1 and Movie2.
First, let's create all the nodes:
CREATE (:Actor {name: 'Tom', ACTED_IN: ['Movie1', 'Movie2']})
CREATE (:Actor {name: 'Jerry', ACTED_IN: ['Movie1', 'Movie2', 'Movie3']})
CREATE (:Movie {name: 'Movie1', release_year: '1981'})
CREATE (:Movie {name: 'Movie2', release_year: '1982'})
CREATE (:Movie {name: 'Movie3', release_year: '1983'})
Then we create this query and create many-to-many relationships.
MATCH (a:Actor)
MATCH (m:Movie)
WHERE m.name IN a.ACTED_IN
MERGE (a)-[:ACTED_ID]->(m);
Now, you have all your relationships created in one Cypher statement.
Comments
0 comments
Please sign in to leave a comment.