我想建立一個時間序列存儲爲neo4j時間樹的直方圖。 數據結構是由用戶完成的事件,每個都有時間戳,比如用戶購買類別。 我需要的是每個用戶在開始和結束時間之間每個類別的瀏覽次數,間隔時間爲(1秒到幾天) 我的模型非常棒,圖片分辨率非常好,因爲我讀neo4j documentation我找不到任何在一個查詢中做到這一點,我擔心每個用戶的呼叫速度會很慢。Neo4j密碼時間間隔直方圖查詢時間樹
我知道,以暗號功能,但我不知道如何建立這樣的查詢。 我期待這樣的事情(不工作)
MATCH startPath=(root)-[:`2010`]->()-[:`12`]->()-[:`31`]->(startLeaf),
endPath=(root)-[:`2011`]->()-[:`01`]->()-[:`03`]->(endLeaf),
valuePath=(startLeaf)-[:NEXT*0..]->(middle)-[:NEXT*0..]->(endLeaf),
vals=(middle)-[:VALUE]->(event)
WHERE root.name = 'Root'
RETURN event.name, count(*)
ORDER BY event.name ASC
GROUP BY event.timestamp % 1000*60*10 // 10 minutes histogram bar
然後我想有一個報告,有多少用戶瀏覽到各網站類別:
0-9消息5,電子商務3; 10-19消息6,商業19; 1 20-29新聞2,商業8;
任何想法,如果它是可選的neo4j時間樹模型? 如果是這樣怎麼樣? :-)
有沒有「GROUP BY」的暗號;你應該在WITH表達式中計算額外的列,然後如果你返回不同的值,它將以相同的方式運行。 – FrobberOfBits
是的,我知道GROUP BY缺失,我想創建基於時間的直方圖。我可以做這樣的事情: 「WITH event.timestamp%1000 * 60 * 10」獲得10分鐘的酒吧? –
如果您在'RETURN'語句中放置'event.timestamp%1000 * 60 * 10',它應該自動分組,因爲您正在使用'count'函數進行聚合。所以也許像'RETURN event.name,event.timestamp%1000 * 60 * 10 AS slice,count(*)ORDER BY slice'? –