У меня есть человек-узел, который имеет 3 разных отношения с другими узлами. Каждое отношение имеет связанный номер, который показывает, насколько важно это отношение на графике.
Это часть схемы, на которую я сейчас обращаюсь (для удобства чтения запросы ниже написаны на английском языке sh. lavora_in - works_in , vive_con - life_with и conosce - знает )
Итак, для каждого человека я считаю количество раз, когда у него есть определенные отношения, и я умножаю его на определенный коэффициент:
match (p:Person) - [v:lives_with] - (p1:Person)
return p.id, (count(*)*10) as cnt
match (p:Person) - [v:works_in] - (d:Division)
return p.id, (count(*)*6) as cnt
match (p:Person) - [v:knows] - (p1:Person)
return p.id, (count(*)*4) as cnt
Итак, в конце я получу 3 разных значения для каждого человека и хотел бы их суммировать. Я подумал о том, чтобы создать эти 3 функции и затем суммировать их результат на основе идентификатора человека в четвертой
match (p:Person)
set p.overallSum = // query1 + query2 + query3
return p.id, p.overallSum
Есть предложения?