首页 > 解决方案 > 如何获取neo4j中节点组中的直接依赖关系列表?

问题描述

neo4j 图形样本 我是图形数据库的新手,在为特定场景编写 Cypher 查询时需要帮助。

我有一组关系,比如L

Node A -> Depends on -> Node B
Node B -> Depends on -> Node C
Node B -> Depends on -> Node D
Node C -> Depends on -> Node E
Node C -> Depends on -> Node F
Node D -> Depends on -> Node G
Node E -> Depends on -> Node H
Node E -> Depends on -> Node J
Node H -> Depends on -> Node I

我需要来自节点列表的直接依赖关系。就像,如果我传递一个列表 [Node A, Node B, Node D, Node E, Node H, Node I],它应该返回:

[[Node A, Node B, Node D], [Node E, Node H, Node I]]

任何帮助,将不胜感激。

标签: neo4jcypher

解决方案


这对 Cypher 来说很简单,让我们假设您的节点有一个标签Node,并且属性存储Node A名为name

MATCH p=(n:Node)-[:DEPENDS_ON]->(dependency) 
WHERE n.name IN ['Node A', 'Node E']
RETURN [x IN nodes(p) | x.name] AS groups

推荐阅读