1
在Neo4j 1.9.2中,我想要統計一組節點中每個節點的所有關係。Neo4j 1.9.2:查詢/篩選和計算多個節點類型
我所有的節點都有三個屬性:type
,id
和created
。他們都通過「追隨」關係相連。以下是它們如何組合在一起的示例:
user('id:1')-[follows]->review('id:1')
user('id:1')-[follows]->user('id:2')
user('id:2')-[follows]->review('id:1')
您明白了。
結果應該是這樣的:
[
{
followers: 2,
id: 1
created: 2013-12-13T12:13:42-08:00
type: review
},
{
followers: 1,
id: 2,
created: 2012-02-13T12:13:43-08:00
type: user
},
{
followers: 0,
id: 1,
created: 2012-02-13T12:13:43-08:00,
type: user
}
]
我給出的數據基本上是以下幾點:
{
users: [1, 2],
reviews: [1]
}
我試着查詢是這樣的:
start user1=node:user('id:1'),
user2=node:user('id:2'),
review1=node:review1('id:1')
match user1<-[user1_f:follows]-(),
user2<-[user2_f:follows]-(),
review1<-[review1_f:follows]-()
return user1, count(user1_f),
user2, count(user2_f),
review1, count(review1_f);
但是顯然這對node:id
對的大列表來說是站不住腳的(事實上,Neo真的死了很難一旦查詢變大)。
任何想法如何實現這一目標?我一直在傾訴文件,看看有沒有辦法,但我不確定。
是的,我們很樂意進行更新,遺憾的是目前尚不可能。它在路線圖上!所以我聽到的是,除非您爲每種可能的組合編制索引,否則無法跨多個完全任意的類型進行此操作。我認爲最好每個類型只做一個查詢(因爲我們沒有那麼多不同的類型)。謝謝! – wulftone 2015-02-06 23:24:06
我終於實現了這個優化,並且我的響應時間減少了10倍。超級有用! – wulftone 2015-03-13 20:51:35