每个之间的 NEXT 关系可能就足够了,因为传入的 NEXT 可以被视为“前一个”。
而且我认为你应该索引你的颜色,然后从第一个节点(在本例中为“蓝色”)开始遍历,并有一个像这样的遍历器:
字符串 [] 颜色 = 新字符串 [] { "蓝色", "红色", "黄色" };
节点开始 = db.index().forNodes("colors").get("color", colors[0]).getSingle();
Traversal.description().uniqueness(Uniqueness.RELATIONSHIP_GLOBAL).breadthFirst().relationships(Types.NEXT, Direction.OUTGOING).evaluator(new Evaluator()
{
@覆盖
公共评估评估(路径路径)
{
String currentColor = (String) path.endNode().getProperty("color");
boolean endOfTheLine = path.length()+1 >= colors.length;
返回 currentColor.equals( 颜色[path.length()] ) ?
Evaluation.of(endOfTheLine, !endOfTheLine) : Evaluation.EXCLUDE_AND_PRUNE;
}
}).traverse(开始)
我刚刚破解了你的域,那个遍历器运行得很好!