#neo4j #cypher
#neo4j #шифр
Вопрос:
Я хочу создать запрос в cypher, но у меня проблемы с одной частью, вот как это должно выглядеть
- Выберите один поток
- Получить пользователей, которые взаимодействовали с этим потоком
- Получите верхние потоки, отсортированные по количеству пользователей, которые взаимодействовали с обоими потоками (первый предварительно выбранный и второй, который я ищу)
Ответ №1:
Функция агрегирования COUNT
должна помочь. Что-то вроде этого:
MATCH (t1:Thread)<-[:USED]-(u:User)-[:USED]->(t2:Thread)
WHERE t1.id = 123
RETURN t1, t2, COUNT(DISTINCT u) AS cnt
ORDER BY cnt DESC
DISTINCT
Параметр, который влечет за собой накладные расходы, следует использовать только в том случае, если User
возможно, чтобы a был связан с одной и той же парой потоков несколько раз.
Комментарии:
1. Спасибо, я проверю это