我需要使用Java低级API在整个图中找到特定节点。我曾经使用版本1.x中的Reference节点执行此操作,但该概念已在2.0版本中删除。
我以为我可以使用标签来执行此操作:我会在创建时为此节点(并且只有此节点)分配标签。随后我将获得具有此特定标签的所有节点,该标签应返回单个匹配,即我正在寻找的特殊节点。不幸的是,我找不到使用Java API查找具有特定标签的所有节点的方法。
我能够用Cypher做到这一点,但我希望这样看起来尽可能快,因此节省查询解析,规划和执行的成本会很好。
答案 0 :(得分:5)
此方法GlobalGraphOperations.getAllNodesWithLabel(Label label)返回具有指定标签的所有节点。
答案 1 :(得分:3)
您可以使用GlobalGraphOperations.at(gdb).getAllRelationshipTypes()
获取带有标签的所有节点,gdb
是您的图表数据库。
答案 2 :(得分:3)
提供的答案为deprecated。现在使用preferred method:GraphDatabaseService.findNodes(Label label)
答案 3 :(得分:1)
GraphDatabaseService.findNodesByLabelAndProperty(Label label,String propName,String propValue)可能适合您的帐单....
或者你可以在最初创建时保存节点的id,然后你可以调用GraphDatabaseService.getNodeById(long id) - 这是迄今为止检索特定节点的最快方法。