2017-08-29 25 views
2

我可以使用下面的查詢「在度」成功計算度和出度:在單個查詢

match a=(p:Person)-->(q:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}) 
RETURN count(a) as In_Degree 

我可以使用下面的查詢,用於「度」成功:

match a=(p:Person)<--(q:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}) 
RETURN count(a) as Out_Degree 

但是,當我俱樂部並寫下如下查詢,然後Cypher給出「出度」的結果。

match a=(p:Person)-->(q:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}),b=(r:Person)<--(s:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}) 
RETURN count(a) as In_Degree, count(b) as Out_Degree 

我在這裏錯過了什麼嗎?有人可以幫我解決這個問題嗎?

回答

2

你可以試試這個查詢:

MATCH (p:Person{Address:'0xa1e4380a3b1f749673e270229993ee55f35663b4'}) 
RETURN size((p)<--(:Person)) AS In_Degree, size((p)-->(:Person)) AS Out_Degree 

乾杯。

+0

感謝您的回覆。我知道尺寸正常,但我可以在這裏知道「計數」的限制嗎? 「計數」不適用於計數模式嗎? – user8494391

+1

count是一個聚合函數。在你的查詢中,你正在連續進行兩次聚合(並且在密碼中沒有分組,這是按順序完成的)。 – logisima