我正在尝试Neo4J Koan Tutorial。我对Koan06感到非常困惑,其中引入了Traversal
。不推荐使用方法Node.traversal
,以支持Traversal.traverse
。在我尝试的时候,我看到,整个Traversal
类也被弃用了。我阅读文档以找出我应该使用的内容,但找不到任何内容。文档甚至没有提及Traversal
已被弃用(当然,traverse
和description
之类的遍历方法也已弃用,但也没有明确说明。
简单的问题:我应该用什么来构建TraversalDescription
?
答案 0 :(得分:11)
Neo4j Traversers由引擎盖下的Traversal
类构建,其配置通过TraversalDescription
(在Neo4j 2.0中)以GraphDatabaseService
形式提供。
我相信在Neo4J的代码中仍有遗留的,已弃用的实现。
Traversal有两种类型:
通过调用实例化:
TraversalDescription traversalDescription = graphDatabaseService.traversalDescription()
获取的traversalDescription实际上是一个构建器模式,允许您为遍历设置不同的属性。请参阅http://api.neo4j.org/current/org/neo4j/graphdb/traversal/TraversalDescription.html上的API。
使用
实例化双向遍历BidirectionalTraversalDescription bidirectionalTraversalDescription =
graphDatabaseService.bidirectionalTraversalDescription()
此TraversalDescription有一个开始和结尾,实际上是两个不同的TraversalDescriptions,可以使用与单向遍历类似的构建模式进行实例化。
e.g。
graphDatabaseService
.bidirectionalTraversalDescription()
.startSide(graphDatabaseService
.traversalDescription()
.depthFirst()
.uniqueness(Uniqueness.NODE_PATH))
.endSide(graphDatabaseService
.traversalDescription()
.depthFirst()
.uniqueness(Uniqueness.NODE_PATH))
我使用Scala代码来显示实例化,我希望它很清楚。