|| apoc.path.slice - APOC 核心文档 - Neo4j 文档

apoc.path.slice

详情

语法

apoc.path.slice(path [, offset, length ])

描述

从给定 `PATH` 的给定偏移量处,返回一个指定长度的新 `PATH`。

参数

名称

类型

描述

path

PATH

要切片的路径。

offset

INTEGER

新路径的起始偏移量。默认值为:`0`。

length

INTEGER

新路径的长度。默认值为:`-1`。

返回值

PATH

使用示例

本节示例基于以下示例图

MERGE (manUtd:Club {name: 'Man Utd'})
MERGE (juventus:Club {name: 'Juventus'})
MERGE (flamengo:Club {name: 'Flamengo'})

MERGE (premierLeague:League {name: 'Premier League'})
MERGE (serieA:League {name: 'Serie A'})
MERGE (brasileirao:League {name: 'Brasileirão'})

MERGE (england:Country {name: 'England'})
MERGE (brazil:Country {name: 'Brazil'})

MERGE (uefa:Confederation {name: 'UEFA'})

MERGE (manUtd)-[:IN_LEAGUE]->(premierLeague)
MERGE (premierLeague)-[:IN_COUNTRY]->(england)
MERGE (england)-[:IN_CONFEDERATION]->(uefa)

MERGE (juventus)-[:IN_LEAGUE]->(serieA)

MERGE (flamengo)-[:IN_LEAGUE]->(brasileirao)
MERGE (brasileirao)-[:IN_COUNTRY]->(brazil);

apoc.path.slice 函数返回路径的一个子集,从指定偏移量开始,包含指定数量的元素。

以下返回合并路径的一个子集,从偏移量 1 开始,长度为 1

MATCH (club:Club)
OPTIONAL MATCH path1 = (club)-[:IN_LEAGUE]->(league)
OPTIONAL MATCH path2 = (league)-[:IN_COUNTRY]->(country)
WITH apoc.path.combine(path1, path2) AS path
RETURN apoc.path.slice(path, 1, 1);
结果
apoc.path.slice(path, 1, 1)

(:League {name: "Premier League"})-[:IN_COUNTRY]→(:Country {name: "England"})

(:League {name: "Serie A"})

(:League {name: "Brasileirão"})-[:IN_COUNTRY]→(:Country {name: "Brazil"})

© . This site is unofficial and not affiliated with Neo4j, Inc.