根据Neo4j documentation,“参考节点概念已经过时 - 索引是获取图表中入口点的规范方法。”。
但是,如果我使用GlobalGraphOperations.getAllNodes(),我仍然会返回一个ID为0的节点,我没有创建该节点,并且该节点具有参考节点的所有外观。
我正在尝试实现方法getNode(String uuid)
public Node getNode(String uuid)
{
GlobalGraphOperations globalGraphOperations = GlobalGraphOperations.at(graphDb);
for(Node tmpNode : globalGraphOperations.getAllNodes())
{
if(tmpNode.equals(graphDb.getReferenceNode()))
{ continue;}
String tmpNodeUuid = (String)tmpNode.getProperty("uuid");
if (tmpNodeUuid.equals(uuid))
{
return tmpNode;
}
}
return null;
}
为什么getAllNodes返回一个引用节点? 如何在不使用弃用函数getReferenceNode()的情况下以编程方式实现getNode()?
答案 0 :(得分:0)
参考节点概念确实已弃用,将使用Neo4j 2.0版删除。在1.x中,概念仍然存在,并且在最初创建数据库时创建引用节点。如果您不需要它,则可以删除引用节点。随着整个图形的遍历,图形的增长速度会变慢。您应该为UUID属性创建一个索引,并使用它来查找图中的节点,这要快得多。除了作为“在图表中掌握入口点的规范方式”之外: - )