特定の人を知っている隣人との会話時間の相対的な割合を調べたいと思います。
たとえば、ノードAを最初に観察する場合、次のクエリで実行される、すべてのネイバーとの会話に彼が費やした時間を知る必要があります。
neo4j-sh (0)$ start a = node(351061) match (a)-[r:TALKED_TO]->(b) return sum(r.duration)
==> +-----------------+
==> | sum(r.duration) |
==> +-----------------+
==> | 12418 |
==> +-----------------+
==> 1 row, 0 ms
次に、彼の隣人のどれが特定の人を知っているか(たとえばc)を確認し、bがcを知っているaとbの間の会話の期間のみを合計する必要があります。
neo4j-sh (0)$ start a = node(351061) match (a)-[r:TALKED_TO]->(b)-[p:KNOWS]->(c) return sum(r.duration)
==> +-----------------+
==> | sum(r.duration) |
==> +-----------------+
==> | 21013 |
==> +-----------------+
==> 1 row, 0 ms
ここで論理的ではないように思われるのは、2番目の合計が最初の合計よりも大きいのに対し、2番目の合計は最初の合計の一部であると想定されていることです。そのような結果を得るための問題が何であるかを誰かが知っていますか?エラーは15000人中7人のユーザーに現れました。