2013-07-30 44 views
2

我試圖找到在下面的例子中暗號查詢 - 返回重量每個匹配關係的總重量

START n=node:name_idx(NAME="ABC") 
match p = n-[r1:LIKES]->m 
with r1.Frequency as Frequency, Sum(r1.Frequency) as Sum 
return Frequency, Sum 

我希望能得到這樣的

Frequency  Sum 
12    19 
6    19 
1    19 

等百分比。

我得到的是頻率和點心列

Frequency  Sum 
    12    12 
    6    6 
    1    1 

任何建議如何得到正確的分配相同的值?我的最終目標是通過劃分到達返回行的頻率/總和來找出百分比。由於

+0

你能忍受在http://console.neo4j.org一小部分? – Luanne

回答

6

這個怎麼樣(我偷盧安妮控制檯圖):

http://console.neo4j.org/r/3axtkq

START n=node:node_auto_index(name="a") 
MATCH n-[r1:LIKES]->m 
WITH sum(r1.frequency) AS total, n // we want the total... of all frequencies for n 
MATCH n-[r1:LIKES]->m    // we need to get the likes again, because those can't be passed in with and get the total of all at the same time 
RETURN r1.frequency, total, r1.frequency/(total*1.0) // it does integer math unless you force one to be a float 
+0

啊,這是要求。我的錯誤,誤解 – Luanne

+0

這是我寧願有一個收集/展開功能,而不是回到匹配的情況之一。 –

2

看看http://console.neo4j.org/r/voavd2

的數據是:

START n=node(1) 
MATCH n-[r1:LIKES]->m 
RETURN r1,m 

查詢返回:

START n=node(1) 
MATCH n-[r1:LIKES]->m 
WITH r1.frequency AS Frequency, Sum(r1.frequency) AS Sum 
RETURN Frequency, Sum 

即通過頻率劃分,什麼是所有頻率爲總和值。

這就是你想要得到的嗎?

+0

+1提供樣品數據:) –

+0

同意。 +1提供樣本數據。 – Anshul