在我的遍历中,我看一个属性。 但似乎所有属性都被加载,这使得Traversal变慢。 是否有办法为我不想看的属性配置延迟加载?
TraversalDescription td = Traversal.description().evaluator( Evaluators.atDepth(1) );
for ( Path p : td.traverse( myNode ) ) {
String nodeName = (String) p.endNode().getProperty("name");
// do some stuff
}
我只找到了一条线索here ......
谢谢!
===
编辑:我的目标是按名称对节点进行排序,例如电影......
答案 0 :(得分:2)
首次访问节点或关系的任何属性时,所有属性都会加载到内存中,请参阅http://docs.neo4j.org/chunked/stable/performance-guide.html#_neo4j_primitives_lifecycle。
高性能遍历的最佳实践是更改图形模型,使遍历不必在遍历时触摸属性。根据您的域名,您可以通过以下方式获取使用更详细的关系类型或在Neo4j 2.0中使用标签。
您的代码段使用已弃用的遍历,您应该迁移代码以使用http://docs.neo4j.org/chunked/stable/tutorial-traversal-java-api.html中记录的遍历API。