我正在tutorials-java-embedded-index浏览neo4j文档。它描述了参考节点的概念。创建用户引用节点usersReferenceNode
,用于连接在DB中创建的所有用户节点。
这个参考节点的用途是什么?当我尝试使用graphDb.getReferenceNode()
时,它显示为已弃用的方法。
那么是否需要创建参考节点?如果是,那么使用这样的参考节点是什么以及如何使用?
感谢。
答案 0 :(得分:8)
由于系统的设计,不推荐使用参考节点的概念。索引应该用于检索某些类型的节点等。因此,您可以拥有一个名为Animal
的索引和一个名为Bird
的索引,这些索引可以存储这些“类型”的节点。
删除引用节点的一个原因是密集节点问题,如果您无法将所有内容存储在Neo4j
的RAM中,则会导致问题。这是您拥有一个具有许多关系的节点的地方。经过某一点(取决于系统,但通常是数十万)根据关系类型查找节点。
答案 1 :(得分:2)
我可以看到参考节点的一个用例是删除特定节点。例如,请考虑以下情况:
> I have two types of nodes, say ANIMAL and BIRD
> I have a reference node `animalsReference` linked to all ANIMAL nodes and
> I have a reference node `birdsReference` linked to all BIRD nodes
现在假设我要删除所有BIRD节点。在这里,我可以使用'birdsReference'获取所有BIRD类型节点并将其全部删除。
如果不推荐使用graphDb.getReferenceNode()
,我们如何完成此类任务(删除某些节点)?
我也可以看到graphDb.getAllNodes()
已被弃用。那么在graphDB
中检索所有节点的方法是什么?