Neo4j Traversers 由底层的Traversal
类构建,其配置可TraversalDescription
通过GraphDatabaseService
(在 Neo4j 2.0 中)获得。
我相信 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 代码来显示实例化,我希望它很清楚。