использование фильтров в обходе neo4j - PullRequest
0 голосов
/ 18 октября 2011

Как добавить фильтр к данному обходу:

TraversalDescription td = Traversal.description()
                .breadthFirst()
                .relationships( RelTypes.KNOWS )
                .evaluator( Evaluators.excludeStartPosition()).evaluator(Evaluators.atDepth(1))

, чтобы в результате были только узлы со свойством Name == John?

1 Ответ

0 голосов
/ 18 октября 2011
Evaluator e = new Evaluator() {

            @Override
            public Evaluation evaluate(Path arg0) {
                // TODO Auto-generated method stub
                if(arg0.endNode().getProperty("Name").equals("John")){
                    return Evaluation.INCLUDE_AND_CONTINUE;
                }else{
                    return Evaluation.EXCLUDE_AND_CONTINUE;
                }
            }
        };

        TraversalDescription td = Traversal.description()
                .breadthFirst()
                .relationships( RelTypes.KNOWS )
                .evaluator( Evaluators.excludeStartPosition()).evaluator(Evaluators.atDepth(1)).evaluator(e);

        return td.traverse(a);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...