展開路徑 (neo4j apoc 插件 Expand paths翻譯)
這個展開路徑程序是路徑展開系列中最基礎的(path expanders)。這個程序允許路徑遍歷時基於關係過濾和節點過濾。如果你在遍歷路徑時需要更多的控制請看Expand paths with config .
程序概述
這個程序的詳細描述如下:
類型 | 限定名稱 | 簽名 | 描述 |
---|---|---|---|
procedure |
apoc.path.expand |
`````` | apoc.path.expand(start :: ANY?, relationshipFilter :: STRING?, labelFilter :: STRING?, minLevel :: INTEGER?, maxLevel :: INTEGER?) :: (path :: PATH?) |
參數語法規則
這個程序帶有以下參數:
start
- 一個節點或者節點id的列表relationshipFilter
- 希望展開的關係類型labelFilter
- 希望展開的節點標籤minLevel
- 遍歷時最小的距離數maxLevel
- 遍歷時最大的距離數
關係過濾
關係過濾的語法描述如下: 語法:[<]RELATIONSHIP_TYPE1[>]|[<]RELATIONSHIP_TYPE2[>]|…
輸入 | 類型 | 方向 |
---|---|---|
LIKES> |
LIKES |
向外 |
<FOLLOWS |
FOLLOWS |
向內 |
KNOWS |
KNOWS |
兩邊 |
> |
任何類型 |
向外 |
< |
任何類型 |
向內 |
標籤過濾
標籤過濾的語法描述如下: 語法:[+-/>]LABEL1|LABEL2|*|…
輸入 | 結果 |
---|---|
-Foe |
黑名單過濾 - 黑名單中的節點將不會出現在路徑中 |
+Friend |
白名單 - 所有路徑的節點必須有一個標籤在白名單中(除了終止節點或者末端節點,如果有使用那些過濾。)。如果不存在白名單運算符,則認爲所有標籤都在白名單中。 |
/Friend |
終止過濾 - 只返回路徑直到給定標籤節點的,並且停止進一步擴展。終止節點不必關心白名單列表。終止過濾的優先級高於末端節點過濾。 |
>Friend |
末端節點過濾 - 只返回路徑直到給定標籤節點的,但是會繼續擴展以匹配其他末端節點,末端節點的返回不必遵循白名單,但是繼續擴展時只有在白名單中的節點才被允許。 |