Neo4j トラバーサーは内部でTraversal
クラスによって構築され、その構成は(Neo4j 2.0 で)をTraversalDescription
介して利用可能になります。GraphDatabaseService
Neo4J のコードには、レガシーで非推奨の実装がまだあると思います。
トラバーサルには 2 つのタイプがあります。
1. 一方向トラバーサル
以下を呼び出してインスタンス化します。
TraversalDescription traversalDescription = graphDatabaseService.traversalDescription()
取得した traversalDescription は、実際には、トラバーサルにさまざまなプロパティを設定できるビルダー パターンです。http://api.neo4j.org/current/org/neo4j/graphdb/traversal/TraversalDescription.htmlで API を参照してください。
2.双方向トラバーサル
双方向トラバーサルは、以下を使用してインスタンス化されます
BidirectionalTraversalDescription bidirectionalTraversalDescription =
graphDatabaseService.bidirectionalTraversalDescription()
この TraversalDescription には、実際には 2 つの異なる TraversalDescription である開始側と終了側があり、単方向トラバーサルと同様の構築パターンを使用してインスタンス化できます。
例えば
graphDatabaseService
.bidirectionalTraversalDescription()
.startSide(graphDatabaseService
.traversalDescription()
.depthFirst()
.uniqueness(Uniqueness.NODE_PATH))
.endSide(graphDatabaseService
.traversalDescription()
.depthFirst()
.uniqueness(Uniqueness.NODE_PATH))
インスタンス化を示すために Scala コードを使用しましたが、わかりやすいと思います。