2011-10-17 7 views
0

どのように私は指定されたトラバーサルにフィルタを追加することができます使用してフィルタ

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

は、だから、唯一のプロパティName == Johnを持つノードが結果になりますか?

答えて

0
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); 
+0

getProperty()は非常に遅いです。他の何かを使うことはできますか?ありがとう! – Evgenii

関連する問題