【问题标题】:Is neo4j traversal framework deprecated?neo4j 遍历框架是否已弃用?
【发布时间】:2025-08-25 15:50:02
【问题描述】:

cypher 现在是否取代了 neo4j 遍历? 现在是否不推荐使用 neo4j 遍历?

【问题讨论】:

    标签: neo4j cypher graph-databases


    【解决方案1】:

    文档目前说它已被弃用,但工作人员说

    我们将正式继续弃用遍历 API,但它会继续存在并维护,直到有合适的替代品可用,而且这可能暂时不会发生。我们不会从任何人的脚下拉扯地毯,这只是为新事物做准备的一步。

    2020 年 7 月 29 日

    https://community.neo4j.com/t/the-traversal-framework-in-v4/15989/4

    【讨论】:

    • 我刚刚检查了上面链接的线程。来自 2020 年 12 月的工作人员:“如前所述,遍历 API 上的弃用警告是为将来的替换做好准备,但这可能是 5.x 或更高版本。如前所述,由于目前没有实施实际替换,照常进行,随心所欲地使用遍历 API。”
    【解决方案2】:

    不,在很多情况下手动遍历很有用。 Traversal 类确实已被弃用,但 TraversalDescription 不是。您可以通过GraphDatabaseService#traversalDescription()获取。

    【讨论】:

    • 我可以用 REST 来做吗?我可以直接或间接检索连接到特定一个节点(作为输入)的所有节点 ID 吗?
    • 当然可以,但是您必须在 REST 上使用 cypher。
    • 通过 REST 有单独的遍历 API。检查此docs.neo4j.org/chunked/milestone/rest-api-traverse.html 但我没有得到它的解释,并且响应提供了很多 URI,如果我想从这些 URI 中获取属性,这将需要更多时间。
    • 不知道那个,谢谢!您可以通过 java-rest-binding 项目访问 REST 遍历,请参阅 RestTraversal 类。它将隐藏您正在谈论的所有 URL。我不确定是否支持其他编程语言。