apo c .cypher.run подзапрос одинаковый результат для всех узлов - PullRequest
0 голосов
/ 14 июля 2020

надеюсь, вы поможете мне с этим запросом

MATCH
(user:users)-[watch:WATCH]->(m:Movies)
where
 m.genre = 2 and
 watch.date >= date({year: 2020, month: 06, day: 01}) 
 CALL apoc.cypher.run('
    with $m as m
    MATCH (m)<-[watches_too:WATCH]-(user2:users)-[:WATCH]->(m2:Movies)
    WHERE
        m2.duration > 50 and
        m2.genre = 2 and
        m.id <> m2.id and
        m.subgenre = m2.subgenre and
        watches_too.date>= date({year: 2020, month: 06, day: 01})
    RETURN m2, count(m2.id) as ocurrences
    ORDER by ocurrences DESC
    LIMIT 4',
    {m:m}) YIELD value
RETURN
 user.id, value.m2.id;

Запрос «работает» в основном так, как я хотел, дает мне фильмы, которые смотрели другие пользователи, которые также смотрели mov ie первого пользователя , ограничивая до 4 результатов на пользователя, но я заметил, что он дает мне одинаковые 4 фильма для всех пользователей ...

я делаю что-то не так, или это действительно эти 4 фильма наиболее просматриваются в этом жанре?

...