我在neo4j中有一个递归路径,无论递归有多深,我都希望能够遍历。每个递归路径也可以在任何点分支到多个新的递归路径。路径由多个节点类型组成,它们之间具有多个关系。以下是一个例子:
(item)-[:input]->(process)-[:output]->(item)-[:input]->(process)-[:output]->(item)- .....
|
--[:output]->(item)-[:input]->(process)-[:output]->(item)- .....
|
--[:input]->(process)-[:output]->(item)- .....
在这个例子中,我们有一个项目是进程的输入。该过程产生两个新项目作为输出。其中一个项目转到另一个进程,然后生成另一个输出,等等。另一个项目转到两个进程,然后每个进程产生更多的输出。每条路径可以是任何深度,在通过交替“输入”和“输出”关系连接的“项目”和“过程”节点之间交替。任何路径都可以通过让流程输出多个项目或让流程输入多个项目来分支到多个路径。
如何在neo4j中有效地建模和查询这种情况,以便我可以返回这么复杂的路径?