2015-06-02 3 views
1

Я пытаюсь получить все входящие и исходящие узлы для определенного узла в Neo4j, используя траверс. Мой код выглядит следующим образом:Neo4j Java Traversal - найти исходящие/входящие узлы

ArrayList<Node> outputList = new ArrayList<>(); 

    for (Node connectedNode: nodeTraversal.relationships() 
              .evaluator(Evaluators.toDepth(1)) 
              .traverse(this.inputNode) 
              .nodes()) { 
     outputList.add(connectedNode) ; 
    } 

соотношение() функции требуется имя отношения в качестве аргумента, но я хотел бы, чтобы все исходящие узлы независимо от отношений узла подключен. Каков наиболее эффективный способ достижения этого?

ответ

1

Не уверенность здесь на 100%, но я думаю, что если вы просто опустите relationships(), он будет неявно пересекать все типы отношений в любом направлении.

В случае, если это не работает, используйте

nodeTraversal.expand(PathExpanders.allTypesAndDirections()) 
.evaluator(.....).... 

Это одна будет работать наверняка.

Смежные вопросы