我的图表看起来像这样
中-[:firstChapter]->chapter1-[:nextChapter]->chapter2_to_N
只有一个节点通过 :firstChapter 连接,然后可能有几个节点通过 :nextChapter 连接
我试图匹配通过关系连接的所有节点 :firstChapter 到 medium 或通过 :nextChapter 从一章连接到另一章
我试过的查询看起来像这样
start n=node(543) match n-[:firstChapter|nextChapter*]->m return m;
node(543) 是节点介质。令人惊讶的是,此查询返回路径中的所有节点,即使节点未连接到 n(= 中节点)如果我在 nextChapter 之后省略 * 符号,则仅返回具有 :firstChapter 关系的第一个节点(第 1 章),这似乎是正确的。
start n=node(543) match n-[:firstChapter|nextChapter*]->m return m;
为什么上面的查询返回未连接到 n的节点?据我了解, * 符号通常会返回无限数量的关系的节点,对吧?
将通过 :firstChapter 或 :nextChapter 连接到起始节点的路径的所有节点(仅一次)匹配的最佳方法是什么?在这种情况下,所有章节
上面的查询服务于这个目的,但我不认为输出是正确的......
编辑:添加了一个图表来澄清。如您所见,第一章可能只能通过:firstChapter到达,所以目前还不清楚,为什么上面的查询返回所有章节节点