将节点折叠为关系

APOC 库包含一个可用于将节点折叠为关系的过程。

节点折叠过程

限定名称 类型

apoc.refactor.collapseNode(nodes ANY, relType STRING) - 折叠给定的 NODE 并用给定类型的 RELATIONSHIP 替换它。

过程

示例

以下示例将进一步解释此过程。

以下内容创建了一个包含一个 Flight(航班)节点和两个 Airport(机场)节点(始发地和目的地)的图。
CREATE (flight:Flight {number: "BA001"})
CREATE (origin:Airport {code: "LHR"})
CREATE (destination:Airport {code: "AMS"})
CREATE (flight)<-[:OUT]-(origin)
CREATE (flight)-[:IN]->(destination)
apoc.refactor.collapseNode.dataset
以下查询折叠了 Flight 节点,并将其替换为 CONNECTED_TO 关系。
MATCH (flight:Flight {number: "BA001"})
CALL apoc.refactor.collapseNode([flight],'CONNECTED_TO')
YIELD input, output , error
RETURN input, output, error

如果运行上述查询,将得到以下图形

apoc.refactor.collapseNode