gpt4 book ai didi

java - Neo4j 应该使用哪个遍历?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:42 24 4
gpt4 key购买 nike

我目前正在尝试 Neo4J Koan Tutorial .我对引入 Traversal 的 Koan06 感到非常困惑。方法 Node.traversal 已弃用,取而代之的是 Traversal.traverse。在尝试时,我发现整个 Traversal 类也已弃用。我阅读了文档以了解我应该使用什么,但找不到任何东西。文档甚至没有提到 Traversal 已被弃用(当然像 traversedescription 这样的遍历方法也在没有明确说明的情况下被弃用)。

简单的问题:我应该使用什么来构建TraversalDescription

最佳答案

Neo4j Traversers 由引擎盖下的 Traversal 类构建,其配置通过 GraphDatabaseService(在 Neo4j 2.0 中)作为 TraversalDescription 提供).

我相信 Neo4J 的代码中仍然存在遗留的、已弃用的实现。

遍历有两种类型:

1。单向遍历

通过调用实例化:

TraversalDescription traversalDescription = graphDatabaseService.traversalDescription()

得到的traversalDescription实际上是一个构建器模式,允许你为你的遍历设置不同的属性。请参阅 http://api.neo4j.org/current/org/neo4j/graphdb/traversal/TraversalDescription.html 处的 API .

2。双向遍历

双向遍历使用

实例化
BidirectionalTraversalDescription bidirectionalTraversalDescription = 
graphDatabaseService.bidirectionalTraversalDescription()

这个 TraversalDescription 有一个 start 和 endside,它们实际上是两个不同的 TraversalDescription,可以使用与单向遍历类似的构建模式来实例化。

例如

graphDatabaseService
.bidirectionalTraversalDescription()
.startSide(graphDatabaseService
.traversalDescription()
.depthFirst()
.uniqueness(Uniqueness.NODE_PATH))
.endSide(graphDatabaseService
.traversalDescription()
.depthFirst()
.uniqueness(Uniqueness.NODE_PATH))

我使用 Scala 代码来展示实例化,希望大家清楚。

关于java - Neo4j 应该使用哪个遍历?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21288678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com