Properties Neo4j遍历未加载所有属性

Properties Neo4j遍历未加载所有属性,properties,neo4j,traversal,Properties,Neo4j,Traversal,在遍历过程中,我查看一个属性。 但似乎所有属性都已加载,这使得遍历速度变慢。 有没有办法为我不想查看的属性配置延迟加载 TraversalDescription td = Traversal.description().evaluator( Evaluators.atDepth(1) ); for ( Path p : td.traverse( myNode ) ) { String nodeName = (String) p.endNode().getProperty("name");

在遍历过程中,我查看一个属性。 但似乎所有属性都已加载,这使得遍历速度变慢。 有没有办法为我不想查看的属性配置延迟加载

TraversalDescription td = Traversal.description().evaluator( Evaluators.atDepth(1) );
for ( Path p : td.traverse( myNode ) ) {
    String nodeName = (String) p.endNode().getProperty("name");
    // do some stuff
}
我只找到了一个线索

谢谢

===


编辑:我的目标是按名称对节点进行排序,例如电影…

首次访问节点或关系的任何属性时,所有属性都会加载到内存中,请参阅

高性能遍历的最佳实践是以一种遍历时不必接触属性的方式更改图形模型。根据您的域,您可以通过使用更详细的关系类型或使用Neo4j 2.0中的标签来实现这一点


如果您的代码段使用了不推荐的遍历,您应该迁移代码以使用遍历API,如中所述。

感谢您的回复。不幸的是,我不知道如何改变我的图形模型。我的目标是按名称对节点进行排序。例如,对电影名称进行排序。在这种情况下,电影名称不应该是类型或标签,我错了吗?我不知道您的用例,但是如果您经常需要按名称排序的电影,您可能希望使用
previous
和/或
next
关系将它们组织在一个链接列表中。最后,我迁移到2.0以享受标签。它不是100%适合我的型号,但有帮助。谢谢只有“灯光”属性才会加载到属性的第一次访问中。长字符串或数组等重属性仅在access上加载。请记住,您的查询通常在缓存中的热数据集上执行,因此不会发生额外加载。