7

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

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

4

1 回答 1

11

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 代码来显示实例化,我希望它很清楚。

于 2014-01-22T16:50:03.617 回答