是否仍在使用或弃用neo4j中的参考节点的概念?

时间:2013-02-26 12:01:35

标签: java neo4j deprecated embedded-database

我正在tutorials-java-embedded-index浏览neo4j文档。它描述了参考节点的概念。创建用户引用节点usersReferenceNode,用于连接在DB中创建的所有用户节点。

这个参考节点的用途是什么?当我尝试使用graphDb.getReferenceNode()时,它显示为已弃用的方法。

那么是否需要创建参考节点?如果是,那么使用这样的参考节点是什么以及如何使用?

感谢。

2 个答案:

答案 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中检索所有节点的方法是什么?