簡體   English   中英

Neo4j:獲取一組節點之間的所有關系

[英]Neo4j: Get all relationships between a set of nodes

假設我有節點 A 和 B。我想找到連接這兩個節點的所有路徑。 我該怎么做?

這是我做的一個插圖。 對不起,我知道這很糟糕,哈哈

在此處輸入圖片說明

您可以使用可變長度關系來返回所有此類路徑。

對於您的示例(具有指向兩個方向的關系),使用無向可變長度關系的此查詢應該可以工作:

MATCH p=(:Foo {id: 'A'})-[*]-(:Foo {id: 'B'})
RETURN p

但是請注意,沒有合理上限的可變長度關系實際上可能會永遠存在或耗盡內存。 因此,根據您的數據庫特征,您應該確定並使用一個合理的上限。 例如:

MATCH p=(:Foo {id: 'A'})-[*..7]-(:Foo {id: 'B'})
RETURN p

為了提高性能,指定路徑上可能的關系類型通常也很有幫助,以避免沿着不合適的路徑走下去,例如:

MATCH p=(:Foo {id: 'A'})-[:TYPE_A|TYPE_B|TYPE_C*..7]-(:Foo {id: 'B'})
RETURN p

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM