Neo4J データベースに 3 つの映画があるとします。
CREATE (interpreter:Movie {title: 'The Interpreter', year : 2005})
CREATE (dogville:Movie {title: 'Dogville', year : 2003})
CREATE (railwayMan:Movie {title: 'The Railway Man', year : 2013})
また、次のユーザーもいます。
CREATE (maciej:Person {name: 'Maciej Ziarko', birthYear: 1989})
映画を評価する人:
CREATE (maciej)-[:RATED {stars : 4, comment : "I liked that movie!" }]->(interpreter);
Cypher を使用すると、特定のユーザーが評価した映画を簡単に見つけることができます
MATCH (person:Person)-[:RATED]->(movie:Movie)
WHERE person.name = 'Maciej Ziarko'
RETURN movie.title
結果:
+-------------------+
| movie.title |
+-------------------+
| "The Interpreter" |
+-------------------+
1 row
しかし、特定のユーザーによってまだ評価されていない映画を見つけるにはどうすればよいでしょうか?