【发布时间】:2021-02-26 13:55:50
【问题描述】:
我有一个 Neo4j 图表,看起来像这样
它具有使用 CHILD_OF 关系的关系层次结构。
所有绿色节点(见)都是书籍的权利。
父母可以看到的所有书籍也对孩子可见,但反之则不行。
此外,孩子可以直接看书,而无需父母参与。
这里的问题是找到从孩子到书本的最短路径。
在这种情况下,C1 有 2 条路径(通过权利)到 Book1,但只有 1 条到 Book2。 Book3 没有。
Neo4j Cypher 查询应该只返回从 C1 到所有书籍的最短路径。
我尝试使用 Neo4j shortestPath 函数,但它不起作用。
MATCH (c:Child {name:'C1'} ),
(b:Book),
p = shortestPath((c)-[*]-(b))
RETURN p
这个查询的输出返回这个:
所需的最终图形应如下所示:
【问题讨论】:
-
你把预期的结果,一个示例图和详细的问题;干得好,阿米特