我有一个电影图形数据库,其结构类似于用户-〉电影(已观看)-〉关键字-〉电影等。关键字和电影链接在一个循环中,但我只需要2个子节点,这是电影是密切相关的已观看电影。我怎么能做到这一点,我是新的neo4j,我不知道,如何写一个密码查询到这一点。有人能请帮助我吗?
我尝试编写查询,但没有得到所需的输出。这是我编写的查询。
MATCH (u:user{userId:'0c8b9291d7b94e1fa24564cef2aa5bfe'})-[:watched]->(m:movie)-[*]->()<-[*]-(m1:movie) RETURN m.title, m1.title limit 50
输入图形:
1条答案
按热度按时间50pmv0ei1#
我知道从图表中你有一个关键字为每部电影,但有些电影有一个以上的关键字,你希望返回那些电影有两个以上的关键字。如果是这种情况下,你的查询必须是
MATCH (u:user{userId:'0c8b9291d7b94e1fa24564cef2aa5bfe'})-[:watched]->(m:movie)-[:has_keyword]->(k:Keyword) with m,count(k) as keyWordCount where keyWordCount >= 2 return m
。谢谢!