Neo4j遍历
我有两个问题 1.如果我有下面这样的图表 A->B->C->D A->B->C->E 我的要求是获取路径(从起点到终点),这样我就可以遍历节点并根据条件执行一些操作 我使用遍历描述和唯一性选项,如下所示。 TraversalDescription td=Traversal.description() .关系(了解、指导、外向) .唯一性(唯一性.节点\路径) .evaluator(evaluator.excludeStartPosition()) 我期待下面的结果 A->B->C->D A->B->C->E 但我得到了以下结果。我尝试了NODE_PATH和NODE_GLOBAL A->B A->B->C A->B->C->D A->B->C->E 2.清理不再需要的旧节点(基于时间戳)最有效的方法是什么?我有两个选择 1.从头到尾遍历节点,收集可以删除的节点ID。然后循环浏览列表并删除节点及其关系/节点 2.用于删除与日期条件匹配的节点和关系的密码查询 提前多谢 回答(1)唯一性控制在遍历期间(重新)访问哪些节点/关系。但是,它不控制哪些路径返回到路径迭代器。这种行为必须在评估器中进行编码。在您的情况下,它可以是基于路径长度或结束节点上的特定条件的求值器,例如: //对于A->B->C->D 评估者:深度(3) 或 //用于返回端节点具有属性“bla”的路径 新评估员(){ 公共评估(路径){ 返回Evaluation.ofIncludes(path.endNode().hasProperty(“bla”)); } }Neo4j遍历,neo4j,traversal,Neo4j,Traversal,我有两个问题 1.如果我有下面这样的图表 A->B->C->D A->B->C->E 我的要求是获取路径(从起点到终点),这样我就可以遍历节点并根据条件执行一些操作 我使用遍历描述和唯一性选项,如下所示。 TraversalDescription td=Traversal.description() .关系(了解、指导、外向) .唯一性(唯一性.节点\路径) .evaluator(evaluator.excludeStartPosition()) 我期待下面的结果 A->B->C->D A->B
不幸的是,没有内置的方法,只能获取它在每个分支中访问的最长路径。实际上,这将是一个很好的功能。你能发布你的代码吗?@BtySgtMajor-请查看我的原始帖子,其中添加了遍历描述的代码。提前谢谢!要获得cypher中的最长路径,请查看以下问题:感谢Mattias Persson花时间回答。目前,我正在使用节点的关系手动遍历该节点,以避免多次遍历同一节点。有没有其他有效的方法来遍历节点?