Как использовать Neo4j суммировать веса между узлами - PullRequest
0 голосов
/ 01 ноября 2018

Я просто создаю график, как показано ниже:

(Пользователь) - [: вид] -> (Product) <- [: View] - (Пользователь) </p>

следующий мой запрос:

match (a:User{user_cd:'3151004'})-[r1:view_times]-()-[r2:view_times]-(b:User),
(a)-[ra:view_times]-(),(b)-[rb:view_times]-()
with sum(r1.count) as r1, sum(r2.count) as r2,sum(ra.count) as rac,sum(rb.count) as rbc,a,b
where r1/rac > 0.6 and r2/rbc >0.6
return a,b,rac,rbc,r1,r2

r1: веса между (a) и (продуктом), который находится на соединении a и b

r2: веса между (b) и (продуктом), который находится на соединении a и b

rac: все веса свойства view_times, связанного с (a)

rbc: все веса свойства view_times, связанные с (b)

Но я неправильно понял, RBC Vaule, и я не знаю, где это не так

Спасибо

1 Ответ

0 голосов
/ 01 ноября 2018

Этот запрос должен быть выполнен с большим количеством этапов. Например:

MATCH (ap1:Airport)<-[:FROM]-(r:Route)-[:TO]->(ap2:Airport)
WHERE id(ap1) <> id(ap2)
WITH ap1, ap2, COUNT(*) AS weight
CREATE (ap1)-[c:CONNECTED]->(ap2)
SET c.weight = weight

Здесь я считаю количество шаблонов, найденных в предложении WITH. После предложения WITH я мог бы добавить второе предложение MATCH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...