2015-04-24 108 views
0

我有問題。我正在嘗試運行此查詢。neo4j的關係總數

START n= NODE(5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760) 
MATCH p=(a)-[:KNOWS]-(n)-[:KNOWS]-(b) 
OPTIONAL MATCH q=(a)-[:KNOWS]-(b) 
RETURN Distinct n.name AS ID,COUNT(distinct p) as NR, COUNT(q) as BR; 

結果有點奇怪。我的數據庫總共有276597個節點和401634個關係。但在上述查詢的結果中,我在圖形視圖中具有一個節點的392502關係。我發現2 q relationships,但以表格形式,他們是零!

以下是上述查詢的結果:

Result of above query

+0

密碼查詢有什麼問題或缺少某些內容。如果有遺漏,請糾正我。在此先感謝 –

+0

不太明白這裏的問題。你可以將問題簡化爲一個單獨的起始節點嗎? –

回答

1

既然你沒有說明在查詢中的任何關係的方向性,你的數字包括重複的(請注意,所有結果都是偶數) 。

此查詢的略微修改後的版本應該得到更好的結果(你應該使用適用於任何方向性你的使用情況):

START n= NODE(5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760) 
MATCH p=(a)-[:KNOWS]->(n)-[:KNOWS]->(b) 
OPTIONAL MATCH q=(a)-[:KNOWS]-(b) 
RETURN Distinct n.name AS ID,COUNT(distinct p) as NR, COUNT(q) as BR; 

OPTIONAL MATCH條款仍然不指定任何方向性,因爲我認爲你在這種情況下,真的很想得到兩個方向。但是,如果適用,您還應該在該條款中指定方向性。

+0

謝謝,Cyber​​sam,在我的數據中,我不確定關係的方向。有時'(a) - [:KNOWS] - >(n)'或有時'(n) - [:知道] - >(a)'但是因爲我想看到兩個方向,所以我沒有提到任何方向。 –