2
我想查找其搜索标签包含我观看的电影标签的电影。以下是我的查询,但它没有产生预期的结果,任何人都可以让我知道这个查询有什么问题吗?Neo4j - 根据标签获得电影推荐
MATCH (m:Movie)-[:HAS_TAG]->(t:Tag)
WHERE NOT (:Person {personId : '50'})-[:WATCHED]->(m)
AND (m)-[:HAS_TAG]->(t)
RETURN DISTINCT(m.movieId) as movieId,
COLLECT(t.tagId) as Tag
我试过这个查询,它工作,但我不知道如何使它动态tagid?我是新手neo4j,我读WITH在neo4j声明,但不知道如何使用它,以及它是否会工作。
MATCH (m:Movie)-[:HAS_TAG]->(t:Tag)
WHERE NOT (:Person {personId : '50'})-[:WATCHED]->(m)
AND t.tagId in ['16','19','21','22','23','24','25']
RETURN DISTINCT(m.movieId)
我想你的意思是“** **不是由我看了”(这是你似乎在查询做什么反正)。 “动态标签ID”是什么意思:你想参数化查询中使用的标签ID吗?电影至少应该有一个标签还是全部? –
感谢@FrankPavageau,动态我的意思是在查询['16','19','21','22','23','24','25']中静态的tagId数组 –