我不知道,如何在 Java 中将以下密码查询构建为 TraversalDescription:
START container=node(startContainerId), condition=node(startConditionId) MATCH container-[:CONTAINS*]->items-[*]->condition WHERE items.type! = 'instance' RETURN items
我只能实现第一部分,在给定的“容器”中获取所有“项目”:
TraversalDescription td = Traversal.description().depthFirst()
.relationships(Neo4JRelTypes.CONTAINS, Direction.OUTGOING).evaluator(new Evaluator() {
@Override
public Evaluation evaluate(Path path) {
if (path.endNode().getProperty("type").equals("instance")) {
return Evaluation.INCLUDE_AND_CONTINUE;
} else {
return Evaluation.EXCLUDE_AND_CONTINUE;
}
}
});
但是,如何使用与特定节点匹配的传出关系过滤这些“项目”?我想测试这个密码查询和类似的 TraversalDescription 之间的性能。
感谢您的帮助。最好的问候, 马克斯