如何在neo4j中获取节点组中直接依赖项的列表?

时间:2019-11-29 17:03:05

标签: neo4j cypher

neo4j graph sample 我是新接触DB的人,需要针对特定​​情况编写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

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

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

对于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