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]]
任何帮助,将不胜感激。
解决方案
这对 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
推荐阅读
- python - 如何将 alphavantage api 响应提取到 pandas 数据框中
- javascript - React Native Navigation 将所有屏幕包裹在一个视图中
- html - 将对象(div)垂直和水平居中,无大间隙环绕
- python - 使用 pprint 函数打印前五个元素
- c# - 实例的嵌套类为空
- java - 在数组列表中按换行符分隔
- reactjs - 新手问题:如何在带有 React 和 Apollo 客户端的简单表单处理程序中正确分解代码
- c# - SQL 表没有更新,但我的 datagridview1 在运行时被来自文本框的信息填充
- java - 在 Spring Data JPA 中,派生的 find 方法在一个事务中多次调用时不使用一级缓存,但默认的 findById 使用
- c# - 在 UWP 中,如何从一个线程收集数据并在另一个线程上处理?时间问题