Я хочу, чтобы взаимное мнение моих друзей о статусе дружбы. Я создал узлы для каждого пользователя и создал связь между ними. Я нашел желаемый результат по следующим запросам. В этом случае мой логин userid = 1, и я хочу искать тех пользователей, которые начинаются с буквы «dh». поэтому мой запрос выглядит следующим образом.Присоединиться к результату
1st Query : which is returned all users with specific given keyword.
--------------------------------------------------------------------
START other=node(*)
WHERE other.FirstName =~ "(?i)dh.*" AND other.UserID <> 1
WITH other, me=node:node_auto_index(UserID = '1')
RETURN other.UserID, other.UserName, other.FirstName, other.LastName, other.ImagePath
LIMIT 100;
Этот запрос возвращает меня все пользователи начали с 'dH'является Теперь я хочу статус дружбы между моей учетной записью и это поиск пользователей. так, что я сделал, чтобы это следующим образом:
2nd Query : which is returned approvalstatus between user1 and other
--------------------------------------------------------------------
START me=node:node_auto_index(UserID = '1')
MATCH me-[myR:friends]-(x)
RETURN x.UserID, myR.ApprovalStatus
ORDER BY x.UserID
и, наконец, мне нужно подсчитать общий друг между пользователем 1 и других в соответствии следующий запрос.
3rd Query : which is returned mutual count between user1 and other
------------------------------------------------------------------
START me=node:node_auto_index(UserID = '1'), other=node(*)
MATCH pMutualFriends=me-[r:friends]-mf-[r1:friends]-other
WHERE r.ApprovalStatus = 1
AND r1.ApprovalStatus = 1
AND other.FirstName =~ "(?i)dh.*" AND other.UserID <> 1
RETURN other.UserID, COUNT(pMutualFriends) AS mutualCount
ORDER BY other.UserID
Теперь я хочу присоединиться ко всем этим запросам, как в РСУБД. означает набор результатов 1-й должен возвращать все записи, присоединяться со вторым & 3-й результирующий набор.
Как это сделать?
Спасибо @Edward, ваш запрос очень полезен для меня. но одна вещь отсутствует. Мне нужен весь узел, у которого есть имя, начинающееся с 'dh'. здесь в вашем запросе возвращаются только те узлы, которые подключены к пользователю 1. И я также хочу, чтобы свойство «УтверждениеStatus» было связано с отношениями. вы можете помочь мне получить желаемый результат? –
Привет, @edward, можем ли мы присоединиться к 3 наборам результатов с идентификатором пользователя? как RDBMS left join. поэтому все узлы получаются из результата 1 с «ApprovalStatus» из результата 2 и «MutualCount» из результата 3. Получите ли вы то, что я хочу сказать? ожидая ответа. Благодарю. –
Я изо всех сил пытаюсь понять вопрос, который вы задаете. Это «Найти всех пользователей, у которых есть имя, которое начинается с« dh »и возвращает общий счет друга с каждым человеком, с которым у них есть друг.»? – Edward